{"product_id":"xf10-j-hook-attachment","title":"XF10 J-Hook Attachment (Pair)","description":"\u003cstyle\u003e\n\/* ============================================================\n   247 Gym Equipment — Shopify Product Description Design System\n   Use this CSS for all product page descriptions.\n   Do not modify class names or CSS variables.\n   ============================================================ *\/\n\n:root {\n  --bg:         #f9f9f9;\n  --card:       #ffffff;\n  --card-alt:   #f2f2f2;\n  --border:     #dcdcdc;\n  --accent:     #9a7209;\n  --accent-lt:  #f5e9c8;\n  --text:       #1a1a1a;\n  --muted:      #4a4a4a;\n  --faint:      #888888;\n  --green:      #2a7a48;\n  --green-bg:   #eaf5ee;\n  --red:        #b83232;\n  --red-bg:     #fdecea;\n  --blue:       #1a4a8a;\n  --blue-bg:    #eaf0fa;\n  --shadow:     rgba(0,0,0,.06);\n  --stat-num:   #c8391a;\n}\n\n* { box-sizing: border-box; margin: 0; padding: 0; }\nbody { background: var(--bg); color: var(--text); font-family: 'Barlow', sans-serif; font-size: 16px; line-height: 1.65; }\n.pd { max-width: 900px; margin: 0 auto; padding: 36px 24px 80px; }\n\n\/* ── Badges ── *\/\n.badge-row { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }\n.badge { display: inline-flex; align-items: center; gap: 6px; font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; padding: 5px 12px; border-radius: 3px; }\n.b-green { background: var(--green-bg); color: var(--green); border: 1px solid var(--green); }\n.b-gold  { background: var(--accent-lt); color: var(--accent); border: 1px solid var(--accent); }\n.b-grey  { background: var(--card-alt); color: var(--muted); border: 1px solid var(--border); }\n.b-blue  { background: var(--blue-bg); color: var(--blue); border: 1px solid var(--blue); }\n.dot { width: 6px; height: 6px; border-radius: 50%; background: var(--green); display: inline-block; animation: blink 1.8s infinite; }\n@keyframes blink { 0%,100%{opacity:1} 50%{opacity:.25} }\n\n\/* ── Headings ── *\/\n.pd-h1 { font-family: 'Barlow Condensed', sans-serif; font-weight: 900; font-size: 32px; text-transform: uppercase; letter-spacing: .02em; color: var(--text); line-height: 1.1; margin-bottom: 4px; }\n.pd-h1 .sub { color: var(--accent); font-size: 19px; display: block; margin-top: 5px; font-weight: 700; }\n.lbl { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--accent); margin-bottom: 8px; display: block; }\nh2.stitle { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 23px; letter-spacing: .02em; text-transform: uppercase; color: var(--text); margin-bottom: 16px; line-height: 1.1; }\n\n\/* ── Intro block ── *\/\n.pd-intro { border-left: 4px solid var(--accent); background: var(--accent-lt); border-radius: 0 6px 6px 0; padding: 16px 20px; margin: 18px 0 28px; }\n.pd-intro p { font-size: 15.5px; color: var(--muted); line-height: 1.75; margin-bottom: 10px; }\n.pd-intro p:last-child { margin-bottom: 0; }\n.pd-intro p strong { color: var(--text); }\n\n\/* ── Stat cards ── *\/\n.stats { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin-bottom: 28px; }\n@media(max-width:600px){ .stats { grid-template-columns: repeat(2,1fr); } }\n.stat { background: var(--card); border: 1px solid var(--border); border-radius: 8px; padding: 16px 12px; text-align: center; box-shadow: 0 1px 4px var(--shadow); transition: border-color .2s; }\n.stat:hover { border-color: var(--stat-num); }\n.stat-n { font-family: 'Barlow Condensed', sans-serif; font-weight: 900; font-size: 26px; color: var(--stat-num); line-height: 1; display: block; }\n.stat-u { font-size: 11px; color: var(--stat-num); font-weight: 600; }\n.stat-l { font-size: 10px; color: var(--faint); margin-top: 5px; display: block; text-transform: uppercase; letter-spacing: .05em; font-family: 'Barlow Condensed', sans-serif; }\n\n\/* ── Highlight box ── *\/\n.hi-box { background: var(--card); border: 1px solid var(--border); border-left: 4px solid var(--accent); border-radius: 0 6px 6px 0; padding: 16px 20px; margin: 22px 0; font-size: 15px; color: var(--muted); line-height: 1.7; }\n.hi-box strong { color: var(--text); }\n\n\/* ── Three-column feature cards ── *\/\n.three-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin-bottom: 28px; }\n@media(max-width:540px){ .three-grid { grid-template-columns: 1fr; } }\n.three-card { background: var(--card); border: 1px solid var(--border); border-radius: 8px; padding: 20px 16px; text-align: center; box-shadow: 0 1px 3px var(--shadow); transition: border-color .2s; }\n.three-card:hover { border-color: var(--accent); }\n.tc-num { font-family: 'Barlow Condensed', sans-serif; font-weight: 900; font-size: 42px; color: var(--accent); line-height: 1; display: block; }\n.tc-title { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 15px; text-transform: uppercase; letter-spacing: .05em; color: var(--text); display: block; margin: 6px 0 8px; }\n.tc-desc { font-size: 12px; color: var(--muted); line-height: 1.5; }\n\n\/* ── Pulley \/ blue info box ── *\/\n.pulley-box { background: var(--blue-bg); border: 2px solid var(--blue); border-radius: 10px; padding: 20px 24px; margin-bottom: 28px; }\n.pulley-box h3 { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 14px; color: var(--blue); text-transform: uppercase; letter-spacing: .05em; margin-bottom: 10px; }\n.pulley-box p { font-size: 14px; color: var(--muted); line-height: 1.7; margin-bottom: 10px; }\n.pulley-box p:last-child { margin-bottom: 0; }\n.pulley-box strong { color: var(--text); }\n.pulley-specs { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 14px; }\n@media(max-width:480px){ .pulley-specs { grid-template-columns: 1fr; } }\n.pulley-spec { background: var(--card); border: 1px solid rgba(26,74,138,.2); border-radius: 6px; padding: 11px 13px; }\n.pulley-spec strong { display: block; font-family: 'Barlow Condensed', sans-serif; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: var(--blue); margin-bottom: 3px; }\n.pulley-spec span { font-size: 13px; color: var(--muted); line-height: 1.5; }\n\n\/* ── Chin-up \/ green checklist box ── *\/\n.chinup-box { background: var(--green-bg); border: 2px solid var(--green); border-radius: 10px; padding: 18px 22px; margin-bottom: 28px; }\n.chinup-box h3 { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 14px; color: var(--green); text-transform: uppercase; letter-spacing: .05em; margin-bottom: 10px; }\n.chinup-box ul { list-style: none; display: flex; flex-direction: column; gap: 6px; }\n.chinup-box ul li { font-size: 13px; color: var(--muted); display: flex; gap: 8px; align-items: flex-start; line-height: 1.5; }\n.chinup-box ul li::before { content: '✓'; color: var(--green); font-weight: 800; flex-shrink: 0; }\n.chinup-box ul li strong { color: var(--text); }\n\n\/* ── Spec checklist (2-col) ── *\/\n.spec-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 28px; }\n@media(max-width:520px){ .spec-cols { grid-template-columns: 1fr; } }\n.spec-item { background: var(--card); border: 1px solid var(--border); border-radius: 6px; padding: 11px 15px; display: flex; gap: 10px; align-items: flex-start; }\n.spec-item::before { content: '✔'; color: var(--accent); font-size: 13px; font-weight: 700; flex-shrink: 0; margin-top: 2px; }\n.spec-item-text { font-size: 13.5px; color: var(--muted); line-height: 1.45; }\n.spec-item-text strong { color: var(--text); display: block; font-size: 13px; margin-bottom: 1px; }\n\n\/* ── Attachments \/ inclusions grid ── *\/\n.att-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 28px; }\n@media(max-width:500px){ .att-grid { grid-template-columns: 1fr; } }\n.att-item { background: var(--card); border: 1px solid var(--border); border-radius: 6px; padding: 10px 14px; display: flex; gap: 10px; align-items: flex-start; }\n.att-icon { font-size: 16px; flex-shrink: 0; margin-top: 2px; }\n.att-item strong { display: block; font-size: 13px; color: var(--text); margin-bottom: 2px; }\n.att-item span { font-size: 12px; color: var(--muted); line-height: 1.3; }\n\n\/* ── Optional upgrades grid ── *\/\n.opt-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin-bottom: 28px; }\n@media(max-width:560px){ .opt-grid { grid-template-columns: 1fr 1fr; } }\n.opt-item { background: var(--card); border: 1px solid var(--border); border-radius: 6px; padding: 10px 12px; font-size: 13px; color: var(--muted); display: flex; gap: 8px; align-items: center; }\n.opt-item::before { content: '+'; color: var(--accent); font-weight: 800; flex-shrink: 0; font-size: 14px; }\n\n\/* ── Exercise library ── *\/\n.ex-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 28px; }\n@media(max-width:540px){ .ex-grid { grid-template-columns: 1fr; } }\n.ex-card { background: var(--card); border: 1px solid var(--border); border-radius: 8px; padding: 15px 17px; }\n.ex-card h3 { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 13px; text-transform: uppercase; letter-spacing: .06em; color: var(--accent); margin-bottom: 10px; border-bottom: 1px solid var(--border); padding-bottom: 7px; }\n.ex-list { list-style: none; }\n.ex-list li { font-size: 13px; color: var(--muted); padding: 5px 0; border-bottom: 1px solid var(--border); display: flex; gap: 8px; align-items: flex-start; }\n.ex-list li:last-child { border-bottom: none; }\n.ex-list li::before { content: '→'; color: var(--accent); font-weight: 700; flex-shrink: 0; }\n\n\/* ── Specifications table ── *\/\n.sp-table { width: 100%; border-collapse: collapse; font-size: 14px; margin-bottom: 28px; }\n.sp-table tr { border-bottom: 1px solid var(--border); }\n.sp-table tr:last-child { border-bottom: none; }\n.sp-table td { padding: 11px 16px; vertical-align: top; }\n.sp-table td:first-child { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 13px; text-transform: uppercase; letter-spacing: .06em; color: var(--accent); width: 46%; white-space: nowrap; background: var(--card-alt); }\n.sp-table td:last-child { color: var(--muted); background: var(--card); }\n\n\/* ── Ratings \/ capacity table ── *\/\n.rat-table { width: 100%; border-collapse: collapse; font-size: 14px; margin-bottom: 28px; }\n.rat-table th { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 12px; text-transform: uppercase; letter-spacing: .05em; padding: 10px 16px; text-align: left; background: var(--card-alt); color: var(--text); border-bottom: 2px solid var(--border); }\n.rat-table td { padding: 10px 16px; border-bottom: 1px solid var(--border); color: var(--muted); background: var(--card); }\n.rat-table tr:nth-child(even) td { background: var(--card-alt); }\n.rat-table .val { color: var(--text); font-weight: 700; }\n\n\/* ── Pros and cons ── *\/\n.pros-cons { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 28px; }\n@media(max-width:540px){ .pros-cons { grid-template-columns: 1fr; } }\n.pc-card { background: var(--card); border: 1px solid var(--border); border-radius: 8px; padding: 16px 18px; }\n.pc-title { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 15px; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 12px; padding-bottom: 8px; border-bottom: 2px solid var(--border); }\n.pc-title.pro { color: var(--green); border-color: var(--green); }\n.pc-title.con { color: var(--red); border-color: var(--red); }\n.pc-list { list-style: none; display: flex; flex-direction: column; gap: 8px; }\n.pc-list li { font-size: 13px; color: var(--muted); display: flex; gap: 8px; align-items: flex-start; line-height: 1.4; }\n.pc-list.pros li::before { content: '✓'; color: var(--green); font-weight: 700; flex-shrink: 0; }\n.pc-list.cons li::before { content: '✗'; color: var(--red); font-weight: 700; flex-shrink: 0; }\n\n\/* ── Who is it for list ── *\/\n.who-list { list-style: none; display: flex; flex-direction: column; gap: 8px; margin-bottom: 28px; }\n.who-list li { display: flex; align-items: flex-start; gap: 12px; background: var(--card); border: 1px solid var(--border); border-radius: 6px; padding: 11px 15px; font-size: 14px; color: var(--muted); line-height: 1.5; }\n.who-list li::before { content: '✓'; color: var(--green); font-weight: 700; flex-shrink: 0; font-size: 15px; }\n.who-list li strong { color: var(--text); }\n\n\/* ── Review card ── *\/\n.review-card { background: var(--card); border: 1px solid var(--border); border-radius: 8px; padding: 18px 20px; margin-bottom: 28px; }\n.review-stars { color: #f5c842; font-size: 18px; margin-bottom: 8px; }\n.review-text { font-size: 14px; color: var(--muted); line-height: 1.6; font-style: italic; margin-bottom: 10px; }\n.review-author { font-size: 13px; font-weight: 700; color: var(--text); }\n.review-loc { font-size: 12px; color: var(--faint); }\n\n\/* ── Note box ── *\/\n.note-box { background: var(--card); border: 1px solid var(--border); border-radius: 6px; padding: 12px 16px; font-size: 13px; color: var(--muted); margin-bottom: 28px; }\n.note-box strong { color: var(--text); }\n\n\/* ── Showroom box ── *\/\n.showroom-box { background: var(--card); border: 1px solid var(--border); border-radius: 8px; padding: 20px 24px; margin-bottom: 28px; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px; }\n@media(max-width:600px){ .showroom-box { grid-template-columns: 1fr; } }\n.sr-item { display: flex; gap: 12px; align-items: flex-start; }\n.sr-icon { font-size: 22px; flex-shrink: 0; margin-top: 2px; }\n.sr-text strong { display: block; font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 13px; text-transform: uppercase; letter-spacing: .04em; color: var(--text); margin-bottom: 3px; }\n.sr-text span { font-size: 12px; color: var(--muted); line-height: 1.4; display: block; }\n.map-btn { display: inline-flex; align-items: center; gap: 6px; margin-top: 8px; padding: 8px 14px; background: var(--text); color: #fff; font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; text-decoration: none; border-radius: 4px; transition: background .2s; }\n.map-btn:hover { background: var(--accent); }\n\n\/* ── Delivery cards ── *\/\n.del-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin-bottom: 28px; }\n@media(max-width:560px){ .del-grid { grid-template-columns: 1fr; } }\n.del-card { background: var(--card); border: 1px solid var(--border); border-radius: 8px; padding: 16px; text-align: center; box-shadow: 0 1px 3px var(--shadow); }\n.del-icon { font-size: 24px; display: block; margin-bottom: 6px; }\n.del-title { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 13px; text-transform: uppercase; letter-spacing: .04em; color: var(--text); display: block; margin-bottom: 4px; }\n.del-text { font-size: 12px; color: var(--muted); line-height: 1.5; }\n\n\/* ── Related products \/ internal links ── *\/\n.rel-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; margin-bottom: 28px; }\n@media(max-width:480px){ .rel-grid { grid-template-columns: 1fr; } }\n.rel-link { display: flex; align-items: center; gap: 10px; background: var(--card); border: 1px solid var(--border); border-radius: 6px; padding: 12px 15px; text-decoration: none; color: var(--text); font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 14px; text-transform: uppercase; letter-spacing: .03em; transition: border-color .2s, color .2s; }\n.rel-link:hover { border-color: var(--accent); color: var(--accent); }\n.rel-link .arr { margin-left: auto; color: var(--accent); }\n\n\/* ── FAQ accordion ── *\/\n.faq-section { margin-bottom: 32px; }\n.faq-item { border-bottom: 1px solid var(--border); }\n.faq-item:first-child { border-top: 1px solid var(--border); }\n.faq-item input[type=\"checkbox\"] { display: none; }\n.faq-q { font-family: 'Barlow', sans-serif; font-size: 15px; font-weight: 600; color: var(--text); cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 14px; user-select: none; padding: 15px 0; }\n.faq-q:hover { color: var(--accent); }\n.faq-q::after { content: '+'; font-size: 21px; color: var(--accent); flex-shrink: 0; transition: transform .25s; font-weight: 300; }\n.faq-item input:checked ~ .faq-q::after { transform: rotate(45deg); }\n.faq-a { font-size: 14px; color: var(--muted); line-height: 1.75; max-height: 0; overflow: hidden; transition: max-height .4s ease, padding .35s ease; }\n.faq-item input:checked ~ .faq-a { max-height: 600px; padding-bottom: 15px; }\n.faq-a strong { color: var(--text); }\n.faq-a a { color: var(--accent); font-weight: 600; text-decoration: none; }\n\n\/* ── Section divider ── *\/\n.div { height: 1px; background: linear-gradient(90deg, var(--accent) 0%, transparent 70%); margin: 24px 0; opacity: .35; }\n\n\/* ── Geo delivery footer ── *\/\n.geo { background: var(--card-alt); border: 1px solid var(--border); border-radius: 6px; padding: 14px 18px; font-size: 13px; color: var(--faint); line-height: 1.9; }\n.geo strong { color: var(--muted); }\n\n\/* ── Video embed ── *\/\n.vid-wrap { margin-bottom: 24px; border-radius: 10px; overflow: hidden; box-shadow: 0 2px 12px var(--shadow); border: 1px solid var(--border); }\n.vid-wrap iframe { display: block; width: 100%; height: 420px; border: 0; }\n@media(max-width:600px){ .vid-wrap iframe { height: 240px; } }\n\n\/* ── Page-level overrides (pending master CSS update) ── *\/\n.pulley-spec strong { font-family: 'Barlow'; font-size: 13px; font-weight: 700; letter-spacing: .03em; margin-bottom: 6px; }\n.who-list li strong { display: block; margin-bottom: 2px; }\n.who-list li span { display: block; font-weight: 400; color: var(--muted); }\n\u003c\/style\u003e\n\n\u003clink rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\"\u003e\n\u003clink rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin\u003e\n\u003clink href=\"https:\/\/fonts.googleapis.com\/css2?family=Barlow+Condensed:wght@700;800;900\u0026amp;family=Barlow:wght@400;500;600;700\u0026amp;display=swap\" rel=\"stylesheet\"\u003e\n\n\u003c!-- LLM CONTEXT: XF10 J-Hook Attachment | 24\/7 Gym Equipment | 247gymequipment.com.au\n     Category: Functional Trainer Attachments \/ Rack Accessories\n     Primary use: Home gym, PT studio, and commercial functional trainer setups using a 70x50mm frame\n     Key specs: Sold as a pair (left and right), steel construction, black powder coat finish, quick-release mounting pin, compatible with 70x50mm frame tube, designed for XF10 functional trainer\n     Includes: 1x left J-hook, 1x right J-hook, 2x mounting pins (weight capacity, product weight, and full box contents to confirm)\n     In stock: Australian stock | Ships Australia-wide\n     Showroom: 10\/202 Milperra Road, Milperra NSW 2214 | Mon–Fri 9am–5pm\n     Phone: 1300 247 888 | sales@247gymequipment.com.au\n--\u003e\n\n\u003cdiv class=\"pd\"\u003e\n\n  \u003cdiv class=\"badge-row\"\u003e\n    \u003cspan class=\"badge b-grey\"\u003eSteel Construction\u003c\/span\u003e\n    \u003cspan class=\"badge b-gold\"\u003eSold As A Pair\u003c\/span\u003e\n    \u003cspan class=\"badge b-blue\"\u003e70x50mm Frame\u003c\/span\u003e\n    \u003cspan class=\"badge b-green\"\u003eAustralian Stock\u003c\/span\u003e\n  \u003c\/div\u003e\n\n  \u003ch1 class=\"pd-h1\"\u003eXF10 J-Hook Attachment\u003cspan class=\"sub\"\u003eHeavy-Duty Steel J-Hooks for 70x50mm Frame Functional Trainers\u003c\/span\u003e\n\u003c\/h1\u003e\n\n  \u003cdiv class=\"pd-intro\"\u003e\n    \u003cp\u003eThe \u003cstrong\u003eXF10 J-hook attachment\u003c\/strong\u003e is a pair of heavy-duty steel J-hooks designed to bolt onto the 70x50mm frame of your XF10 functional trainer, giving you a solid, purpose-built place to rack a barbell without needing a separate stand or rack. If you are running squats, presses, or barbell-based accessory work through your functional trainer, this attachment turns the upright into a usable barbell station.\u003c\/p\u003e\n    \u003cp\u003eEach hook is finished in a durable black powder coat to match the rest of your XF10 frame, and mounts using a quick-release pin that locates directly into the frame's mounting holes. This is a genuine J-hook attachment for XF10 functional trainer setups, not a generic clamp-on accessory, so fitment onto a 70x50mm frame is straightforward.\u003c\/p\u003e\n    \u003cp\u003eRead on for full specifications, what is included in the box, and honest pros and cons before you buy.\u003c\/p\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"stats\"\u003e\n    \u003cdiv class=\"stat\"\u003e\n\u003cspan class=\"stat-n\"\u003e70x50\u003c\/span\u003e\u003cspan class=\"stat-u\"\u003eMM\u003c\/span\u003e\u003cspan class=\"stat-l\"\u003eFrame Compatibility\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"stat\"\u003e\n\u003cspan class=\"stat-n\"\u003e2\u003c\/span\u003e\u003cspan class=\"stat-u\"\u003eUNITS\u003c\/span\u003e\u003cspan class=\"stat-l\"\u003eSold As A Pair\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"stat\"\u003e\n\u003cspan class=\"stat-n\"\u003e1\u003c\/span\u003e\u003cspan class=\"stat-u\"\u003ePIN\u003c\/span\u003e\u003cspan class=\"stat-l\"\u003eMounting Pin Per Hook\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"stat\"\u003e\n\u003cspan class=\"stat-n\"\u003e100\u003c\/span\u003e\u003cspan class=\"stat-u\"\u003e% STEEL\u003c\/span\u003e\u003cspan class=\"stat-l\"\u003eFrame Material\u003c\/span\u003e\n\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"div\"\u003e\u003c\/div\u003e\n\n  \u003cspan class=\"lbl\"\u003eWhat's Included\u003c\/span\u003e\n  \u003ch2 class=\"stitle\"\u003eWhat Comes With Your J-Hook Attachment\u003c\/h2\u003e\n  \u003cdiv class=\"att-grid\"\u003e\n    \u003cdiv class=\"att-item\"\u003e\n\u003cspan class=\"att-icon\"\u003e🔩\u003c\/span\u003e\u003cdiv\u003e\n\u003cstrong\u003eLeft-Hand J-Hook\u003c\/strong\u003e\u003cspan\u003eSteel J-hook bracket for the left upright, finished in black powder coat.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"att-item\"\u003e\n\u003cspan class=\"att-icon\"\u003e🔩\u003c\/span\u003e\u003cdiv\u003e\n\u003cstrong\u003eRight-Hand J-Hook\u003c\/strong\u003e\u003cspan\u003eSteel J-hook bracket for the right upright, finished in black powder coat.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"att-item\"\u003e\n\u003cspan class=\"att-icon\"\u003e📌\u003c\/span\u003e\u003cdiv\u003e\n\u003cstrong\u003eMounting Pins (x2)\u003c\/strong\u003e\u003cspan\u003eQuick-release steel pins for locating each hook into the frame.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"att-item\"\u003e\n\u003cspan class=\"att-icon\"\u003e📄\u003c\/span\u003e\u003cdiv\u003e\n\u003cstrong\u003eFitting Hardware\u003c\/strong\u003e\u003cspan\u003eExact hardware count and fitting instructions to confirm.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cspan class=\"lbl\"\u003eKey Features\u003c\/span\u003e\n  \u003ch2 class=\"stitle\"\u003eWhy Choose This J-Hook Attachment\u003c\/h2\u003e\n  \u003cdiv class=\"spec-cols\"\u003e\n    \u003cdiv class=\"spec-item\"\u003e\u003cdiv class=\"spec-item-text\"\u003e\n\u003cstrong\u003eBuilt For 70x50mm Frames\u003c\/strong\u003eDesigned to fit directly onto a 70x50mm frame tube, the size used on the XF10 functional trainer.\u003c\/div\u003e\u003c\/div\u003e\n    \u003cdiv class=\"spec-item\"\u003e\u003cdiv class=\"spec-item-text\"\u003e\n\u003cstrong\u003eQuick-Release Mounting Pin\u003c\/strong\u003eEach hook locates into the frame using a steel mounting pin for fast, tool-free fitting and removal.\u003c\/div\u003e\u003c\/div\u003e\n    \u003cdiv class=\"spec-item\"\u003e\u003cdiv class=\"spec-item-text\"\u003e\n\u003cstrong\u003eBlack Powder Coat Finish\u003c\/strong\u003eMatches the standard black finish of the XF10 frame for a clean, factory-look install.\u003c\/div\u003e\u003c\/div\u003e\n    \u003cdiv class=\"spec-item\"\u003e\u003cdiv class=\"spec-item-text\"\u003e\n\u003cstrong\u003eSold As A Matched Pair\u003c\/strong\u003eOne left-hand and one right-hand hook, so you get a complete barbell rest in a single purchase.\u003c\/div\u003e\u003c\/div\u003e\n    \u003cdiv class=\"spec-item\"\u003e\u003cdiv class=\"spec-item-text\"\u003e\n\u003cstrong\u003ePurpose-Built Bracket Shape\u003c\/strong\u003eThe deep hook profile is shaped to cradle a barbell securely rather than relying on a flat ledge.\u003c\/div\u003e\u003c\/div\u003e\n    \u003cdiv class=\"spec-item\"\u003e\u003cdiv class=\"spec-item-text\"\u003e\n\u003cstrong\u003eTurns Your Frame Into A Rack Point\u003c\/strong\u003eAdds a genuine barbell racking position to your functional trainer without buying a separate rack.\u003c\/div\u003e\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"hi-box\"\u003e\n    \u003cstrong\u003eBuild quality:\u003c\/strong\u003e the XF10 J-hook attachment is fabricated from steel plate and tube, finished in a black powder coat to resist scuffing and match the rest of the frame. The hook profile is welded rather than bolted together for a rigid, single-piece bracket. Steel gauge, weld specification, and load rating are to confirm and will be updated once verified against supplier documentation.\n  \u003c\/div\u003e\n\n  \u003cspan class=\"lbl\"\u003eTechnical Specifications\u003c\/span\u003e\n  \u003ch2 class=\"stitle\"\u003eXF10 J-Hook Attachment Specifications\u003c\/h2\u003e\n  \u003ctable class=\"sp-table\"\u003e\n    \u003ctr\u003e\n\u003ctd\u003eCompatible Frame Size\u003c\/td\u003e\n\u003ctd\u003e70mm x 50mm rectangular frame tube\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eCompatible With\u003c\/td\u003e\n\u003ctd\u003eXF10 functional trainer (confirm compatibility with other frame sizes before purchase)\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eQuantity\u003c\/td\u003e\n\u003ctd\u003eSold as a pair (1x left, 1x right)\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eMaterial\u003c\/td\u003e\n\u003ctd\u003eSteel\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eFinish\u003c\/td\u003e\n\u003ctd\u003eBlack powder coat\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eMounting Method\u003c\/td\u003e\n\u003ctd\u003eQuick-release steel mounting pin per hook\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eWeight Capacity\u003c\/td\u003e\n\u003ctd\u003eTo confirm\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eProduct Weight (Pair)\u003c\/td\u003e\n\u003ctd\u003eTo confirm\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eHook Dimensions\u003c\/td\u003e\n\u003ctd\u003eTo confirm\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eWarranty\u003c\/td\u003e\n\u003ctd\u003eTo confirm\u003c\/td\u003e\n\u003c\/tr\u003e\n  \u003c\/table\u003e\n\n  \u003cspan class=\"lbl\"\u003ePros And Cons\u003c\/span\u003e\n  \u003ch2 class=\"stitle\"\u003eIs The XF10 J-Hook Attachment Right For You\u003c\/h2\u003e\n  \u003cdiv class=\"pros-cons\"\u003e\n    \u003cdiv class=\"pc-card\"\u003e\n      \u003cdiv class=\"pc-title pro\"\u003ePros\u003c\/div\u003e\n      \u003cul class=\"pc-list pros\"\u003e\n        \u003cli\u003eAdds a proper barbell racking point to an XF10 functional trainer\u003c\/li\u003e\n        \u003cli\u003eQuick-release pin makes fitting and removal simple\u003c\/li\u003e\n        \u003cli\u003eBlack powder coat finish matches the standard frame colour\u003c\/li\u003e\n        \u003cli\u003eSold as a matched pair, ready to fit both sides\u003c\/li\u003e\n        \u003cli\u003eCompact footprint compared with a standalone rack\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"pc-card\"\u003e\n      \u003cdiv class=\"pc-title con\"\u003eCons\u003c\/div\u003e\n      \u003cul class=\"pc-list cons\"\u003e\n        \u003cli\u003eOnly suits frames built to the 70x50mm tube size\u003c\/li\u003e\n        \u003cli\u003eWeight capacity is not yet confirmed, so heavy loaders should check with our team first\u003c\/li\u003e\n        \u003cli\u003eNot a substitute for a dedicated power rack if you need safety arms or spotter bars\u003c\/li\u003e\n        \u003cli\u003eExact fitting hardware and instructions are to confirm at time of writing\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cspan class=\"lbl\"\u003eWho Is This For\u003c\/span\u003e\n  \u003ch2 class=\"stitle\"\u003eWho Should Buy The XF10 J-Hook Attachment\u003c\/h2\u003e\n  \u003cul class=\"who-list\"\u003e\n    \u003cli\u003e\u003cdiv\u003e\n\u003cstrong\u003eXF10 owners who want barbell training options\u003c\/strong\u003e\u003cspan\u003eHome gym owners with an XF10 functional trainer who want to add squats and presses without buying a separate rack.\u003c\/span\u003e\n\u003c\/div\u003e\u003c\/li\u003e\n    \u003cli\u003e\u003cdiv\u003e\n\u003cstrong\u003ePT studios running mixed cable and free-weight sessions\u003c\/strong\u003e\u003cspan\u003eStudios that already use an XF10 for cable work and want a quick way to rack a barbell for the same client.\u003c\/span\u003e\n\u003c\/div\u003e\u003c\/li\u003e\n    \u003cli\u003e\u003cdiv\u003e\n\u003cstrong\u003eGarage gym owners short on floor space\u003c\/strong\u003e\u003cspan\u003eAnyone wanting to add a barbell rest without dedicating extra floor space to a standalone rack.\u003c\/span\u003e\n\u003c\/div\u003e\u003c\/li\u003e\n    \u003cli\u003e\u003cdiv\u003e\n\u003cstrong\u003eCommercial gyms upgrading existing XF10 units\u003c\/strong\u003e\u003cspan\u003eFacilities that already own XF10 frames and want to extend their functionality with genuine attachments.\u003c\/span\u003e\n\u003c\/div\u003e\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n  \u003cp style=\"font-size:14.5px; color:var(--muted); line-height:1.7; margin-bottom:28px;\"\u003e\u003cstrong style=\"color:var(--text);\"\u003eWho should not buy:\u003c\/strong\u003e if your frame is not built to the 70x50mm tube size, this attachment will not fit and a compatible bracket should be sourced instead. If you need a full standalone power rack with safety arms and spotter bars, a dedicated rack is a better starting point than a J-hook attachment alone.\u003c\/p\u003e\n\n  \u003cdiv class=\"hi-box\"\u003e\n    \u003cstrong\u003eThe problem this solves:\u003c\/strong\u003e functional trainers are excellent for cable-based training, but most do not come with a built-in place to rack a barbell. Buying a full separate power rack for occasional barbell work takes up floor space and adds cost. The XF10 J-hook attachment bolts directly onto your existing 70x50mm frame, giving you a genuine barbell rest without the footprint or expense of a second rack.\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"showroom-box\"\u003e\n    \u003cdiv class=\"sr-item\"\u003e\n\u003cspan class=\"sr-icon\"\u003e📍\u003c\/span\u003e\u003cdiv class=\"sr-text\"\u003e\n\u003cstrong\u003eVisit Us\u003c\/strong\u003e\u003cspan\u003e10\/202 Milperra Road, Milperra NSW 2214\u003c\/span\u003e\u003cspan\u003eMon–Fri 9am–5pm | Saturday by appointment only\u003c\/span\u003e\u003ca class=\"map-btn\" href=\"https:\/\/www.google.com\/maps\/dir\/?api=1\u0026amp;destination=10%2F202+Milperra+Road+Milperra+NSW+2214\" target=\"_blank\" rel=\"noopener\"\u003eGet Directions\u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"sr-item\"\u003e\n\u003cspan class=\"sr-icon\"\u003e📞\u003c\/span\u003e\u003cdiv class=\"sr-text\"\u003e\n\u003cstrong\u003eContact Us\u003c\/strong\u003e\u003cspan\u003ePhone: 1300 247 888\u003c\/span\u003e\u003cspan\u003eWhatsApp: +61 412 029 000\u003c\/span\u003e\u003cspan\u003eEmail: sales@247gymequipment.com.au\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"sr-item\"\u003e\n\u003cspan class=\"sr-icon\"\u003e🛠️\u003c\/span\u003e\u003cdiv class=\"sr-text\"\u003e\n\u003cstrong\u003eCheck Compatibility\u003c\/strong\u003e\u003cspan\u003eNot sure if your frame is 70x50mm? Contact our team before ordering to confirm fitment.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cspan class=\"lbl\"\u003eDelivery\u003c\/span\u003e\n  \u003ch2 class=\"stitle\"\u003eDelivery And Availability\u003c\/h2\u003e\n  \u003cdiv class=\"del-grid\"\u003e\n    \u003cdiv class=\"del-card\"\u003e\n\u003cspan class=\"del-icon\"\u003e🚚\u003c\/span\u003e\u003cspan class=\"del-title\"\u003eAustralia-Wide Shipping\u003c\/span\u003e\u003cspan class=\"del-text\"\u003eShips to all Australian states via road freight or parcel courier depending on order size.\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"del-card\"\u003e\n\u003cspan class=\"del-icon\"\u003e🔧\u003c\/span\u003e\u003cspan class=\"del-title\"\u003eSelf-Fit Installation\u003c\/span\u003e\u003cspan class=\"del-text\"\u003eFits using the supplied quick-release mounting pins. Professional installation availability to confirm.\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"del-card\"\u003e\n\u003cspan class=\"del-icon\"\u003e📦\u003c\/span\u003e\u003cspan class=\"del-title\"\u003eDispatch Timeframe\u003c\/span\u003e\u003cspan class=\"del-text\"\u003eCurrent stock and dispatch lead time to confirm at time of order.\u003c\/span\u003e\n\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cspan class=\"lbl\"\u003eRelated Products\u003c\/span\u003e\n  \u003ch2 class=\"stitle\"\u003eYou May Also Need\u003c\/h2\u003e\n  \u003cdiv class=\"rel-grid\"\u003e\n    \u003ca class=\"rel-link\" href=\"\/collections\/rack-machine-attachments\"\u003eRack \u0026amp; Machine Attachments \u003cspan class=\"arr\"\u003e→\u003c\/span\u003e\u003c\/a\u003e\n    \u003ca class=\"rel-link\" href=\"\/collections\/functional-trainers-smith-machines\"\u003eFunctional Trainers \u0026amp; Smith Machines \u003cspan class=\"arr\"\u003e→\u003c\/span\u003e\u003c\/a\u003e\n    \u003ca class=\"rel-link\" href=\"\/collections\/power-racks-squat-racks\"\u003ePower Racks \u0026amp; Squat Racks \u003cspan class=\"arr\"\u003e→\u003c\/span\u003e\u003c\/a\u003e\n    \u003ca class=\"rel-link\" href=\"\/collections\/dumbbells\"\u003eDumbbells \u0026amp; Weight Sets \u003cspan class=\"arr\"\u003e→\u003c\/span\u003e\u003c\/a\u003e\n  \u003c\/div\u003e\n\n  \u003cspan class=\"lbl\"\u003eFrequently Asked Questions\u003c\/span\u003e\n  \u003cdiv class=\"faq-section\"\u003e\n    \u003cdiv class=\"faq-item\"\u003e\n      \u003cinput type=\"checkbox\" id=\"f1\"\u003e\u003clabel class=\"faq-q\" for=\"f1\"\u003eIs the XF10 J-hook attachment suitable for home or commercial use?\u003cspan\u003e\u003c\/span\u003e\u003c\/label\u003e\n      \u003cdiv class=\"faq-a\"\u003eYes, the XF10 J-hook attachment is suitable for both home gym and commercial settings. It is built from steel with a black powder coat finish and is designed to bolt directly onto a 70x50mm frame, whether that frame is in a home garage gym or a commercial facility.\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"faq-item\"\u003e\n      \u003cinput type=\"checkbox\" id=\"f2\"\u003e\u003clabel class=\"faq-q\" for=\"f2\"\u003eHow much space does this attachment need?\u003cspan\u003e\u003c\/span\u003e\u003c\/label\u003e\n      \u003cdiv class=\"faq-a\"\u003eThe J-hooks mount flush against your existing XF10 frame, so they do not add meaningful floor space beyond the footprint of the frame you already own. Exact hook projection and clearance measurements are to confirm.\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"faq-item\"\u003e\n      \u003cinput type=\"checkbox\" id=\"f3\"\u003e\u003clabel class=\"faq-q\" for=\"f3\"\u003eWhat comes included with the J-hook attachment?\u003cspan\u003e\u003c\/span\u003e\u003c\/label\u003e\n      \u003cdiv class=\"faq-a\"\u003eEach order includes one left-hand J-hook, one right-hand J-hook, and two mounting pins, one for each hook. Full fitting hardware details are to confirm and will be updated as they are verified.\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"faq-item\"\u003e\n      \u003cinput type=\"checkbox\" id=\"f4\"\u003e\u003clabel class=\"faq-q\" for=\"f4\"\u003eCan it be assembled or fitted on delivery?\u003cspan\u003e\u003c\/span\u003e\u003c\/label\u003e\n      \u003cdiv class=\"faq-a\"\u003eThe attachment is designed for straightforward self-fitting using the supplied quick-release mounting pins. Availability of a professional installation service for this item is to confirm, so contact our team if you would prefer assistance.\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"faq-item\"\u003e\n      \u003cinput type=\"checkbox\" id=\"f5\"\u003e\u003clabel class=\"faq-q\" for=\"f5\"\u003eIs it available for delivery Australia-wide?\u003cspan\u003e\u003c\/span\u003e\u003c\/label\u003e\n      \u003cdiv class=\"faq-a\"\u003eYes, the XF10 J-hook attachment ships to all Australian states and territories, including Sydney, Melbourne, Brisbane, Adelaide, and regional areas.\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"faq-item\"\u003e\n      \u003cinput type=\"checkbox\" id=\"f6\"\u003e\u003clabel class=\"faq-q\" for=\"f6\"\u003eCan I see this attachment in the showroom?\u003cspan\u003e\u003c\/span\u003e\u003c\/label\u003e\n      \u003cdiv class=\"faq-a\"\u003eYou are welcome to view the J-hook attachment at our Milperra showroom, open Monday to Friday 9am to 5pm, with Saturday visits available by appointment only. Call ahead on 1300 247 888 to confirm current showroom stock.\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"faq-item\"\u003e\n      \u003cinput type=\"checkbox\" id=\"f7\"\u003e\u003clabel class=\"faq-q\" for=\"f7\"\u003eWhat is the warranty on the XF10 J-hook attachment?\u003cspan\u003e\u003c\/span\u003e\u003c\/label\u003e\n      \u003cdiv class=\"faq-a\"\u003eWarranty terms for this attachment are to confirm. Contact our team on 1300 247 888 or sales@247gymequipment.com.au for current warranty details before you order.\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"faq-item\"\u003e\n      \u003cinput type=\"checkbox\" id=\"f8\"\u003e\u003clabel class=\"faq-q\" for=\"f8\"\u003eIs this a better option than a cheaper generic J-hook?\u003cspan\u003e\u003c\/span\u003e\u003c\/label\u003e\n      \u003cdiv class=\"faq-a\"\u003eThis attachment is built specifically to fit the 70x50mm frame used on the XF10, using a steel bracket and quick-release pin rather than a universal clamp. That purpose-built fitment is generally more secure than a generic clamp-on hook, though it will only suit frames of this exact size.\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"faq-item\"\u003e\n      \u003cinput type=\"checkbox\" id=\"f9\"\u003e\u003clabel class=\"faq-q\" for=\"f9\"\u003eWhat else do I need to buy along with this attachment?\u003cspan\u003e\u003c\/span\u003e\u003c\/label\u003e\n      \u003cdiv class=\"faq-a\"\u003eMost customers pair this attachment with a barbell and weight plates, since the J-hooks themselves are a racking point rather than a complete barbell setup. Browse our barbell and weight plate ranges if you need those items as well.\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"faq-item\"\u003e\n      \u003cinput type=\"checkbox\" id=\"f10\"\u003e\u003clabel class=\"faq-q\" for=\"f10\"\u003eIs the XF10 J-hook attachment good value?\u003cspan\u003e\u003c\/span\u003e\u003c\/label\u003e\n      \u003cdiv class=\"faq-a\"\u003eFor XF10 owners who want a barbell racking point without buying a full separate power rack, this attachment is a cost-effective way to extend the use of equipment you already own.\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"faq-item\"\u003e\n      \u003cinput type=\"checkbox\" id=\"f11\"\u003e\u003clabel class=\"faq-q\" for=\"f11\"\u003eWhat frame sizes is this J-hook attachment compatible with?\u003cspan\u003e\u003c\/span\u003e\u003c\/label\u003e\n      \u003cdiv class=\"faq-a\"\u003eThis attachment is built to fit a 70mm x 50mm rectangular frame tube, the frame size used on the XF10 functional trainer. If your frame uses a different tube size, this attachment will not fit correctly.\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"faq-item\"\u003e\n      \u003cinput type=\"checkbox\" id=\"f12\"\u003e\u003clabel class=\"faq-q\" for=\"f12\"\u003eDoes this fit other functional trainer brands or models?\u003cspan\u003e\u003c\/span\u003e\u003c\/label\u003e\n      \u003cdiv class=\"faq-a\"\u003eFitment depends on frame tube size rather than brand. If another functional trainer or rack uses the same 70mm x 50mm tube dimension, this attachment may fit, but we recommend confirming with our team before ordering.\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"faq-item\"\u003e\n      \u003cinput type=\"checkbox\" id=\"f13\"\u003e\u003clabel class=\"faq-q\" for=\"f13\"\u003eHow is the J-hook attachment mounted to the frame?\u003cspan\u003e\u003c\/span\u003e\u003c\/label\u003e\n      \u003cdiv class=\"faq-a\"\u003eEach hook locates onto the frame and is secured using a steel mounting pin that inserts through the bracket and frame, allowing for quick, tool-free fitting and removal.\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"faq-item\"\u003e\n      \u003cinput type=\"checkbox\" id=\"f14\"\u003e\u003clabel class=\"faq-q\" for=\"f14\"\u003eIs this sold as a single hook or a pair?\u003cspan\u003e\u003c\/span\u003e\u003c\/label\u003e\n      \u003cdiv class=\"faq-a\"\u003eThis listing is for a matched pair, one left-hand hook and one right-hand hook, along with a mounting pin for each side.\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"geo\"\u003e\n    \u003cstrong\u003eAustralia-wide delivery:\u003c\/strong\u003e we ship the XF10 J-hook attachment to customers across Sydney, Melbourne, Brisbane, Adelaide, Canberra, Gold Coast, Newcastle, Wollongong, Hobart, and regional areas throughout Australia.\n  \u003c\/div\u003e\n\n\u003c\/div\u003e","brand":"24\/7 Gym Equipment","offers":[{"title":"Default Title","offer_id":53790905205009,"sku":"XF10-JH","price":88.0,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0756\/3201\/7681\/files\/XF10J-hook.webp?v=1784415502","url":"https:\/\/247gymequipment.com.au\/products\/xf10-j-hook-attachment","provider":"24\/7 Gym Equipment","version":"1.0","type":"link"}