{"product_id":"custom-projector-mount-builder-by-crimson-av","title":"Custom Projector Mount Builder by Crimson AV","description":"\u003cdiv class=\"esg-cav-mount-builder\"\u003e\n\u003cstyle\u003e\n.esg-cav-mount-builder{font-family:'Barlow',Arial,sans-serif;color:#0A1A3A;}\n.esg-cav-mount-builder h1,.esg-cav-mount-builder h2{display:none;}\n.esg-cav-mount-builder *{box-sizing:border-box;}\n.esg-cav-inner{max-width:1200px;margin:0 auto;padding:56px 24px;}\n.esg-cav-section{padding:56px 0;border-top:1px solid #E6E9F0;}\n.esg-cav-section:first-child{border-top:none;padding-top:0;}\n.esg-cav-section--navy{background:#0A1A3A;color:#fff;margin:0 -24px;padding:56px 24px;border-top:none;}\n.esg-cav-section--light{background:#F8F9FB;margin:0 -24px;padding:56px 24px;border-top:none;}\n.esg-cav-eyebrow{font-family:'Barlow Condensed',Arial,sans-serif;font-weight:700;font-size:13px;letter-spacing:0.12em;text-transform:uppercase;color:#3B5BDB;margin:0 0 10px;}\n.esg-cav-section--navy .esg-cav-eyebrow{color:#8FA8FF;}\n.esg-cav-h3{font-family:'Barlow Condensed',Arial,sans-serif;font-weight:700;font-size:32px;letter-spacing:0.01em;text-transform:uppercase;margin:0 0 16px;color:#0A1A3A;}\n.esg-cav-section--navy .esg-cav-h3{color:#fff;}\n.esg-cav-lede{font-size:17px;line-height:1.6;color:#3A4260;max-width:720px;margin:0 0 8px;}\n.esg-cav-section--navy .esg-cav-lede{color:#C7CEE6;}\n\n\/* ===== PDP HERO \/ BUY BOX (Section 1) ===== *\/\n.esg-cav-pdp{display:grid;grid-template-columns:1fr 460px;gap:48px;align-items:start;}\n.esg-cav-pdp__gallery{position:sticky;top:24px;}\n.esg-cav-pdp__mainimg{width:100%;aspect-ratio:1\/1;object-fit:contain;background:#F8F8F8;border:1px solid #E6E9F0;border-radius:12px;padding:24px;}\n.esg-cav-pdp__thumbs{display:flex;gap:10px;margin-top:12px;}\n.esg-cav-pdp__thumb{width:64px;height:64px;object-fit:contain;background:#F8F8F8;border:2px solid #E6E9F0;border-radius:8px;padding:6px;cursor:default;}\n.esg-cav-pdp__kicker{font-family:'Barlow Condensed',Arial,sans-serif;font-weight:700;font-size:12px;letter-spacing:0.1em;text-transform:uppercase;color:#3B5BDB;margin:0 0 8px;}\n.esg-cav-pdp__title{font-family:'Barlow Condensed',Arial,sans-serif;font-weight:700;font-size:30px;line-height:1.15;text-transform:uppercase;color:#0A1A3A;margin:0 0 12px;}\n.esg-cav-pdp__price-row{display:flex;align-items:baseline;gap:10px;margin-bottom:6px;}\n.esg-cav-pdp__price{font-family:'Barlow Condensed',Arial,sans-serif;font-weight:700;font-size:30px;color:#0A1A3A;}\n.esg-cav-pdp__price-note{font-size:13px;color:#6B7390;}\n.esg-cav-pdp__reviews{font-size:13px;color:#6B7390;margin:0 0 20px;display:flex;align-items:center;gap:6px;}\n.esg-cav-pdp__stars{color:#F5A623;letter-spacing:1px;}\n.esg-cav-pdp__desc{font-size:15px;line-height:1.65;color:#3A4260;margin:0 0 24px;}\n\n\/* Step wizard *\/\n.esg-cav-steps{display:flex;gap:12px;margin:0 0 24px;flex-wrap:wrap;}\n.esg-cav-step-pill{display:flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid #E6E9F0;border-radius:999px;background:#fff;font-family:'Barlow Condensed',Arial,sans-serif;font-weight:700;font-size:13px;letter-spacing:0.02em;text-transform:uppercase;color:#6B7390;}\n.esg-cav-step-pill__num{width:20px;height:20px;border-radius:50%;background:#E6E9F0;color:#0A1A3A;display:flex;align-items:center;justify-content:center;font-size:11px;flex-shrink:0;}\n.esg-cav-step-pill--active{border-color:#0A1A3A;color:#0A1A3A;}\n.esg-cav-step-pill--active .esg-cav-step-pill__num{background:#0A1A3A;color:#fff;}\n.esg-cav-step-pill--done .esg-cav-step-pill__num{background:#2E7D32;color:#fff;}\n\n\/* Option cards (compact, buy-box scale) *\/\n.esg-cav-option-group{margin-bottom:24px;}\n.esg-cav-option-label{font-family:'Barlow Condensed',Arial,sans-serif;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:0.05em;color:#3A4260;margin:0 0 10px;display:flex;justify-content:space-between;align-items:center;}\n.esg-cav-option-label__value{color:#6B7390;font-weight:500;text-transform:none;letter-spacing:0;font-family:'Barlow',Arial,sans-serif;font-size:13px;}\n.esg-cav-option-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;}\n.esg-cav-option-card{border:2px solid #E6E9F0;border-radius:8px;padding:12px;cursor:pointer;background:#fff;transition:border-color .15s ease;position:relative;display:flex;align-items:center;gap:10px;}\n.esg-cav-option-card:hover{border-color:#AAB6E0;}\n.esg-cav-option-card--selected{border-color:#0A1A3A;box-shadow:0 0 0 1px #0A1A3A;}\n.esg-cav-option-card__img{width:52px;height:52px;object-fit:contain;background:#F8F8F8;border:1px solid #E6E9F0;border-radius:6px;flex-shrink:0;padding:4px;}\n.esg-cav-option-card__body{flex:1;min-width:0;}\n.esg-cav-option-card__name{font-family:'Barlow Condensed',Arial,sans-serif;font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:0.01em;color:#0A1A3A;margin:0 0 2px;line-height:1.2;}\n.esg-cav-option-card__price{font-size:13px;color:#6B7390;margin:0;}\n.esg-cav-option-card__check{position:absolute;top:8px;right:8px;width:16px;height:16px;border-radius:50%;border:2px solid #E6E9F0;background:#fff;}\n.esg-cav-option-card--selected .esg-cav-option-card__check{background:#0A1A3A;border-color:#0A1A3A;}\n.esg-cav-option-card--selected .esg-cav-option-card__check::after{content:'';display:block;width:5px;height:8px;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(45deg);margin:1px auto;}\n.esg-cav-option-note{font-size:12px;color:#6B7390;line-height:1.5;margin:8px 0 0;}\n\n\/* Drop height slider *\/\n.esg-cav-height-input{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid #E6E9F0;border-radius:8px;padding:16px;}\n.esg-cav-height-input input[type=range]{flex:1;}\n.esg-cav-height-readout{font-family:'Barlow Condensed',Arial,sans-serif;font-weight:700;font-size:22px;color:#0A1A3A;min-width:88px;text-align:right;}\n.esg-cav-height-readout span{font-size:12px;color:#6B7390;font-family:'Barlow',Arial,sans-serif;font-weight:400;text-transform:none;}\n.esg-cav-height-marks{display:flex;justify-content:space-between;font-size:11px;color:#9AA2BE;margin-top:6px;}\n.esg-cav-height-note{font-size:13px;color:#3A4260;margin-top:10px;}\n.esg-cav-height-note strong{color:#0A1A3A;}\n\n\/* Two-segment note *\/\n.esg-cav-two-part{background:#FFF8E6;border:1px solid #F0DCA0;border-radius:8px;padding:12px 14px;font-size:12px;color:#6B5A20;margin-top:12px;line-height:1.5;}\n\n\/* Kit summary (in buy box) *\/\n.esg-cav-kit-box{border:1px solid #E6E9F0;border-radius:10px;background:#F8F9FB;padding:18px;margin-top:8px;}\n.esg-cav-kit-box__title{font-family:'Barlow Condensed',Arial,sans-serif;font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:0.03em;color:#0A1A3A;margin:0 0 12px;}\n.esg-cav-kit-line{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;font-size:13px;padding:8px 0;border-bottom:1px solid #E6E9F0;}\n.esg-cav-kit-line:last-of-type{border-bottom:none;}\n.esg-cav-kit-line__name{color:#3A4260;line-height:1.4;}\n.esg-cav-kit-line__name small{display:block;color:#9AA2BE;font-size:11px;margin-top:1px;}\n.esg-cav-kit-line__price{color:#0A1A3A;font-weight:600;white-space:nowrap;}\n.esg-cav-kit-total{display:flex;justify-content:space-between;align-items:baseline;margin-top:14px;padding-top:14px;border-top:2px solid #0A1A3A;}\n.esg-cav-kit-total__label{font-family:'Barlow Condensed',Arial,sans-serif;font-weight:700;font-size:15px;text-transform:uppercase;color:#0A1A3A;}\n.esg-cav-kit-total__price{font-family:'Barlow Condensed',Arial,sans-serif;font-weight:700;font-size:24px;color:#0A1A3A;}\n.esg-cav-pdp__cta{display:block;width:100%;background:#0A1A3A;color:#fff;text-align:center;font-family:'Barlow Condensed',Arial,sans-serif;font-weight:700;font-size:16px;letter-spacing:0.03em;text-transform:uppercase;padding:16px;border:none;border-radius:8px;margin-top:16px;cursor:pointer;}\n.esg-cav-pdp__cta:hover{background:#132552;}\n.esg-cav-pdp__cta-note{font-size:12px;color:#9AA2BE;text-align:center;margin-top:10px;}\n.esg-cav-pdp__trust-mini{display:flex;gap:18px;margin-top:20px;padding-top:20px;border-top:1px solid #E6E9F0;flex-wrap:wrap;}\n.esg-cav-pdp__trust-mini-item{font-size:12px;color:#6B7390;display:flex;align-items:center;gap:6px;}\n.esg-cav-pdp__trust-mini-item::before{content:'\\2713';color:#2E7D32;font-weight:700;}\n\n\/* Trust strip *\/\n.esg-cav-trust{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}\n.esg-cav-trust__item{text-align:center;}\n.esg-cav-trust__title{font-family:'Barlow Condensed',Arial,sans-serif;font-weight:700;font-size:16px;text-transform:uppercase;letter-spacing:0.02em;margin:0 0 4px;color:#fff;}\n.esg-cav-trust__sub{font-size:13px;color:#8FA8FF;margin:0;}\n\n\/* Diagram strip *\/\n.esg-cav-diagram{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;text-align:center;}\n.esg-cav-diagram__step{display:flex;flex-direction:column;align-items:center;gap:10px;flex:1;min-width:0;}\n.esg-cav-diagram__icon{width:64px;height:64px;border-radius:50%;background:#F0F2FA;display:flex;align-items:center;justify-content:center;font-family:'Barlow Condensed',Arial,sans-serif;font-weight:700;font-size:22px;color:#0A1A3A;}\n.esg-cav-diagram__label{font-family:'Barlow Condensed',Arial,sans-serif;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:0.02em;color:#0A1A3A;}\n.esg-cav-diagram__sub{font-size:12px;color:#6B7390;}\n.esg-cav-diagram__arrow{font-size:20px;color:#AAB6E0;flex-shrink:0;padding-top:22px;}\n\n\/* Spec table *\/\n.esg-cav-spec-table{width:100%;border-collapse:collapse;font-size:14px;}\n.esg-cav-spec-table th{text-align:left;font-family:'Barlow Condensed',Arial,sans-serif;font-weight:700;text-transform:uppercase;font-size:12px;letter-spacing:0.04em;color:#6B7390;padding:10px 12px;border-bottom:2px solid #0A1A3A;}\n.esg-cav-spec-table td{padding:12px;border-bottom:1px solid #E6E9F0;color:#3A4260;}\n\n\/* FAQ *\/\n.esg-cav-faq{border-top:1px solid #E6E9F0;}\n.esg-cav-faq-item{border-bottom:1px solid #E6E9F0;padding:18px 0;cursor:pointer;}\n.esg-cav-faq-q{font-family:'Barlow Condensed',Arial,sans-serif;font-weight:700;font-size:16px;color:#0A1A3A;display:flex;justify-content:space-between;align-items:center;}\n.esg-cav-faq-a{font-size:14px;color:#3A4260;line-height:1.6;margin-top:10px;max-width:800px;display:none;}\n.esg-cav-faq-item--open .esg-cav-faq-a{display:block;}\n.esg-cav-faq-toggle{font-size:20px;color:#9AA2BE;}\n\n@media (max-width:900px){\n  .esg-cav-pdp{grid-template-columns:1fr;}\n  .esg-cav-pdp__gallery{position:static;}\n  .esg-cav-option-cards{grid-template-columns:1fr;}\n  .esg-cav-trust{grid-template-columns:repeat(2,1fr);}\n  .esg-cav-diagram{flex-direction:column;}\n  .esg-cav-diagram__arrow{transform:rotate(90deg);padding-top:0;}\n}\n\u003c\/style\u003e\n\n\u003c!-- SECTION 1: PDP HERO WITH BUILDER AS BUY BOX --\u003e\n\u003cdiv class=\"esg-cav-section\" id=\"esg-cav-builder\"\u003e\n  \u003cdiv class=\"esg-cav-inner\"\u003e\n    \u003cdiv class=\"esg-cav-pdp\"\u003e\n      \u003c!-- Gallery --\u003e\n      \u003cdiv class=\"esg-cav-pdp__gallery\"\u003e\n        \u003cimg class=\"esg-cav-pdp__mainimg\" id=\"esg-cav-mainimg\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0692\/9698\/0162\/files\/crimson-av-jr3-syncpro-universal-mount-for-projectors-with-micro-adjustment-5524044.png?v=1785074287\" alt=\"Crimson AV Mount Builder kit\"\u003e\n        \u003cdiv class=\"esg-cav-pdp__thumbs\"\u003e\n          \u003cimg class=\"esg-cav-pdp__thumb\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0692\/9698\/0162\/files\/crimson-av-ca1c-single-joist-ceiling-adapter-with-decorative-cover-7396468.png?v=1785074228\" alt=\"CA1C ceiling adapter\"\u003e\n          \u003cimg class=\"esg-cav-pdp__thumb\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0692\/9698\/0162\/files\/e-series_hero.png?v=1785721794\" alt=\"Extension column\"\u003e\n          \u003cimg class=\"esg-cav-pdp__thumb\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0692\/9698\/0162\/files\/crimson-av-jr3-syncpro-universal-mount-for-projectors-with-micro-adjustment-5524044.png?v=1785074287\" alt=\"JR3 SyncPro projector mount\"\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n\n      \u003c!-- Buy box --\u003e\n      \u003cdiv\u003e\n        \u003cp class=\"esg-cav-pdp__kicker\"\u003eCrimson AV Ceiling Mount System\u003c\/p\u003e\n        \u003ch3 class=\"esg-cav-pdp__title\"\u003eBuild Your Projector Mount\u003c\/h3\u003e\n        \u003cdiv class=\"esg-cav-pdp__price-row\"\u003e\n          \u003cspan class=\"esg-cav-pdp__price\" id=\"esg-cav-summary-total\"\u003e$0.00\u003c\/span\u003e\n          \u003cspan class=\"esg-cav-pdp__price-note\"\u003ecomplete kit, priced live as you build\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cp class=\"esg-cav-pdp__reviews\"\u003e\u003cspan class=\"esg-cav-pdp__stars\"\u003e★★★★★\u003c\/span\u003e Trusted ceiling-mount hardware for golf simulator projectors\u003c\/p\u003e\n        \u003cp class=\"esg-cav-pdp__desc\"\u003eMatch a Crimson AV ceiling adapter, extension column, and JR3 SyncPro projector mount to your exact ceiling type and drop height. All parts share Crimson AV's universal 1.5″ NPT interface, so every combination below is fully compatible — pick your options and the kit price updates instantly.\u003c\/p\u003e\n\n        \u003cdiv class=\"esg-cav-steps\"\u003e\n          \u003cdiv class=\"esg-cav-step-pill esg-cav-step-pill--active\" data-step-pill=\"1\"\u003e\n\u003cspan class=\"esg-cav-step-pill__num\"\u003e1\u003c\/span\u003e Ceiling Type\u003c\/div\u003e\n          \u003cdiv class=\"esg-cav-step-pill\" data-step-pill=\"2\"\u003e\n\u003cspan class=\"esg-cav-step-pill__num\"\u003e2\u003c\/span\u003e Drop Height\u003c\/div\u003e\n          \u003cdiv class=\"esg-cav-step-pill\" data-step-pill=\"3\"\u003e\n\u003cspan class=\"esg-cav-step-pill__num\"\u003e3\u003c\/span\u003e Mount Model\u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003c!-- Ceiling type --\u003e\n        \u003cdiv class=\"esg-cav-option-group\"\u003e\n          \u003cp class=\"esg-cav-option-label\"\u003eCeiling Type\u003c\/p\u003e\n          \u003cdiv class=\"esg-cav-option-cards\"\u003e\n            \u003cdiv class=\"esg-cav-option-card esg-cav-option-card--selected\" data-ceiling=\"CA1C\" data-price=\"49.99\" data-name=\"CA1C — Single Joist Ceiling Adapter\"\u003e\n              \u003cdiv class=\"esg-cav-option-card__check\"\u003e\u003c\/div\u003e\n              \u003cimg class=\"esg-cav-option-card__img\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0692\/9698\/0162\/files\/crimson-av-ca1c-single-joist-ceiling-adapter-with-decorative-cover-7396468.png?v=1785074228\" alt=\"Crimson AV CA1C single joist ceiling adapter\"\u003e\n              \u003cdiv class=\"esg-cav-option-card__body\"\u003e\n                \u003cp class=\"esg-cav-option-card__name\"\u003eFlat \/ Standard\u003c\/p\u003e\n                \u003cp class=\"esg-cav-option-card__price\"\u003eCA1C • $49.99\u003c\/p\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv class=\"esg-cav-option-card\" data-ceiling=\"CAV1\" data-price=\"69.59\" data-name=\"CAV1 — Vaulted Ceiling Interface\"\u003e\n              \u003cdiv class=\"esg-cav-option-card__check\"\u003e\u003c\/div\u003e\n              \u003cimg class=\"esg-cav-option-card__img\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0692\/9698\/0162\/files\/cav1_hero_1.png?v=1785722008\" alt=\"Crimson AV CAV1 vaulted ceiling interface\"\u003e\n              \u003cdiv class=\"esg-cav-option-card__body\"\u003e\n                \u003cp class=\"esg-cav-option-card__name\"\u003eVaulted \/ Cathedral\u003c\/p\u003e\n                \u003cp class=\"esg-cav-option-card__price\"\u003eCAV1 • $69.59\u003c\/p\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cp class=\"esg-cav-option-note\" id=\"esg-cav-ceiling-note\"\u003eCA1C single-joist adapter with decorative cover. Mounts to wood joist, structural wood, or concrete. 300 lb rated.\u003c\/p\u003e\n        \u003c\/div\u003e\n\n        \u003c!-- Drop height --\u003e\n        \u003cdiv class=\"esg-cav-option-group\"\u003e\n          \u003cp class=\"esg-cav-option-label\"\u003eDrop Height \u003cspan class=\"esg-cav-option-label__value\" id=\"esg-cav-height-in-note\"\u003e48″ from ceiling to projector\u003c\/span\u003e\u003c\/p\u003e\n          \u003cdiv class=\"esg-cav-height-input\"\u003e\n            \u003cinput type=\"range\" id=\"esg-cav-height-slider\" min=\"6\" max=\"240\" step=\"1\" value=\"48\"\u003e\n            \u003cdiv class=\"esg-cav-height-readout\"\u003e\u003cspan id=\"esg-cav-height-feet-label\"\u003e4' 0\"\u003c\/span\u003e\u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"esg-cav-height-marks\"\u003e\n\u003cspan\u003e6″\u003c\/span\u003e\u003cspan\u003e5ft\u003c\/span\u003e\u003cspan\u003e10ft\u003c\/span\u003e\u003cspan\u003e15ft\u003c\/span\u003e\u003cspan\u003e20ft\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003cp class=\"esg-cav-height-note\"\u003eRecommended part: \u003cstrong id=\"esg-cav-height-result\"\u003e—\u003c\/strong\u003e\u003c\/p\u003e\n          \u003cdiv class=\"esg-cav-two-part\" id=\"esg-cav-two-part-note\" style=\"display:none;\"\u003eThis drop exceeds a single column's range. The builder will combine two columns joined with an EC1 pipe connector to reach your target height.\u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003c!-- Mount model --\u003e\n        \u003cdiv class=\"esg-cav-option-group\"\u003e\n          \u003cp class=\"esg-cav-option-label\"\u003eJR3 SyncPro Mount Model\u003c\/p\u003e\n          \u003cdiv class=\"esg-cav-option-cards\"\u003e\n            \u003cdiv class=\"esg-cav-option-card esg-cav-option-card--selected\" data-mount=\"JR3\" data-price=\"201.99\" data-mountname=\"JR3 SyncPro\"\u003e\n              \u003cdiv class=\"esg-cav-option-card__check\"\u003e\u003c\/div\u003e\n              \u003cimg class=\"esg-cav-option-card__img\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0692\/9698\/0162\/files\/crimson-av-jr3-syncpro-universal-mount-for-projectors-with-micro-adjustment-5524044.png?v=1785074287\" alt=\"Crimson AV JR3 SyncPro projector mount\"\u003e\n              \u003cdiv class=\"esg-cav-option-card__body\"\u003e\n                \u003cp class=\"esg-cav-option-card__name\"\u003eJR3 Standard\u003c\/p\u003e\n                \u003cp class=\"esg-cav-option-card__price\"\u003e$201.99\u003c\/p\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv class=\"esg-cav-option-card\" data-mount=\"JR3XL\" data-price=\"249.99\" data-mountname=\"JR3XL SyncPro\"\u003e\n              \u003cdiv class=\"esg-cav-option-card__check\"\u003e\u003c\/div\u003e\n              \u003cimg class=\"esg-cav-option-card__img\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0692\/9698\/0162\/files\/jr3xl_hero.png?v=1785723074\" alt=\"Crimson AV JR3XL SyncPro projector mount, long arm\"\u003e\n              \u003cdiv class=\"esg-cav-option-card__body\"\u003e\n                \u003cp class=\"esg-cav-option-card__name\"\u003eJR3XL Long-Arm\u003c\/p\u003e\n                \u003cp class=\"esg-cav-option-card__price\"\u003e$249.99\u003c\/p\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cp class=\"esg-cav-option-note\" id=\"esg-cav-mount-note\"\u003eJR3 SyncPro: tool-free micro adjustment, 70 lb capacity, 13.8″ max mounting pattern. Fits most golf simulator projectors.\u003c\/p\u003e\n        \u003c\/div\u003e\n\n        \u003c!-- Kit summary --\u003e\n        \u003cdiv class=\"esg-cav-kit-box\"\u003e\n          \u003cp class=\"esg-cav-kit-box__title\"\u003eYour Mount Kit\u003c\/p\u003e\n          \u003cdiv id=\"esg-cav-summary-lines\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"esg-cav-kit-total\"\u003e\n            \u003cspan class=\"esg-cav-kit-total__label\"\u003eTotal\u003c\/span\u003e\n            \u003cspan class=\"esg-cav-kit-total__price\" id=\"esg-cav-summary-total-2\"\u003e$0.00\u003c\/span\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cbutton class=\"esg-cav-pdp__cta\" id=\"esg-cav-add-to-cart\"\u003eAdd Kit To Cart\u003c\/button\u003e\n        \u003cp class=\"esg-cav-pdp__cta-note\"\u003eShips as separate components — assembly required, no tools needed for adjustable columns.\u003c\/p\u003e\n\n        \u003cdiv class=\"esg-cav-pdp__trust-mini\"\u003e\n          \u003cspan class=\"esg-cav-pdp__trust-mini-item\"\u003eUniversal 1.5″ NPT\u003c\/span\u003e\n          \u003cspan class=\"esg-cav-pdp__trust-mini-item\"\u003e300–500 lb rated\u003c\/span\u003e\n          \u003cspan class=\"esg-cav-pdp__trust-mini-item\"\u003eFree UPS Ground\u003c\/span\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c!-- SECTION 2: TRUST STRIP --\u003e\n\u003cdiv class=\"esg-cav-section esg-cav-section--navy\"\u003e\n  \u003cdiv class=\"esg-cav-inner\"\u003e\n    \u003cdiv class=\"esg-cav-trust\"\u003e\n      \u003cdiv class=\"esg-cav-trust__item\"\u003e\n        \u003cp class=\"esg-cav-trust__title\"\u003eUniversal 1.5″ NPT\u003c\/p\u003e\n        \u003cp class=\"esg-cav-trust__sub\"\u003eEvery part interconnects\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"esg-cav-trust__item\"\u003e\n        \u003cp class=\"esg-cav-trust__title\"\u003e6″ to 20ft Drop\u003c\/p\u003e\n        \u003cp class=\"esg-cav-trust__sub\"\u003eFixed \u0026amp; adjustable columns\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"esg-cav-trust__item\"\u003e\n        \u003cp class=\"esg-cav-trust__title\"\u003e300–500 lb Rated\u003c\/p\u003e\n        \u003cp class=\"esg-cav-trust__sub\"\u003ePer-component capacity\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"esg-cav-trust__item\"\u003e\n        \u003cp class=\"esg-cav-trust__title\"\u003e10-Year Warranty\u003c\/p\u003e\n        \u003cp class=\"esg-cav-trust__sub\"\u003eLifetime on JR3 mount head\u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c!-- SECTION 3: HOW IT WORKS DIAGRAM --\u003e\n\u003cdiv class=\"esg-cav-section\"\u003e\n  \u003cdiv class=\"esg-cav-inner\"\u003e\n    \u003cp class=\"esg-cav-eyebrow\"\u003eHow The System Works\u003c\/p\u003e\n    \u003ch3 class=\"esg-cav-h3\"\u003eFour Parts, One Drop\u003c\/h3\u003e\n    \u003cp class=\"esg-cav-lede\"\u003eA complete mount is built from four building blocks stacked from your ceiling down to your projector.\u003c\/p\u003e\n    \u003cdiv class=\"esg-cav-diagram\" style=\"margin-top:32px;\"\u003e\n      \u003cdiv class=\"esg-cav-diagram__step\"\u003e\n        \u003cdiv class=\"esg-cav-diagram__icon\"\u003e1\u003c\/div\u003e\n        \u003cdiv class=\"esg-cav-diagram__label\"\u003eCeiling Adapter\u003c\/div\u003e\n        \u003cdiv class=\"esg-cav-diagram__sub\"\u003eCA1C or CAV1 — attaches to your ceiling structure\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"esg-cav-diagram__arrow\"\u003e→\u003c\/div\u003e\n      \u003cdiv class=\"esg-cav-diagram__step\"\u003e\n        \u003cdiv class=\"esg-cav-diagram__icon\"\u003e2\u003c\/div\u003e\n        \u003cdiv class=\"esg-cav-diagram__label\"\u003eExtension Column\u003c\/div\u003e\n        \u003cdiv class=\"esg-cav-diagram__sub\"\u003eE or EA series — sets your drop height\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"esg-cav-diagram__arrow\"\u003e→\u003c\/div\u003e\n      \u003cdiv class=\"esg-cav-diagram__step\"\u003e\n        \u003cdiv class=\"esg-cav-diagram__icon\"\u003e3\u003c\/div\u003e\n        \u003cdiv class=\"esg-cav-diagram__label\"\u003eEC1 Connector\u003c\/div\u003e\n        \u003cdiv class=\"esg-cav-diagram__sub\"\u003eOnly needed to join two columns for longer drops\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"esg-cav-diagram__arrow\"\u003e→\u003c\/div\u003e\n      \u003cdiv class=\"esg-cav-diagram__step\"\u003e\n        \u003cdiv class=\"esg-cav-diagram__icon\"\u003e4\u003c\/div\u003e\n        \u003cdiv class=\"esg-cav-diagram__label\"\u003eJR3 Projector Mount\u003c\/div\u003e\n        \u003cdiv class=\"esg-cav-diagram__sub\"\u003eSyncPro head — holds \u0026amp; aligns your projector\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c!-- SECTION 4: JR3 vs JR3XL COMPARISON --\u003e\n\u003cdiv class=\"esg-cav-section esg-cav-section--light\"\u003e\n  \u003cdiv class=\"esg-cav-inner\"\u003e\n    \u003cp class=\"esg-cav-eyebrow\"\u003eChoosing Your Mount Head\u003c\/p\u003e\n    \u003ch3 class=\"esg-cav-h3\"\u003eJR3 vs. JR3XL\u003c\/h3\u003e\n    \u003cp class=\"esg-cav-lede\"\u003eBoth mount heads share the same tool-free SyncPro adjustment mechanism. The JR3XL simply reaches farther — use it when your projector's lens sits off-center or the chassis is larger than average.\u003c\/p\u003e\n    \u003cdiv style=\"overflow-x:auto;margin-top:24px;\"\u003e\n      \u003ctable class=\"esg-cav-spec-table\"\u003e\n        \u003cthead\u003e\n          \u003ctr\u003e\n\u003cth\u003eModel\u003c\/th\u003e\n\u003cth\u003eBest For\u003c\/th\u003e\n\u003cth\u003eCapacity\u003c\/th\u003e\n\u003cth\u003eMax Mounting Pattern\u003c\/th\u003e\n\u003cth\u003ePrice\u003c\/th\u003e\n\u003c\/tr\u003e\n        \u003c\/thead\u003e\n        \u003ctbody\u003e\n          \u003ctr\u003e\n            \u003ctd\u003eJR3 Standard\u003c\/td\u003e\n            \u003ctd\u003eMost golf simulator projectors with centered lenses\u003c\/td\u003e\n            \u003ctd\u003e70 lb\u003c\/td\u003e\n            \u003ctd\u003e13.8″\u003c\/td\u003e\n            \u003ctd\u003e$201.99\u003c\/td\u003e\n          \u003c\/tr\u003e\n          \u003ctr\u003e\n            \u003ctd\u003eJR3XL Long-Arm\u003c\/td\u003e\n            \u003ctd\u003eLarger projectors or off-center lens designs — e.g. \u003ca href=\"https:\/\/elitesimgolf.com\/products\/benq-lk936st-4k-short-throw-blue-core-laser-golf-simulation-projector\" style=\"color:#0A1A3A;\"\u003eBenQ LK936ST\u003c\/a\u003e and \u003ca href=\"https:\/\/elitesimgolf.com\/products\/optoma-zk608tst-4k-6000-lumens-uhd-short-throw-golf-simulator-projector\" style=\"color:#0A1A3A;\"\u003eOptoma ZK608TST\u003c\/a\u003e\n\u003c\/td\u003e\n            \u003ctd\u003e70 lb\u003c\/td\u003e\n            \u003ctd\u003eExtended arm reach for larger chassis\u003c\/td\u003e\n            \u003ctd\u003e$249.99\u003c\/td\u003e\n          \u003c\/tr\u003e\n        \u003c\/tbody\u003e\n      \u003c\/table\u003e\n    \u003c\/div\u003e\n    \u003cp class=\"esg-cav-option-note\" style=\"margin-top:16px;\"\u003eNot sure which fits your projector? Use the \u003ca href=\"https:\/\/elitesimgolf.com\/pages\/projector-fitment-tool-and-throw-calculator\" style=\"color:#0A1A3A;\"\u003eE-Z Mount Finder \/ Projector Fitment Tool\u003c\/a\u003e to verify compatibility before ordering.\u003c\/p\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c!-- SECTION 5: PART LIBRARY \/ SPEC TABLE --\u003e\n\u003cdiv class=\"esg-cav-section\"\u003e\n  \u003cdiv class=\"esg-cav-inner\"\u003e\n    \u003cp class=\"esg-cav-eyebrow\"\u003eFull Part Reference\u003c\/p\u003e\n    \u003ch3 class=\"esg-cav-h3\"\u003eComponent Spec Sheet\u003c\/h3\u003e\n    \u003cp class=\"esg-cav-lede\"\u003eEvery SKU the builder can select from, with weight capacity and drop range.\u003c\/p\u003e\n    \u003cdiv style=\"overflow-x:auto;margin-top:20px;\"\u003e\n      \u003ctable class=\"esg-cav-spec-table\"\u003e\n        \u003cthead\u003e\n          \u003ctr\u003e\n\u003cth\u003eModel\u003c\/th\u003e\n\u003cth\u003eType\u003c\/th\u003e\n\u003cth\u003eDrop Range\u003c\/th\u003e\n\u003cth\u003eCapacity\u003c\/th\u003e\n\u003cth\u003ePrice\u003c\/th\u003e\n\u003c\/tr\u003e\n        \u003c\/thead\u003e\n        \u003ctbody\u003e\n          \u003ctr\u003e\n\u003ctd\u003eCA1C\u003c\/td\u003e\n\u003ctd\u003eCeiling Adapter (flat)\u003c\/td\u003e\n\u003ctd\u003e—\u003c\/td\u003e\n\u003ctd\u003e300 lb\u003c\/td\u003e\n\u003ctd\u003e$49.99\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003ctd\u003eCAV1\u003c\/td\u003e\n\u003ctd\u003eCeiling Adapter (vaulted, 0–94°)\u003c\/td\u003e\n\u003ctd\u003e—\u003c\/td\u003e\n\u003ctd\u003e300 lb\u003c\/td\u003e\n\u003ctd\u003e$69.59\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003ctd\u003eE06\u003c\/td\u003e\n\u003ctd\u003eFixed Column\u003c\/td\u003e\n\u003ctd\u003e6″\u003c\/td\u003e\n\u003ctd\u003e500 lb\u003c\/td\u003e\n\u003ctd\u003e$26.99\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003ctd\u003eE1\u003c\/td\u003e\n\u003ctd\u003eFixed Column\u003c\/td\u003e\n\u003ctd\u003e12″\u003c\/td\u003e\n\u003ctd\u003e500 lb\u003c\/td\u003e\n\u003ctd\u003e$32.99\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003ctd\u003eE2–E10\u003c\/td\u003e\n\u003ctd\u003eFixed Column\u003c\/td\u003e\n\u003ctd\u003e2ft–10ft\u003c\/td\u003e\n\u003ctd\u003e500 lb\u003c\/td\u003e\n\u003ctd\u003e$41.99–$189.99\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003ctd\u003eEA0611\u003c\/td\u003e\n\u003ctd\u003eAdjustable Column\u003c\/td\u003e\n\u003ctd\u003e6–11″\u003c\/td\u003e\n\u003ctd\u003e500 lb\u003c\/td\u003e\n\u003ctd\u003e$61.99\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003ctd\u003eEA01218\u003c\/td\u003e\n\u003ctd\u003eAdjustable Column\u003c\/td\u003e\n\u003ctd\u003e12–18″\u003c\/td\u003e\n\u003ctd\u003e500 lb\u003c\/td\u003e\n\u003ctd\u003e$72.99\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003ctd\u003eEA01824\u003c\/td\u003e\n\u003ctd\u003eAdjustable Column\u003c\/td\u003e\n\u003ctd\u003e18–24″\u003c\/td\u003e\n\u003ctd\u003e500 lb\u003c\/td\u003e\n\u003ctd\u003e$79.99\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003ctd\u003eEA23–EA810\u003c\/td\u003e\n\u003ctd\u003eAdjustable Column\u003c\/td\u003e\n\u003ctd\u003e2ft–10ft\u003c\/td\u003e\n\u003ctd\u003e500 lb\u003c\/td\u003e\n\u003ctd\u003e$98.99–$212.99\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003ctd\u003eEC1\u003c\/td\u003e\n\u003ctd\u003ePipe Connector\u003c\/td\u003e\n\u003ctd\u003eJoins two columns\u003c\/td\u003e\n\u003ctd\u003e500 lb\u003c\/td\u003e\n\u003ctd\u003e$17.99\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003ctd\u003eJR3\u003c\/td\u003e\n\u003ctd\u003eProjector Mount\u003c\/td\u003e\n\u003ctd\u003e—\u003c\/td\u003e\n\u003ctd\u003e70 lb\u003c\/td\u003e\n\u003ctd\u003e$201.99\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003ctd\u003eJR3XL\u003c\/td\u003e\n\u003ctd\u003eProjector Mount (long-arm)\u003c\/td\u003e\n\u003ctd\u003e—\u003c\/td\u003e\n\u003ctd\u003e70 lb\u003c\/td\u003e\n\u003ctd\u003e$249.99\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003c\/tbody\u003e\n      \u003c\/table\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c!-- SECTION 6: FAQ --\u003e\n\u003cdiv class=\"esg-cav-section esg-cav-section--light\"\u003e\n  \u003cdiv class=\"esg-cav-inner\"\u003e\n    \u003cp class=\"esg-cav-eyebrow\"\u003eCommon Questions\u003c\/p\u003e\n    \u003ch3 class=\"esg-cav-h3\"\u003eMount Builder FAQ\u003c\/h3\u003e\n    \u003cdiv class=\"esg-cav-faq\"\u003e\n      \u003cdiv class=\"esg-cav-faq-item esg-cav-faq-item--open\"\u003e\n        \u003cdiv class=\"esg-cav-faq-q\"\u003eHow do I measure my drop height? \u003cspan class=\"esg-cav-faq-toggle\"\u003e−\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"esg-cav-faq-a\"\u003eMeasure straight down from your ceiling attachment point to where you want the projector lens to sit. That number is your target drop height — enter it in the slider and the builder recommends the closest matching column.\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"esg-cav-faq-item\"\u003e\n        \u003cdiv class=\"esg-cav-faq-q\"\u003eWhat's the difference between fixed and adjustable columns? \u003cspan class=\"esg-cav-faq-toggle\"\u003e+\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"esg-cav-faq-a\"\u003eFixed-length E-series columns are a single set length. Adjustable EA-series columns telescope within a range in 1″ increments without disassembly, which is useful if you're not 100% certain of your final drop height or need to fine-tune alignment after install.\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"esg-cav-faq-item\"\u003e\n        \u003cdiv class=\"esg-cav-faq-q\"\u003eWhat if my drop height is longer than any single column? \u003cspan class=\"esg-cav-faq-toggle\"\u003e+\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"esg-cav-faq-a\"\u003eThe builder automatically splits drops beyond 10ft into two columns joined by an EC1 pipe connector, which is rated for the same 500 lb load as the columns themselves.\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"esg-cav-faq-item\"\u003e\n        \u003cdiv class=\"esg-cav-faq-q\"\u003eDo I need different parts for a vaulted ceiling? \u003cspan class=\"esg-cav-faq-toggle\"\u003e+\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"esg-cav-faq-a\"\u003eOnly the ceiling adapter changes. Swap the CA1C for the CAV1, which adjusts 0–94° to plumb your column on angled or cathedral ceilings. Every column, connector, and JR3 mount head stay the same.\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"esg-cav-faq-item\"\u003e\n        \u003cdiv class=\"esg-cav-faq-q\"\u003eWhen should I choose the JR3XL instead of the standard JR3? \u003cspan class=\"esg-cav-faq-toggle\"\u003e+\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"esg-cav-faq-a\"\u003eChoose the JR3XL if your projector has an off-center lens or a larger chassis that needs extra arm reach to clear the mount head — for example the BenQ LK936ST or Optoma ZK608TST. Both mount heads share the same tool-free SyncPro adjustment mechanism and 70 lb capacity; the JR3XL just extends farther. Use the Projector Fitment Tool to confirm which one your model needs.\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"esg-cav-faq-item\"\u003e\n        \u003cdiv class=\"esg-cav-faq-q\"\u003eIs cable routing included? \u003cspan class=\"esg-cav-faq-toggle\"\u003e+\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"esg-cav-faq-a\"\u003eYes. Every E and EA column includes internal cord routing with a 1″x2″ cable outlet that fits standard HDMI\/VGA connectors, so power and video cable run hidden inside the column.\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n(function(){\n  var root = document.querySelector('.esg-cav-mount-builder');\n  if(!root) return;\n\n  \/\/ Fixed E-series: {sku, inches, price, image}\n  var FIXED = [\n    {sku:'E06', inches:6, price:26.99, image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0692\/9698\/0162\/files\/e-series_hero.png?v=1785721794'},\n    {sku:'E1', inches:12, price:32.99, image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0692\/9698\/0162\/files\/e-series_hero_2c160e43-623b-4ea6-b0a2-7fb37148dd8e.png?v=1785721796'},\n    {sku:'E2', inches:24, price:41.99, image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0692\/9698\/0162\/files\/e-series_hero_e5bdbade-2a4f-4712-ad52-89b7755d0b8a.png?v=1785721800'},\n    {sku:'E3', inches:36, price:52.99, image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0692\/9698\/0162\/files\/e-series_hero_9d2765ff-9fc1-4a4a-8989-342f318077b8.png?v=1785721802'},\n    {sku:'E4', inches:48, price:67.99, image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0692\/9698\/0162\/files\/e-series_hero_a88def87-4f26-42c2-a4d7-f5db78c8ec2d.png?v=1785721804'},\n    {sku:'E5', inches:60, price:103.99, image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0692\/9698\/0162\/files\/e-series_hero_5da12796-d662-4d2e-af99-b86f979334f8.png?v=1785721806'},\n    {sku:'E6', inches:72, price:115.99, image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0692\/9698\/0162\/files\/e-series_hero_7f8b4476-6756-4faa-b2e5-e7e32c06474a.png?v=1785721808'},\n    {sku:'E7', inches:84, price:123.99, image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0692\/9698\/0162\/files\/e-series_hero_504d511d-7206-474f-a1f1-0136774663fe.png?v=1785721811'},\n    {sku:'E8', inches:96, price:131.99, image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0692\/9698\/0162\/files\/e-series_hero_5887d09c-f1a0-4307-929a-d3f9a692be38.png?v=1785721813'},\n    {sku:'E9', inches:108, price:174.00, image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0692\/9698\/0162\/files\/e-series_hero_a97908ad-d758-414a-8c00-816642c32124.png?v=1785721815'},\n    {sku:'E10', inches:120, price:189.99, image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0692\/9698\/0162\/files\/e-series_hero_2041a2cb-5416-4c0f-9ef5-624c3d3e8e3f.png?v=1785721798'}\n  ];\n\n  \/\/ Adjustable EA-series: {sku, min, max, price, image}\n  var ADJ = [\n    {sku:'EA0611', min:6, max:11, price:61.99, image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0692\/9698\/0162\/files\/ea-series_hero_67dfffc7-59a1-41e4-957a-7fe2b02540db.png?v=1785721821'},\n    {sku:'EA01218', min:12, max:18, price:72.99, image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0692\/9698\/0162\/files\/ea-series_hero.png?v=1785721817'},\n    {sku:'EA01824', min:18, max:24, price:79.99, image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0692\/9698\/0162\/files\/ea-series_hero_1739db57-c871-470b-a9d7-755f6eec3a81.png?v=1785721819'},\n    {sku:'EA23', min:24, max:36, price:98.99, image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0692\/9698\/0162\/files\/ea-series_hero_8ed9745f-7093-4026-9499-9f4905f18297.png?v=1785721823'},\n    {sku:'EA24', min:24, max:48, price:111.99, image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0692\/9698\/0162\/files\/ea-series_hero_3889d346-c181-451e-bbe2-44a89d4deb4f.png?v=1785721825'},\n    {sku:'EA35', min:36, max:60, price:138.99, image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0692\/9698\/0162\/files\/ea-series_hero_4c367431-91e3-48b9-8a34-a4fee5b413a6.png?v=1785721827'},\n    {sku:'EA46', min:48, max:72, price:152.99, image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0692\/9698\/0162\/files\/ea-series_hero_93d079ff-b464-4e0c-a417-ed1558ca41e1.png?v=1785721830'},\n    {sku:'EA68', min:72, max:96, price:195.99, image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0692\/9698\/0162\/files\/ea-series_hero_f8206b04-b3da-460e-871a-a99f9f344c21.png?v=1785721832'},\n    {sku:'EA810', min:96, max:120, price:212.99, image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0692\/9698\/0162\/files\/ea-series_hero_4ee8f050-f5b4-467c-aa8b-fa233f160105.png?v=1785721834'}\n  ];\n\n  var EC1_PRICE = 17.99;\n  var MAX_SINGLE = 120; \/\/ longest single column (E10 \/ EA810 top end)\n\n  var MOUNTS = {\n    'JR3': {name:'JR3 SyncPro', price:201.99, image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0692\/9698\/0162\/files\/crimson-av-jr3-syncpro-universal-mount-for-projectors-with-micro-adjustment-5524044.png?v=1785074287'},\n    'JR3XL': {name:'JR3XL SyncPro', price:249.99, image:'https:\/\/cdn.shopify.com\/s\/files\/1\/0692\/9698\/0162\/files\/jr3xl_hero.png?v=1785723074'}\n  };\n\n  \/\/ Shopify variant IDs by SKU — resolved from elitesimgolf.com live product data (2026-08-02)\n  var VARIANT_IDS = {\n    'CA1C': 45824378339522,\n    'CAV1': 45824380534978,\n    'EC1': 45824389284034,\n    'E06': 48532732281026,\n    'E1': 48532732313794,\n    'E2': 48532732412098,\n    'E3': 48532732444866,\n    'E4': 48532732477634,\n    'E5': 48532732510402,\n    'E6': 48532732543170,\n    'E7': 48532732575938,\n    'E8': 48532732608706,\n    'E9': 48532732674242,\n    'E10': 48532732346562,\n    'EA0611': 48532732772546,\n    'EA01218': 48532732707010,\n    'EA01824': 48532732739778,\n    'EA23': 48532732805314,\n    'EA24': 48532732838082,\n    'EA35': 48532732870850,\n    'EA46': 48532732903618,\n    'EA68': 48532732936386,\n    'EA810': 48532732969154,\n    'JR3': 45660519268546,\n    'JR3XL': 48532743389378\n  };\n\n  var CEILING_NOTES = {\n    'CA1C': 'CA1C single-joist adapter with decorative cover. Mounts to wood joist, structural wood, or concrete. 300 lb rated.',\n    'CAV1': 'CAV1 angled adapter, adjusts 0\\u201394\\u00b0 to plumb the column on sloped ceilings. 300 lb rated.'\n  };\n\n  var MOUNT_NOTES = {\n    'JR3': 'JR3 SyncPro: tool-free micro adjustment, 70 lb capacity, 13.8\\u2033 max mounting pattern. Fits most golf simulator projectors.',\n    'JR3XL': 'JR3XL SyncPro: same tool-free adjustment, 70 lb capacity, with a longer arm for larger chassis or off-center lens projectors like the BenQ LK936ST and Optoma ZK608TST.'\n  };\n\n  var state = {\n    ceiling: {sku:'CA1C', name:'CA1C \\u2014 Single Joist Ceiling Adapter', price:49.99},\n    heightIn: 48,\n    mountSku: 'JR3',\n    mountName: 'JR3 SyncPro',\n    mountPrice: 201.99\n  };\n\n  function findFixedExact(inches){\n    for (var i=0;i\u003cFIXED.length;i++){ if (FIXED[i].inches === inches) return FIXED[i]; }\n    return null;\n  }\n  function findAdjustableFit(inches){\n    var best = null;\n    for (var i=0;i\u003cADJ.length;i++){\n      var a = ADJ[i];\n      if (inches \u003e= a.min \u0026\u0026 inches \u003c= a.max){\n        if (!best || (a.max - a.min) \u003c (best.max - best.min)) best = a;\n      }\n    }\n    return best;\n  }\n  function closestFixed(inches){\n    var best = FIXED[0], bestDiff = Math.abs(FIXED[0].inches - inches);\n    for (var i=1;i\u003cFIXED.length;i++){\n      var d = Math.abs(FIXED[i].inches - inches);\n      if (d \u003c bestDiff){ bestDiff = d; best = FIXED[i]; }\n    }\n    return best;\n  }\n\n  function recommendColumns(targetIn){\n    if (targetIn \u003c= MAX_SINGLE){\n      var exact = findFixedExact(targetIn);\n      if (exact) return {parts:[{type:'fixed', part:exact}], needsConnector:false};\n      var adj = findAdjustableFit(targetIn);\n      if (adj) return {parts:[{type:'adjustable', part:adj}], needsConnector:false};\n      var fx = closestFixed(targetIn);\n      return {parts:[{type:'fixed', part:fx}], needsConnector:false};\n    }\n    \/\/ Split across two segments joined by EC1\n    var half = targetIn \/ 2;\n    var segA = findAdjustableFit(half) || closestFixed(half);\n    var segAType = ADJ.indexOf(segA) \u003e -1 ? 'adjustable' : 'fixed';\n    var remaining = targetIn - (segAType==='adjustable' ? segA.max : segA.inches);\n    var segB = findAdjustableFit(remaining) || closestFixed(remaining);\n    var segBType = ADJ.indexOf(segB) \u003e -1 ? 'adjustable' : 'fixed';\n    return {parts:[{type:segAType, part:segA}, {type:segBType, part:segB}], needsConnector:true};\n  }\n\n  function fmtHeight(inches){\n    var ft = Math.floor(inches\/12);\n    var inch = inches % 12;\n    return ft + \"' \" + inch + '\"';\n  }\n\n  function money(n){ return '$' + n.toFixed(2); }\n\n  function render(){\n    var rec = recommendColumns(state.heightIn);\n    var lines = [];\n    lines.push({name: state.ceiling.name, sub: 'Ceiling Adapter', price: state.ceiling.price});\n\n    var partNames = [];\n    rec.parts.forEach(function(p){\n      var label = p.type === 'fixed' ? (p.part.sku + ' \\u2014 ' + p.part.inches + '\\u2033 Fixed Column') : (p.part.sku + ' \\u2014 ' + p.part.min + '-' + p.part.max + '\\u2033 Adjustable Column');\n      lines.push({name: label, sub: 'Extension Column', price: p.part.price});\n      partNames.push(p.part.sku);\n    });\n\n    if (rec.needsConnector){\n      lines.push({name: 'EC1 \\u2014 Pipe Connector', sub: 'Joins ' + partNames.join(' + '), price: EC1_PRICE});\n    }\n\n    lines.push({name: state.mountName, sub: 'Projector Mount', price: state.mountPrice});\n\n    var total = lines.reduce(function(sum,l){ return sum + l.price; }, 0);\n\n    var html = '';\n    lines.forEach(function(l){\n      html += '\u003cdiv class=\"esg-cav-kit-line\"\u003e\u003cspan class=\"esg-cav-kit-line__name\"\u003e' + l.name + '\u003csmall\u003e' + l.sub + '\u003c\/small\u003e\u003c\/span\u003e\u003cspan class=\"esg-cav-kit-line__price\"\u003e' + money(l.price) + '\u003c\/span\u003e\u003c\/div\u003e';\n    });\n    root.querySelector('#esg-cav-summary-lines').innerHTML = html;\n    root.querySelector('#esg-cav-summary-total').textContent = money(total);\n    root.querySelector('#esg-cav-summary-total-2').textContent = money(total);\n\n    \/\/ Height readouts\n    root.querySelector('#esg-cav-height-feet-label').textContent = fmtHeight(state.heightIn);\n    root.querySelector('#esg-cav-height-in-note').textContent = state.heightIn + '\\u2033 from ceiling to projector';\n\n    var resultLabel = rec.parts.map(function(p){ return p.part.sku; }).join(' + ') + (rec.needsConnector ? ' + EC1' : '');\n    root.querySelector('#esg-cav-height-result').textContent = resultLabel;\n    root.querySelector('#esg-cav-two-part-note').style.display = rec.needsConnector ? 'block' : 'none';\n  }\n\n  \/\/ Ceiling card clicks\n  root.querySelectorAll('[data-ceiling]').forEach(function(card){\n    card.addEventListener('click', function(){\n      root.querySelectorAll('[data-ceiling]').forEach(function(c){ c.classList.remove('esg-cav-option-card--selected'); });\n      card.classList.add('esg-cav-option-card--selected');\n      var sku = card.getAttribute('data-ceiling');\n      state.ceiling = {sku: sku, name: card.getAttribute('data-name'), price: parseFloat(card.getAttribute('data-price'))};\n      root.querySelector('#esg-cav-ceiling-note').textContent = CEILING_NOTES[sku];\n      root.querySelector('#esg-cav-mainimg').src = card.querySelector('img').src;\n      updateStepPills();\n      render();\n    });\n  });\n\n  \/\/ Mount model clicks\n  root.querySelectorAll('[data-mount]').forEach(function(card){\n    card.addEventListener('click', function(){\n      root.querySelectorAll('[data-mount]').forEach(function(c){ c.classList.remove('esg-cav-option-card--selected'); });\n      card.classList.add('esg-cav-option-card--selected');\n      var sku = card.getAttribute('data-mount');\n      state.mountSku = sku;\n      state.mountName = card.getAttribute('data-mountname');\n      state.mountPrice = parseFloat(card.getAttribute('data-price'));\n      root.querySelector('#esg-cav-mount-note').textContent = MOUNT_NOTES[sku];\n      root.querySelector('#esg-cav-mainimg').src = card.querySelector('img').src;\n      updateStepPills();\n      render();\n    });\n  });\n\n  \/\/ Height slider\n  var slider = root.querySelector('#esg-cav-height-slider');\n  slider.addEventListener('input', function(){\n    state.heightIn = parseInt(slider.value, 10);\n    updateStepPills();\n    render();\n  });\n\n  function updateStepPills(){\n    root.querySelectorAll('[data-step-pill]').forEach(function(p){ p.classList.add('esg-cav-step-pill--done'); p.classList.remove('esg-cav-step-pill--active'); });\n  }\n\n  \/\/ FAQ accordion\n  root.querySelectorAll('.esg-cav-faq-item').forEach(function(item){\n    item.addEventListener('click', function(){\n      var isOpen = item.classList.contains('esg-cav-faq-item--open');\n      root.querySelectorAll('.esg-cav-faq-item').forEach(function(i){\n        i.classList.remove('esg-cav-faq-item--open');\n        i.querySelector('.esg-cav-faq-toggle').textContent = '+';\n      });\n      if (!isOpen){\n        item.classList.add('esg-cav-faq-item--open');\n        item.querySelector('.esg-cav-faq-toggle').textContent = '\\u2212';\n      }\n    });\n  });\n\n  \/\/ Add to cart — real Shopify \/cart\/add.js multi-line POST using resolved variant IDs\n  var ctaBtn = root.querySelector('#esg-cav-add-to-cart');\n  var ctaNote = root.querySelector('.esg-cav-pdp__cta-note');\n  var ctaDefaultLabel = ctaBtn.textContent;\n\n  function setCtaState(state_, message){\n    if (state_ === 'loading'){\n      ctaBtn.textContent = 'Adding to Cart\\u2026';\n      ctaBtn.disabled = true;\n      ctaBtn.style.opacity = '0.7';\n    } else if (state_ === 'success'){\n      ctaBtn.textContent = 'Added to Cart \\u2713';\n      ctaBtn.disabled = false;\n      ctaBtn.style.opacity = '1';\n      if (message) { ctaNote.textContent = message; ctaNote.style.color = '#2E7D32'; }\n      setTimeout(function(){\n        ctaBtn.textContent = ctaDefaultLabel;\n        ctaNote.style.color = '#9AA2BE';\n        ctaNote.textContent = 'Ships as separate components \\u2014 assembly required, no tools needed for adjustable columns.';\n      }, 4000);\n    } else if (state_ === 'error'){\n      ctaBtn.textContent = ctaDefaultLabel;\n      ctaBtn.disabled = false;\n      ctaBtn.style.opacity = '1';\n      if (message) { ctaNote.textContent = message; ctaNote.style.color = '#B23A3A'; }\n    }\n  }\n\n  ctaBtn.addEventListener('click', function(){\n    var rec = recommendColumns(state.heightIn);\n    var skus = [state.ceiling.sku];\n    rec.parts.forEach(function(p){ skus.push(p.part.sku); });\n    if (rec.needsConnector) skus.push('EC1');\n    skus.push(state.mountSku);\n\n    var items = [];\n    var missing = [];\n    skus.forEach(function(sku){\n      var vid = VARIANT_IDS[sku];\n      if (vid){ items.push({id: vid, quantity: 1}); }\n      else { missing.push(sku); }\n    });\n\n    if (missing.length){\n      setCtaState('error', 'Missing Shopify variant ID for: ' + missing.join(', ') + '. Contact support to complete this order.');\n      return;\n    }\n\n    setCtaState('loading');\n\n    fetch('\/cart\/add.js', {\n      method: 'POST',\n      headers: {'Content-Type': 'application\/json', 'Accept': 'application\/json'},\n      body: JSON.stringify({items: items})\n    })\n    .then(function(res){\n      if (!res.ok) { return res.json().then(function(err){ throw new Error(err.description || 'Cart add failed'); }); }\n      return res.json();\n    })\n    .then(function(){\n      setCtaState('success', skus.join(', ') + ' added to your cart.');\n    })\n    .catch(function(err){\n      setCtaState('error', 'Could not add to cart: ' + err.message);\n    });\n  });\n\n  render();\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"Crimson AV","offers":[{"title":"Small","offer_id":48532748271810,"sku":null,"price":278.97,"currency_code":"USD","in_stock":true},{"title":"Large","offer_id":48532748304578,"sku":null,"price":763.55,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0692\/9698\/0162\/files\/ceiling-projector-kit-with-jr3-universal-adapter-18-24-drop-by-crimson-av-jkr3-24a-6668796.png?v=1785074168","url":"https:\/\/elitesimgolf.com\/products\/custom-projector-mount-builder-by-crimson-av","provider":"Elite Sim Golf","version":"1.0","type":"link"}