{"id":20301,"date":"2026-10-05T20:44:43","date_gmt":"2026-10-05T20:44:43","guid":{"rendered":"https:\/\/dev.smartplug.com\/staging\/?page_id=20301"},"modified":"2026-10-05T20:49:12","modified_gmt":"2026-10-05T20:49:12","slug":"smartplug-connector-commercial","status":"publish","type":"page","link":"https:\/\/dev.smartplug.com\/staging\/smartplug-connector-commercial\/","title":{"rendered":"SmartPlug Connector\u200b &#8211; Commercial"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"20301\" class=\"elementor elementor-20301\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3bca2de e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-parent\" data-id=\"3bca2de\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-a6fee19 e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-child\" data-id=\"a6fee19\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-0037da4 e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-child\" data-id=\"0037da4\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7fe139b elementor-widget elementor-widget-heading\" data-id=\"7fe139b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Connector\u200b<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-88192ed e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-parent\" data-id=\"88192ed\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-4723124 e-grid e-con-full wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-child\" data-id=\"4723124\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-75c0c77 e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-child\" data-id=\"75c0c77\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c0f1f6b sp-hotspot-image elementor-widget elementor-widget-html\" data-id=\"c0f1f6b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- SMARTPLUG INLET GALLERY -->\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Bebas+Neue&family=Montserrat:wght@400;500;600;700&display=swap\" rel=\"stylesheet\">\n\n<div id=\"sp-inlet-gallery\">\n\n    <div class=\"sp-main-view\">\n\n        <!-- FEATURE \/ HOTSPOT SLIDE -->\n        <div class=\"sp-gallery-slide active\" data-slide=\"0\">\n            <div class=\"sp-product-image-wrap sp-main-product sp-hotspot-image\">\n                <div class=\"sp-main-image-clip\">\n                    <img decoding=\"async\"\n                    src=\"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/09\/Connector-w-hotspots.png\"\n                    alt=\"SmartPlug Connector Features\"\n                    style=\"\n                    --image-x-desktop:0px;\n                    --image-y-desktop:20px;\n                    --image-scale-desktop:1.2;\n\n                    --image-x-mobile:0px;\n                    --image-y-mobile:0px;\n                    --image-scale-mobile:1.5;\n                    \"\n                    >\n                <\/div>\n\n                <div\n                class=\"sp-hotspot\"\n                tabindex=\"0\"\n                style=\"\n                --top-desktop:28%;\n                --left-desktop:22%;\n                --hotspot-x-desktop:0px;\n                --hotspot-y-desktop:0px;\n                --hotspot-scale-desktop:1;\n\n                --top-mobile:18%;\n                --left-mobile:27%;\n                --hotspot-x-mobile:-41px;\n                --hotspot-y-mobile:2px;\n                --hotspot-scale-mobile:0.7;\n\n                --tooltip-x-desktop:0px;\n                --tooltip-y-desktop:0px;\n                --tooltip-scale-desktop:1;\n\n                --tooltip-x-mobile:30px;\n                --tooltip-y-mobile:0px;\n                --tooltip-scale-mobile:1;\n\n                --dot-color:#DF6B30;\n                --number-color:#fff;\n                --tooltip-bg:#DF6B30;\n                \"\n                >\n                <div class=\"sp-dot\"><span class=\"sp-number\">1<\/span><\/div>\n                <div class=\"sp-tooltip\">\n                    <strong>Multi-Point Locking System<\/strong><br>\n                        Side clips lock the plug securely into the inlet which eliminates any stress on the pins from movement of the power cord.\n                    <\/div>\n                <\/div>\n\n                <div\n                class=\"sp-hotspot\"\n                tabindex=\"0\"\n                style=\"\n                --top-desktop:28%;\n                --left-desktop:78%;\n                --hotspot-x-desktop:0px;\n                --hotspot-y-desktop:0px;\n                --hotspot-scale-desktop:1;\n                \n                --top-mobile:12%;\n                --left-mobile:88%;\n                --hotspot-x-mobile:8px;\n                --hotspot-y-mobile:12px;\n                --hotspot-scale-mobile:0.7;\n                \n                --tooltip-x-desktop:0px;\n                --tooltip-y-desktop:0px;\n                --tooltip-scale-desktop:1;\n                \n                --tooltip-x-mobile:-50px;\n                --tooltip-y-mobile:0px;\n                --tooltip-scale-mobile:1;\n                \n                --dot-color:#DF6B30;\n                --number-color:#fff;\n                --tooltip-bg:#DF6B30;\n                \"\n                >\n                <div class=\"sp-dot\"><span class=\"sp-number\">2<\/span><\/div>\n                <div class=\"sp-tooltip\">\n                    <strong>Reduces Overheating<\/strong><br>\n                        Increased pin &amp; clip surface area greatly improves electrical conductivity during high amperage demand.\n                    <\/div>\n                <\/div>\n\n                \n            <\/div>\n\n            <div\n            class=\"sp-slide-info\"\n            >\n            <div class=\"sp-slide-title\">KEY Features<\/div>\n            <div class=\"sp-slide-subtitle\">Click the numbered points to explore the connector.<\/div>\n        <\/div>\n    <\/div>\n\n    <!-- =====================================================\n    PRODUCT VARIANTS \u2014 30A \/ 50A TOGGLE\n    ===================================================== -->\n\n    <div class=\"sp-gallery-slide sp-variant-slide\" data-slide=\"1\" data-variant=\"connector-16\" data-material=\"Non-metallic\" data-color=\"Orange\" data-base=\"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/09\/Connector-30A.png\">\n        <div class=\"sp-variant-layout\">\n\n            <div class=\"sp-mobile-variant-title\">\n\n\n                <div class=\"sp-slide-title\">30A Connector<\/div>\n\n                <div class=\"sp-slide-subtitle\">Non-Metallic<\/div>\n\n            <\/div>\n\n            <div class=\"sp-variant-image-wrap\"><img decoding=\"async\" class=\"sp-variant-image\" src=\"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/09\/Connector-30A.png\" alt=\"30A Connector\"\n                style=\"\n                --image-x-desktop:50px;\n                --image-y-desktop:0px;\n                --image-scale-desktop:0.9;\n\n                --image-x-mobile:0px;\n                --image-y-mobile:0px;\n                --image-scale-mobile:1;\n                \"\n                ><\/div>\n\n                <div\n                class=\"sp-slide-info sp-side-info\"\n                >\n                <div class=\"sp-slide-title\">30A Connector<\/div>\n                <div class=\"sp-slide-subtitle\">Non-Metallic<\/div>\n                <div class=\"sp-part-number\">PART NUMBER: <strong class=\"sp-part-number-value\">BF30<\/strong><\/div>\n\n            <\/div>\n        <\/div>\n    <\/div>\n\n    <div class=\"sp-gallery-slide sp-variant-slide\" data-slide=\"2\" data-variant=\"connector-30\" data-material=\"Non-metallic\" data-color=\"Orange\" data-base=\"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/09\/Connector-50A.png\">\n        <div class=\"sp-variant-layout\">\n\n            <div class=\"sp-mobile-variant-title\">\n\n\n                <div class=\"sp-slide-title\">50A Connector<\/div>\n\n                <div class=\"sp-slide-subtitle\">Non-Metallic<\/div>\n\n            <\/div>\n\n            <div class=\"sp-variant-image-wrap\"><img decoding=\"async\" class=\"sp-variant-image\" src=\"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/09\/Connector-50A.png\" alt=\"50A Connector\"\n                style=\"\n                --image-x-desktop:50px;\n                --image-y-desktop:0px;\n                --image-scale-desktop:0.8;\n\n                --image-x-mobile:0px;\n                --image-y-mobile:0px;\n                --image-scale-mobile:1;\n                \"\n                ><\/div>\n\n                <div\n                class=\"sp-slide-info sp-side-info\"\n                >\n                <div class=\"sp-slide-title\">50A Connector<\/div>\n                <div class=\"sp-slide-subtitle\">Non-Metallic<\/div>\n                <div class=\"sp-part-number\">PART NUMBER: <strong class=\"sp-part-number-value\">BF50<\/strong><\/div>\n\n            <\/div>\n        <\/div>\n    <\/div>\n\n<\/div>\n\n<!-- =========================================================\nAMAZON-STYLE CLICKABLE PRODUCT STRIP\n========================================================= -->\n<div class=\"sp-product-selector\">\n\n    <button type=\"button\" class=\"sp-thumb-nav sp-thumb-prev\" aria-label=\"Previous product image\">&#10094;<\/button>\n\n    <div class=\"sp-thumbnails\">\n\n        <button type=\"button\" class=\"sp-thumb sp-feature-thumb active\" data-target=\"0\" aria-label=\"SmartPlug Connector Features\">\n            <span class=\"sp-thumb-image\">\n                <img decoding=\"async\"\n                src=\"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/09\/Connector-30A.png\"\n                alt=\"SmartPlug Connector Features\"\n                >\n            <\/span>\n            <span class=\"sp-thumb-label\">Features<\/span>\n        <\/button>\n\n        <button type=\"button\" class=\"sp-thumb\" data-target=\"1\" aria-label=\"30A Connector\">\n            <span class=\"sp-thumb-image\">\n                <img decoding=\"async\"\n                src=\"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/09\/Connector-30A.png\"\n                alt=\"30A Connector\"\n                >\n            <\/span>\n            <span class=\"sp-thumb-label\">30A<\/span>\n            <span class=\"sp-thumb-part\"><\/span>\n        <\/button>\n\n        <button type=\"button\" class=\"sp-thumb\" data-target=\"2\" aria-label=\"50A Connector\">\n            <span class=\"sp-thumb-image\">\n                <img decoding=\"async\"\n                src=\"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/09\/Connector-50A.png\"\n                alt=\"50A Connector\"\n                >\n            <\/span>\n            <span class=\"sp-thumb-label\">50A<\/span>\n            <span class=\"sp-thumb-part\"><\/span>\n        <\/button>\n\n    <\/div>\n\n    <button type=\"button\" class=\"sp-thumb-nav sp-thumb-next\" aria-label=\"Next product image\">&#10095;<\/button>\n<\/div>\n\n<div class=\"sp-gallery-pagination\" aria-label=\"Product gallery pagination\">\n    <button type=\"button\" class=\"sp-page-dot active\" data-page=\"0\" aria-label=\"Go to features\"><\/button>\n    <button type=\"button\" class=\"sp-page-dot\" data-page=\"1\" aria-label=\"Go to 30A Connector\"><\/button>\n    <button type=\"button\" class=\"sp-page-dot\" data-page=\"2\" aria-label=\"Go to 50A Connector\"><\/button>\n<\/div>\n\n<\/div><style>\n\/* =========================================================\nSMARTPLUG INLET GALLERY\nAmazon-inspired product selector\n========================================================= *\/\n\n#sp-inlet-gallery {\n    --sp-orange: #DF6B30;\n    --sp-dark: #1c1c1c;\n    --sp-muted: #666;\n    --sp-border: #dedede;\n    --sp-soft: #f7f7f7;\n\n    width: 100%;\n    height: 560px;\n    margin: 0 auto;\n    font-family: \"Montserrat\", sans-serif;\n    box-sizing: border-box;\n    overflow: visible;\n}\n\n#sp-inlet-gallery *,\n#sp-inlet-gallery *::before,\n#sp-inlet-gallery *::after {\n    box-sizing: border-box;\n}\n\n\/* =========================================================\nMAIN VIEW\n========================================================= *\/\n\n#sp-inlet-gallery .sp-main-view {\n    position: relative;\n    width: 100%;\n    height: 430px;\n    overflow: visible;\n}\n\n#sp-inlet-gallery .sp-gallery-slide {\n    display: none;\n    width: 100%;\n    height: 100%;\n    position: relative;\n    overflow: visible;\n    flex-direction: column;\n    align-items: center;\n    justify-content: flex-start;\n}\n\n#sp-inlet-gallery .sp-gallery-slide.active {\n    display: flex;\n}\n\n\/* =========================================================\nFEATURE IMAGE\n========================================================= *\/\n\n#sp-inlet-gallery .sp-main-product {\n    position: relative;\n    width: 100%;\n    height: 400px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n}\n\n#sp-inlet-gallery .sp-main-image-clip {\n    position: absolute;\n    inset: 0;\n    overflow: hidden;\n    pointer-events: none;\n    z-index: 1;\n}\n\n#sp-inlet-gallery .sp-main-image-clip > img {\n    width: 100%;\n    height: 100%;\n    max-width: none;\n    object-fit: contain;\n    display: block;\n    transform:\n    translate(var(--image-x-desktop), var(--image-y-desktop))\n    scale(var(--image-scale-desktop));\n    transform-origin: center center;\n    transition: transform .18s ease;\n}\n\n\/* =========================================================\nVARIANT IMAGE\n========================================================= *\/\n\n#sp-inlet-gallery .sp-variant-layout {\n    width: 100%;\n    height: 100%;\n    display: grid;\n    grid-template-columns: minmax(0, 1.35fr) minmax(180px, .65fr);\n    align-items: center;\n    gap: 12px;\n}\n\n#sp-inlet-gallery .sp-variant-image-wrap {\n    width: 100%;\n    height: 400px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    position: relative;\n    min-width: 0;\n}\n\n#sp-inlet-gallery .sp-variant-image-wrap img {\n    width: 100%;\n    height: 100%;\n    object-fit: contain;\n    display: block;\n    transform:\n    translate(var(--image-x-desktop), var(--image-y-desktop))\n    scale(var(--image-scale-desktop));\n    transform-origin: center center;\n    transition: opacity .16s ease, transform .18s ease;\n}\n\n\/* =========================================================\nPRODUCT INFORMATION\n========================================================= *\/\n\n#sp-inlet-gallery .sp-slide-info {\n    width: 100%;\n    max-width: 480px;\n    margin-top: -2px;\n    padding: 0 12px;\n    text-align: center;\n    transition: none;\n}\n\n#sp-inlet-gallery .sp-side-info {\n    max-width: none;\n    margin: 0;\n    padding: 2px 2px 2px 2px;\n    text-align: left;\n}\n\n#sp-inlet-gallery .sp-side-info .sp-slide-title {\n    font-size: 30px;\n    font-family: \"Bebas Neue\", sans-serif;\n    font-weight: 600;\n    letter-spacing: 1.5px;\n}\n\n#sp-inlet-gallery .sp-amp-label {\n    margin-top: 17px;\n    color: #777;\n    font-size: 11px;\n    font-weight: 700;\n    letter-spacing: .5px;\n}\n\n\n\n#sp-inlet-gallery .sp-side-info .sp-part-number { margin-top: 10px; }\n\n#sp-inlet-gallery .sp-mobile-variant-title {\n    display: none;\n}\n\n#sp-inlet-gallery .sp-slide-kicker {\n    color: var(--sp-orange);\n    font-size: 10px;\n    font-weight: 700;\n    letter-spacing: .9px;\n    text-transform: uppercase;\n    line-height: 1.2;\n}\n\n#sp-inlet-gallery .sp-slide-title {\n    margin-top: 3px;\n    color: var(--sp-dark);\n    font-family: \"Bebas Neue\", sans-serif;\n    font-size: 25px;\n    line-height: 1;\n    letter-spacing: .4px;\n}\n\n#sp-inlet-gallery .sp-slide-subtitle {\n    margin-top: 3px;\n    margin-bottom: 3px;\n    color: var(--sp-muted);\n    font-size: 12px;\n    font-weight: 500;\n    line-height: 1.35;\n}\n\n#sp-inlet-gallery .sp-variant-image.is-empty {\n    visibility: hidden;\n}\n\n#sp-inlet-gallery .sp-part-number {\n    display: inline-block;\n    margin-top: 7px;\n    color: #555;\n    font-size: 12px;\n    font-weight: 600;\n    letter-spacing: .5px;\n}\n\n#sp-inlet-gallery .sp-part-number strong {\n    color: var(--sp-dark);\n}\n\n\/* =========================================================\nHOTSPOTS\n========================================================= *\/\n\n#sp-inlet-gallery .sp-hotspot {\n    position: absolute;\n    z-index: 1;\n    top: var(--sp-hotspot-top-px, calc(var(--top-desktop) + var(--hotspot-y-desktop)));\n    left: var(--sp-hotspot-left-px, calc(var(--left-desktop) + var(--hotspot-x-desktop)));\n    transform:\n    translate(-50%, -50%)\n    scale(var(--hotspot-scale-desktop));\n    transform-origin: center center;\n    outline: none;\n    transition: top .18s ease, left .18s ease, transform .18s ease;\n}\n\n#sp-inlet-gallery .sp-dot {\n    width: 32px;\n    height: 32px;\n    border-radius: 50%;\n    background: var(--dot-color);\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    cursor: pointer;\n    box-shadow: 0 2px 8px rgba(0,0,0,.18);\n}\n\n#sp-inlet-gallery .sp-number {\n    color: var(--number-color);\n    font-size: 13px;\n    font-weight: 700;\n    line-height: 1;\n}\n\n#sp-inlet-gallery .sp-tooltip {\n    position: absolute;\n    z-index: 81;\n    bottom: calc(100% + 7px - var(--tooltip-y-desktop));\n    left: calc(50% + var(--tooltip-x-desktop));\n    transform:\n    translateX(-50%)\n    scale(var(--tooltip-scale-desktop));\n    transform-origin: center bottom;\n    width: 230px;\n    padding: 10px;\n    border-radius: 7px;\n    background: var(--tooltip-bg);\n    color: #fff;\n    font-size: 10px;\n    line-height: 1.45;\n    text-align: left;\n    opacity: 0;\n    visibility: hidden;\n    transition:\n    opacity .18s ease,\n    visibility .18s ease,\n    left .18s ease,\n    bottom .18s ease,\n    transform .18s ease;\n    pointer-events: none;\n    z-index:10;\n    box-shadow: 0 4px 14px rgba(0,0,0,.14);\n}\n\n#sp-inlet-gallery .sp-hotspot:hover .sp-tooltip,\n#sp-inlet-gallery .sp-hotspot:focus-visible .sp-tooltip,\n#sp-inlet-gallery .sp-hotspot.is-open .sp-tooltip {\n    opacity: 1;\n    visibility: visible;\n}\n\n\/* =========================================================\nAMAZON-STYLE PRODUCT SELECTOR\n========================================================= *\/\n\n#sp-inlet-gallery .sp-product-selector {\n    width: 100%;\n    display: flex;\n    align-items: stretch;\n    gap: 6px;\n    margin-top: 4px;\n}\n\n#sp-inlet-gallery .sp-thumbnails {\n    flex: 1 1 auto;\n    min-width: 0;\n    display: flex;\n    align-items: stretch;\n    justify-content: center;\n    gap: 7px;\n    overflow-x: auto;\n    overflow-y: hidden;\n    scroll-behavior: smooth;\n    scrollbar-width: none;\n    padding: 2px 0;\n}\n\n#sp-inlet-gallery .sp-thumbnails::-webkit-scrollbar {\n    display: none;\n}\n\n#sp-inlet-gallery .sp-thumb {\n    flex: 0 0 82px;\n    width: 82px;\n    min-height: 94px;\n    padding: 5px 5px 6px;\n    border: 1px solid var(--sp-border);\n    border-radius: 7px;\n    background: #fff;\n    cursor: pointer;\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    justify-content: flex-start;\n    gap: 3px;\n    appearance: none;\n    -webkit-appearance: none;\n    transition: border-color .18s ease, box-shadow .18s ease, transform .15s ease;\n}\n\n#sp-inlet-gallery .sp-thumb:hover {\n    border-color: var(--sp-orange);\n    transform: translateY(-1px);\n}\n\n#sp-inlet-gallery .sp-thumb.active {\n    border: 2px solid var(--sp-orange);\n    box-shadow: 0 2px 8px rgba(223,107,48,.13);\n}\n\n#sp-inlet-gallery .sp-thumb:focus {\n    outline: none;\n}\n\n#sp-inlet-gallery .sp-thumb:focus-visible {\n    border-color: var(--sp-orange);\n    box-shadow: 0 0 0 2px rgba(223,107,48,.18);\n}\n\n#sp-inlet-gallery .sp-thumb-image {\n    width: 100%;\n    height: 57px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    overflow: hidden;\n    border-radius: 4px;\n    background: #fff;\n}\n\n#sp-inlet-gallery .sp-thumb img {\n    width: 100%;\n    height: 100%;\n    object-fit: contain;\n    display: block;\n    pointer-events: none;\n}\n\n#sp-inlet-gallery .sp-thumb-label {\n    display: block;\n    width: 100%;\n    color: var(--sp-dark);\n    font-size: 9px;\n    font-weight: 700;\n    line-height: 1.15;\n    white-space: nowrap;\n    overflow: hidden;\n    text-overflow: ellipsis;\n}\n\n#sp-inlet-gallery .sp-thumb-part {\n    display: block;\n    color: #777;\n    font-size: 8px;\n    font-weight: 600;\n    line-height: 1;\n}\n#sp-inlet-gallery .sp-feature-thumb .sp-thumb-part {\n    visibility: hidden;\n}\n\n\/* =========================================================\nTHUMBNAIL ARROWS\n========================================================= *\/\n\n#sp-inlet-gallery .sp-thumb-nav {\n    display: none;\n    width: 26px;\n    min-width: 26px;\n    height: 26px;\n    align-self: center;\n    padding: 0;\n    border: 0;\n    border-radius: 50%;\n    background: #fff;\n    color: #222;\n    font-family: Arial, sans-serif;\n    font-size: 16px;\n    line-height: 26px;\n    text-align: center;\n    cursor: pointer;\n    appearance: none;\n    -webkit-appearance: none;\n}\n\n\/* =========================================================\nPAGINATION\n========================================================= *\/\n\n#sp-inlet-gallery .sp-gallery-pagination {\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    gap: 6px;\n    margin-top: 7px;\n}\n\n#sp-inlet-gallery .sp-page-dot {\n    width: 6px;\n    height: 6px;\n    padding: 0;\n    border: 0;\n    border-radius: 50%;\n    background: #c7c7c7;\n    cursor: pointer;\n    appearance: none;\n    -webkit-appearance: none;\n    transition: background .2s ease, transform .2s ease;\n}\n\n#sp-inlet-gallery .sp-page-dot:hover,\n#sp-inlet-gallery .sp-page-dot.active {\n    background: var(--sp-orange);\n}\n\n#sp-inlet-gallery .sp-page-dot.active {\n    transform: scale(1.25);\n}\n\n\/* =========================================================\nFULL SCREEN VIEW + HOVER ZOOM\n========================================================= *\/\n\n#sp-inlet-gallery .sp-fullscreen-trigger {\n    position: static;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    margin-top: 7px;\n    transform: none;\n    z-index: 10;\n    border: 1px solid #d7d7d7;\n    border-radius: 4px;\n    background: #fff;\n    color: #333;\n    padding: 6px 11px;\n    font-family: \"Montserrat\", sans-serif;\n    font-size: 9px;\n    font-weight: 700;\n    letter-spacing: .2px;\n    line-height: 1;\n    cursor: pointer;\n    white-space: nowrap;\n    appearance: none;\n    -webkit-appearance: none;\n    box-shadow: 0 1px 4px rgba(0,0,0,.08);\n    transition: border-color .18s ease, color .18s ease, background .18s ease;\n}\n\n#sp-inlet-gallery .sp-mobile-variant-title .sp-fullscreen-trigger {\n    display: none;\n}\n\n#sp-inlet-gallery .sp-fullscreen-trigger:hover {\n    border-color: var(--sp-orange);\n    color: var(--sp-orange);\n}\n\n#sp-inlet-gallery .sp-zoom-preview {\n    position: absolute;\n    top: 0;\n    left: calc(100% + 12px);\n    width: 78%;\n    height: 100%;\n    background: #fff;\n    border: 1px solid #e3e3e3;\n    border-radius: 8px;\n    box-shadow: 0 6px 20px rgba(0,0,0,.18);\n    overflow: hidden;\n    opacity: 0;\n    visibility: hidden;\n    pointer-events: none;\n    z-index: 1;\n    transition: opacity .12s ease, visibility .12s ease;\n}\n\n#sp-inlet-gallery .sp-zoom-preview img {\n    position: absolute;\n    width: 200%;\n    height: 200%;\n    max-width: none;\n    object-fit: contain;\n    display: block;\n    pointer-events: none;\n    transform-origin: top left;\n}\n\n#sp-inlet-gallery .sp-variant-image-wrap.sp-zoom-active .sp-zoom-preview {\n    opacity: 1;\n    visibility: visible;\n}\n\n\/* Full-screen product popup *\/\n#sp-inlet-gallery .sp-fullscreen-modal {\n    position: fixed;\n    inset: 0;\n    z-index: 999999;\n    display: none;\n    align-items: center;\n    justify-content: center;\n    padding: 20px;\n    background: rgba(0,0,0,.38);\n}\n\n#sp-inlet-gallery .sp-fullscreen-modal.is-open {\n    display: flex;\n}\n\n#sp-inlet-gallery .sp-fullscreen-dialog {\n    position: relative;\n    width: var(--sp-popup-width-desktop, 1100px);\n    height: var(--sp-popup-height-desktop, 520px);\n    max-width: calc(100vw - 30px);\n    max-height: calc(100vh - 40px);\n\n    display: grid;\n    grid-template-columns: minmax(0, 1.55fr) minmax(250px, .75fr);\n    gap: 24px;\n    padding: 18px 28px 18px 18px;\n\n    background: #fff;\n    border-radius: 7px;\n    box-shadow: 0 8px 35px rgba(0,0,0,.25);\n    overflow: hidden;\n}\n\n#sp-inlet-gallery .sp-fullscreen-close {\n    position: absolute;\n    top: 3px;\n    right: 8px;\n    width: 28px;\n    height: 28px;\n    padding: 0;\n    border: 0;\n    background: transparent;\n    color: #222;\n    font-family: Arial, sans-serif;\n    font-size: 22px;\n    line-height: 28px;\n    cursor: pointer;\n    z-index: 5;\n}\n\n#sp-inlet-gallery .sp-fullscreen-image-area {\n    min-width: 0;\n    min-height: 0;\n    height: 100%;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    overflow: hidden;\n}\n\n#sp-inlet-gallery .sp-fullscreen-image {\n    width: var(--sp-popup-image-width-desktop, 100%);\n    height: var(--sp-popup-image-height-desktop, 100%);\n    max-width: none;\n    max-height: none;\n    object-fit: contain;\n    display: block;\n    transform: translate(\n        var(--sp-popup-image-x-desktop, 0px),\n        var(--sp-popup-image-y-desktop, 0px)\n    );\n}\n\n#sp-inlet-gallery .sp-fullscreen-info {\n    min-width: 0;\n    min-height: 0;\n    padding: 8px 0 8px 0;\n    display: flex;\n    flex-direction: column;\n    align-items: flex-start;\n    justify-content: flex-start;\n    overflow: hidden;\n}\n\n#sp-inlet-gallery .sp-fullscreen-kicker {\n    display: none !important;\n}\n\n#sp-inlet-gallery .sp-fullscreen-title {\n    margin: 3px 0 0;\n    color: var(--sp-dark);\n    font-family: \"Bebas Neue\", sans-serif;\n    font-size: 31px;\n    line-height: 1.02;\n    letter-spacing: 1px;\n    text-transform: uppercase;\n}\n\n#sp-inlet-gallery .sp-fullscreen-description {\n    margin-top: 10px;\n    color: #666;\n    font-family: \"Montserrat\", sans-serif;\n    font-size: 12px;\n    line-height: 1.4;\n}\n\n#sp-inlet-gallery .sp-fullscreen-part-number {\n    margin-top: 9px;\n    color: #555;\n    font-family: \"Montserrat\", sans-serif;\n    font-size: 12px;\n    line-height: 1.4;\n    font-weight: 600;\n    text-transform: uppercase;\n}\n\n#sp-inlet-gallery .sp-fullscreen-part-number strong {\n    color: var(--sp-dark);\n    font-weight: 700;\n}\n\n#sp-inlet-gallery .sp-fullscreen-thumbnails {\n    width: 100%;\n    margin-top: 22px;\n    display: grid;\n    grid-template-columns: repeat(3, minmax(0, 1fr));\n    gap: 8px;\n}\n\n#sp-inlet-gallery .sp-fullscreen-thumb {\n    width: 100%;\n    height: 72px;\n    padding: 4px;\n    border: 1px solid var(--sp-border);\n    border-radius: 4px;\n    background: #fff;\n    cursor: pointer;\n    overflow: hidden;\n}\n\n#sp-inlet-gallery .sp-fullscreen-thumb.active {\n    border: 2px solid var(--sp-orange);\n}\n\n#sp-inlet-gallery .sp-fullscreen-thumb img {\n    width: 100%;\n    height: 100%;\n    object-fit: contain;\n    display: block;\n}\n\n\/* =========================================================\nMOBILE\n========================================================= *\/\n\n@media (max-width: 600px) {\n\n    #sp-inlet-gallery .sp-fullscreen-trigger {\n        position: static;\n        display: inline-flex;\n        margin-top: 6px;\n        transform: none;\n        font-size: 8px;\n        padding: 6px 10px;\n    }\n\n    #sp-inlet-gallery .sp-zoom-preview {\n        display: none;\n    }\n\n    #sp-inlet-gallery .sp-fullscreen-modal {\n        padding: 8px;\n    }\n\n    #sp-inlet-gallery .sp-fullscreen-dialog {\n        \/*\n         * FULL SCREEN POPUP SIZE \u2014 MOBILE EDIT HERE\n         *\/\n        width: var(--sp-popup-width-mobile, calc(100vw - 16px));\n        height: var(--sp-popup-height-mobile, 90vh);\n        max-width: calc(100vw - 16px);\n        max-height: calc(100vh - 16px);\n        min-height: 0;\n        grid-template-columns: 1fr;\n        gap: 8px;\n        padding: 18px 12px 12px;\n        border-radius: 8px;\n        box-shadow: 0 8px 30px rgba(0,0,0,.22);\n        overflow-y: auto;\n    }\n\n    #sp-inlet-gallery .sp-fullscreen-image-area {\n        height: var(--sp-popup-image-area-height-mobile, 54vh);\n        min-height: 260px;\n        overflow: hidden;\n    }\n\n    #sp-inlet-gallery .sp-fullscreen-image {\n        width: var(--sp-popup-image-width-mobile, 100%);\n        height: var(--sp-popup-image-height-mobile, 100%);\n        transform: translate(\n            var(--sp-popup-image-x-mobile, 0px),\n            var(--sp-popup-image-y-mobile, 0px)\n        );\n    }\n\n    #sp-inlet-gallery .sp-fullscreen-info {\n        padding: 0 4px 4px;\n        overflow: visible;\n    }\n\n    #sp-inlet-gallery .sp-fullscreen-title {\n        font-size: 25px;\n    }\n\n    #sp-inlet-gallery .sp-fullscreen-description {\n        font-size: 10px;\n    }\n\n    #sp-inlet-gallery .sp-fullscreen-thumbnails {\n        margin-top: 10px;\n        grid-template-columns: repeat(4, minmax(0, 1fr));\n        gap: 5px;\n    }\n\n    #sp-inlet-gallery .sp-fullscreen-thumb {\n        height: 58px;\n    }\n\n    \/* =====================================================\n       MOBILE PRODUCT GALLERY\n       Compact Amazon-style vertical product layout\n       ===================================================== *\/\n\n    #sp-inlet-gallery {\n        width: 100%;\n        max-width: 100%;\n        height: auto;\n        min-height: 0;\n        margin: 0 auto;\n        overflow: visible;\n    }\n\n    #sp-inlet-gallery .sp-main-view {\n        width: 100%;\n        height: 380px;\n        min-height: 380px;\n        overflow: visible;\n    }\n\n    #sp-inlet-gallery .sp-gallery-slide {\n        width: 100%;\n        height: 380px;\n        min-height: 380px;\n        display: none;\n        position: relative;\n        overflow: visible;\n        flex-direction: column;\n        align-items: center;\n        justify-content: flex-start;\n    }\n\n    #sp-inlet-gallery .sp-gallery-slide.active {\n        display: flex;\n    }\n\n    \/* FEATURE IMAGE\n       The main\/features image uses the same responsive viewing frame. *\/\n    #sp-inlet-gallery .sp-main-product {\n        width: 100%;\n        height: auto;\n        aspect-ratio: 4.46 \/ 3;\n        flex: 0 0 auto;\n        order: 1;\n    }\n\n    #sp-inlet-gallery .sp-main-image-clip {\n        inset: 0;\n    }\n\n    #sp-inlet-gallery .sp-main-image-clip > img {\n        width: 100%;\n        height: 100%;\n        object-fit: contain;\n        transform:\n            translate(var(--image-x-mobile), var(--image-y-mobile))\n            scale(var(--image-scale-mobile));\n    }\n\n    \/* VARIANT LAYOUT *\/\n    #sp-inlet-gallery .sp-variant-layout {\n        width: 100%;\n        height: 380px;\n        min-height: 380px;\n        display: flex;\n        flex-direction: column;\n        align-items: center;\n        justify-content: flex-start;\n        gap: 0;\n    }\n\n    \/* Title at the top *\/\n    #sp-inlet-gallery .sp-mobile-variant-title {\n        display: block;\n        width: 100%;\n        min-height: 55px;\n        height: 55px;\n        padding: 0 8px;\n        text-align: center;\n        order: 1;\n        margin: 0;\n        position: relative;\n        z-index: 2;\n    }\n\n    #sp-inlet-gallery .sp-mobile-variant-title .sp-slide-kicker {\n        margin: 0;\n        font-size: 8px;\n        line-height: 1.1;\n    }\n\n    #sp-inlet-gallery .sp-mobile-variant-title .sp-slide-title {\n        margin: 2px 0 0;\n        font-size: 23px;\n        line-height: .95;\n        letter-spacing: .8px;\n    }\n\n    #sp-inlet-gallery .sp-mobile-variant-title .sp-slide-subtitle {\n        margin: 3px 0 0;\n        font-size: 10px;\n        line-height: 1.2;\n    }\n\n    #sp-inlet-gallery .sp-side-info .sp-fullscreen-trigger {\n        display: inline-flex;\n        margin: 7px auto 0;\n    }\n\n    #sp-inlet-gallery .sp-mobile-variant-title .sp-fullscreen-trigger {\n        display: none;\n    }\n\n    \/* PRODUCT IMAGEEvery variation uses the responsive viewing frame. *\/\n    #sp-inlet-gallery .sp-variant-image-wrap {\n        width: 100%;\n        height: auto;\n        aspect-ratio: auto;\n        min-height: 0;\n        flex: 1 1 auto;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        order: 2;\n        position: relative;\n        overflow: visible;\n    }\n\n    #sp-inlet-gallery .sp-variant-image-wrap img {\n        width: 100%;\n        height: 100%;\n        object-fit: contain;\n        display: block;\n        transform:\n            translate(var(--image-x-mobile), var(--image-y-mobile))\n            scale(var(--image-scale-mobile));\n        transform-origin: center center;\n        transition: opacity .16s ease, transform .18s ease;\n    }\n\n    #sp-inlet-gallery .sp-slide-info .sp-fullscreen-trigger {\n        margin-left: auto;\n        margin-right: auto;\n    }\n\n    \/* PRODUCT INFORMATION \/ CONTROLS *\/\n    #sp-inlet-gallery .sp-side-info {\n        width: 100%;\n        max-width: 100%;\n        height: 45px;\n        min-height: 45px;\n        padding: 0;\n        margin: 0;\n        text-align: center;\n        display: flex;\n        flex-direction: column;\n        align-items: center;\n        justify-content: flex-start;\n        gap: 0;\n        order: 3;\n        flex: 0 0 45px;\n    }\n\n    \/* Hide duplicate desktop title. *\/\n    #sp-inlet-gallery .sp-side-info .sp-slide-kicker,\n    #sp-inlet-gallery .sp-side-info .sp-slide-title,\n    #sp-inlet-gallery .sp-side-info .sp-slide-subtitle {\n        display: none;\n    }\n\/* Part number *\/\n    #sp-inlet-gallery .sp-side-info .sp-part-number {\n        display: inline-block;\n        margin: 2px auto 0;\n        padding: 0;\n        color: #555;\n        font-size: 8px;\n        letter-spacing: .4px;\n        text-align: center;\n    }\n\n    #sp-inlet-gallery .sp-part-number strong {\n        color: var(--sp-dark);\n    }\n\n    #sp-inlet-gallery .sp-variant-image.is-empty {\n        visibility: hidden;\n    }\n\n    \/* HOTSPOTS *\/\n    #sp-inlet-gallery .sp-hotspot {\n        top: calc(var(--top-mobile) + var(--hotspot-y-mobile));\n        left: calc(var(--left-mobile) + var(--hotspot-x-mobile));\n        transform:\n            translate(-50%, -50%)\n            scale(var(--hotspot-scale-mobile));\n    }\n\n    #sp-inlet-gallery .sp-tooltip {\n        bottom: calc(100% + 7px - var(--tooltip-y-mobile));\n        left: calc(50% + var(--tooltip-x-mobile));\n        transform:\n            translateX(-50%)\n            scale(var(--tooltip-scale-mobile));\n        width: min(190px, calc(100vw - 22px));\n        padding: 8px;\n        font-size: 9px;\n    }\n\n    \/* MOBILE THUMBNAIL STRIP *\/\n    #sp-inlet-gallery .sp-product-selector {\n        width: 100%;\n        display: flex;\n        align-items: center;\n        gap: 3px;\n        margin-top: 7px;\n    }\n\n    #sp-inlet-gallery .sp-thumb-nav {\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        flex: 0 0 26px;\n        width: 26px;\n        min-width: 26px;\n        height: 26px;\n        min-height: 26px;\n        padding: 0;\n        border: 0;\n        border-radius: 50%;\n        background: #fff;\n        color: #222;\n        font-size: 16px;\n        line-height: 26px;\n        cursor: pointer;\n        z-index: 3;\n    }\n\n    #sp-inlet-gallery .sp-thumbnails {\n        flex: 1 1 auto;\n        width: auto;\n        max-width: calc(100% - 58px);\n        min-width: 0;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        gap: 4px;\n        overflow-x: auto;\n        overflow-y: hidden;\n        scroll-behavior: smooth;\n        scrollbar-width: none;\n        padding: 1px 0;\n    }\n\n    #sp-inlet-gallery .sp-thumbnails::-webkit-scrollbar {\n        display: none;\n    }\n\n    #sp-inlet-gallery .sp-thumb {\n        flex: 0 0 62px;\n        width: 62px;\n        min-width: 62px;\n        min-height: 0;\n        height: auto;\n        padding: 3px;\n        border: 1px solid var(--sp-border);\n        border-radius: 5px;\n        gap: 2px;\n    }\n\n    #sp-inlet-gallery .sp-thumb.active {\n        border: 2px solid var(--sp-orange);\n    }\n\n    #sp-inlet-gallery .sp-thumb-image {\n        width: 100%;\n        height: auto;\n        aspect-ratio: 4 \/ 3;\n        min-height: 0;\n        flex: 0 0 auto;\n        border-radius: 3px;\n    }\n\n    #sp-inlet-gallery .sp-thumb-label {\n        font-size: 8px;\n        line-height: 1.05;\n    }\n\n    #sp-inlet-gallery .sp-thumb-part {\n        font-size: 7px;\n        line-height: 1;\n    }\n\/* PAGINATION *\/\n    #sp-inlet-gallery .sp-gallery-pagination {\n        display: flex;\n        justify-content: center;\n        align-items: center;\n        gap: 5px;\n        margin-top: 4px;\n        height: 7px;\n    }\n\n    #sp-inlet-gallery .sp-page-dot {\n        width: 6px;\n        height: 6px;\n    }\n}\n\/* Elementor containers must not clip hotspot tooltips *\/\n.sp-gallery-overflow,\n.sp-gallery-overflow > .e-con,\n.sp-gallery-overflow > .elementor-widget-container {\n    overflow: visible !important;\n}\n<\/style>\n\n<script>\n(function () {\n    function initSmartPlugInletGallery() {\n\n        const gallery = document.getElementById(\"sp-inlet-gallery\");\n        if (!gallery || gallery.dataset.initialized === \"true\") return;\n\n        gallery.dataset.initialized = \"true\";\n\n        const slides = gallery.querySelectorAll(\".sp-gallery-slide\");\n        const thumbs = gallery.querySelectorAll(\".sp-thumb\");\n        const hotspots = gallery.querySelectorAll(\".sp-hotspot\");\n        const pageDots = gallery.querySelectorAll(\".sp-page-dot\");\n        const variantSlides = gallery.querySelectorAll(\".sp-variant-slide\");\n        const thumbnailContainer = gallery.querySelector(\".sp-thumbnails\");\n        const thumbPrev = gallery.querySelector(\".sp-thumb-prev\");\n        const thumbNext = gallery.querySelector(\".sp-thumb-next\");\n\n        if (!slides.length || !thumbs.length) return;\n\n        let currentIndex = 0;\n\n        \/* =====================================================\n        RESPONSIVE HOTSPOT POSITIONING\n        Keeps the existing Desktop\/Mobile hotspot controls, but\n        maps those percentage coordinates onto the actual rendered\n        image so the hotspots move with the image when it scales\n        or changes size. No Laptop\/Tablet hotspot controls are used.\n        ===================================================== *\/\n        function syncFeatureHotspots() {\n            const featureSlide = slides[0];\n            if (!featureSlide) return;\n\n            const imageClip = featureSlide.querySelector(\".sp-main-image-clip\");\n            const image = featureSlide.querySelector(\".sp-main-image-clip > img\");\n            const featureHotspots = featureSlide.querySelectorAll(\".sp-hotspot\");\n\n            if (!imageClip || !image || !featureHotspots.length) return;\n            if (!image.naturalWidth || !image.naturalHeight) return;\n\n            const clipRect = imageClip.getBoundingClientRect();\n            if (!clipRect.width || !clipRect.height) return;\n\n            const viewportWidth = window.innerWidth;\n            const mobile = viewportWidth <= 600;\n            const mode = mobile ? \"mobile\" : \"desktop\";\n\n            const x = parseFloat(\n                image.style.getPropertyValue(\"--image-x-\" + mode)\n            ) || 0;\n\n            const y = parseFloat(\n                image.style.getPropertyValue(\"--image-y-\" + mode)\n            ) || 0;\n\n            const scale = parseFloat(\n                image.style.getPropertyValue(\"--image-scale-\" + mode)\n            ) || 1;\n\n            const imageRatio = image.naturalWidth \/ image.naturalHeight;\n            const boxRatio = clipRect.width \/ clipRect.height;\n\n            let renderedWidth;\n            let renderedHeight;\n\n            if (imageRatio > boxRatio) {\n                renderedWidth = clipRect.width;\n                renderedHeight = renderedWidth \/ imageRatio;\n            } else {\n                renderedHeight = clipRect.height;\n                renderedWidth = renderedHeight * imageRatio;\n            }\n\n            renderedWidth *= scale;\n            renderedHeight *= scale;\n\n            const imageLeft = (clipRect.width - renderedWidth) \/ 2 + x;\n            const imageTop = (clipRect.height - renderedHeight) \/ 2 + y;\n\n            featureHotspots.forEach(function (hotspot) {\n                const top = parseFloat(\n                    hotspot.style.getPropertyValue(\"--top-\" + mode)\n                );\n                const left = parseFloat(\n                    hotspot.style.getPropertyValue(\"--left-\" + mode)\n                );\n\n                const hotspotX = parseFloat(\n                    hotspot.style.getPropertyValue(\"--hotspot-x-\" + mode)\n                ) || 0;\n\n                const hotspotY = parseFloat(\n                    hotspot.style.getPropertyValue(\"--hotspot-y-\" + mode)\n                ) || 0;\n\n                if (!Number.isFinite(top) || !Number.isFinite(left)) return;\n\n                hotspot.style.setProperty(\n                    \"--sp-hotspot-left-px\",\n                    imageLeft + (renderedWidth * left \/ 100) + hotspotX + \"px\"\n                );\n\n                hotspot.style.setProperty(\n                    \"--sp-hotspot-top-px\",\n                    imageTop + (renderedHeight * top \/ 100) + hotspotY + \"px\"\n                );\n\n                hotspot.style.setProperty(\n                    \"--sp-hotspot-scale-active\",\n                    hotspot.style.getPropertyValue(\"--hotspot-scale-\" + mode) ||\n                    hotspot.style.getPropertyValue(\"--hotspot-scale-desktop\") ||\n                    \"1\"\n                );\n            });\n\n            featureHotspots.forEach(function (hotspot) {\n                const activeScale = parseFloat(\n                    hotspot.style.getPropertyValue(\"--hotspot-scale-active\")\n                );\n\n                if (Number.isFinite(activeScale)) {\n                    hotspot.style.transform =\n                        \"translate(-50%, -50%) scale(\" + activeScale + \")\";\n                }\n            });\n        }\n\n        let hotspotFrame = null;\n\n        function scheduleFeatureHotspotSync() {\n            if (hotspotFrame) cancelAnimationFrame(hotspotFrame);\n\n            hotspotFrame = requestAnimationFrame(function () {\n                hotspotFrame = null;\n                syncFeatureHotspots();\n            });\n        }\n\n        function showSlide(index) {\n\n            if (index < 0) index = slides.length - 1;\n            if (index >= slides.length) index = 0;\n\n            slides.forEach(function (slide, i) {\n                slide.classList.toggle(\"active\", i === index);\n            });\n\n        thumbs.forEach(function (thumb, i) {\n            const thumbTarget = parseInt(thumb.getAttribute(\"data-target\"), 10);\n            thumb.classList.toggle(\"active\", i === index && !thumb.hasAttribute(\"data-view\"));\n        });\n\n\npageDots.forEach(function (dot, i) {\n    dot.classList.toggle(\"active\", i === index);\n});\n\ncurrentIndex = index;\nscheduleFeatureHotspotSync();\n\nconst activeSlide = slides[currentIndex];\nconst activeViewForThumb = activeSlide ? (activeSlide.dataset.currentView || \"inlet\") : \"inlet\";\nlet activeThumb = null;\nthumbs.forEach(function (thumb) {\n    const thumbTarget = parseInt(thumb.getAttribute(\"data-target\"), 10);\n    const thumbView = thumb.getAttribute(\"data-view\") || \"inlet\";\n    if (!activeThumb && thumbTarget === index && thumbView === activeViewForThumb) {\n        activeThumb = thumb;\n    }\n});\n\nif (activeThumb && thumbnailContainer) {\n    const left = activeThumb.offsetLeft;\n    const right = left + activeThumb.offsetWidth;\n    const viewLeft = thumbnailContainer.scrollLeft;\n    const viewRight = viewLeft + thumbnailContainer.clientWidth;\n\n    if (left < viewLeft || right > viewRight) {\n        thumbnailContainer.scrollTo({\n            left: left - (thumbnailContainer.clientWidth \/ 2) + (activeThumb.offsetWidth \/ 2),\n            behavior: \"smooth\"\n        });\n}\n}\n\nhotspots.forEach(function (hotspot) {\n    hotspot.classList.remove(\"is-open\");\n});\n}\n\nthumbs.forEach(function (thumb) {\n    thumb.addEventListener(\"click\", function (event) {\n        event.preventDefault();\n        event.stopPropagation();\n\n        const target = parseInt(thumb.getAttribute(\"data-target\"), 10);\n        if (!isNaN(target)) {\n            showSlide(target);\n    }\n});\n});\n\n\/*\n * The gallery has 5 visual navigation states:\n * 0 = Features\n * 1 = Stainless\n * 2 = Black\n * 3 = Gray\n * 4 = White\n *\/\nconst galleryStates = [\n    { slide: 0, view: \"inlet\" },\n    { slide: 1, view: \"inlet\" },\n    { slide: 2, view: \"inlet\" }\n];\n\nfunction getGalleryStateIndex() {\n    const activeSlide = slides[currentIndex];\n    return activeSlide ? currentIndex : 0;\n}\n\nfunction updateGalleryPagination(stateIndex) {\n    pageDots.forEach(function (dot, i) {\n        dot.classList.toggle(\"active\", i === stateIndex);\n    });\n}\n\nfunction showGalleryState(stateIndex) {\n    if (stateIndex < 0) stateIndex = galleryStates.length - 1;\n    if (stateIndex >= galleryStates.length) stateIndex = 0;\n\n    const state = galleryStates[stateIndex];\n    const targetSlide = slides[state.slide];\n    if (!targetSlide) return;\n\n    showSlide(state.slide);\n    updateGalleryPagination(stateIndex);\n}\n\npageDots.forEach(function (dot) {\n    dot.addEventListener(\"click\", function (event) {\n        event.preventDefault();\n        event.stopPropagation();\n\n        const target = parseInt(dot.getAttribute(\"data-page\"), 10);\n\n        if (!isNaN(target)) {\n            showGalleryState(target);\n        }\n    });\n});\n\nfunction scrollThumbnailStrip(direction) {\n    if (!thumbnailContainer || !window.matchMedia(\"(max-width: 600px)\").matches) return;\n\n    const thumbnailItems = Array.from(thumbnailContainer.querySelectorAll(\".sp-thumb\"));\n    if (!thumbnailItems.length) return;\n\n    let activeThumbIndex = thumbnailItems.findIndex(function (thumb) {\n        return thumb.classList.contains(\"active\");\n    });\n\n    if (activeThumbIndex < 0) activeThumbIndex = 0;\n\n    let targetIndex = activeThumbIndex + (direction > 0 ? 1 : -1);\n    if (targetIndex < 0) targetIndex = thumbnailItems.length - 1;\n    if (targetIndex >= thumbnailItems.length) targetIndex = 0;\n\n    \/\/ The mobile arrows select the next\/previous thumbnail, rather than only scrolling the strip.\n    thumbnailItems[targetIndex].click();\n\n    thumbnailItems[targetIndex].scrollIntoView({\n        behavior: \"smooth\",\n        block: \"nearest\",\n        inline: \"center\"\n    });\n}\nif (thumbPrev) {\n    thumbPrev.addEventListener(\"click\", function (event) {\n        event.preventDefault();\n        event.stopPropagation();\n        scrollThumbnailStrip(-1);\n    });\n}\n\nif (thumbNext) {\n    thumbNext.addEventListener(\"click\", function (event) {\n        event.preventDefault();\n        event.stopPropagation();\n        scrollThumbnailStrip(1);\n    });\n}\n\nhotspots.forEach(function (hotspot) {\n\n    hotspot.addEventListener(\"click\", function (event) {\n        event.preventDefault();\n        event.stopPropagation();\n\n        const isOpen = hotspot.classList.contains(\"is-open\");\n\n        hotspots.forEach(function (item) {\n            item.classList.remove(\"is-open\");\n        });\n\n    if (!isOpen) {\n        hotspot.classList.add(\"is-open\");\n    }\n});\n\n});\n\ndocument.addEventListener(\"click\", function (event) {\n    if (!gallery.contains(event.target)) {\n        hotspots.forEach(function (hotspot) {\n            hotspot.classList.remove(\"is-open\");\n        });\n}\n});\n\n\n\n\/* =================================================\nVIEW FULL SCREEN + HOVER ZOOM\n================================================= *\/\n\n\/* =========================================================\nFULL SCREEN POPUP CONTENT + IMAGE SETTINGS \u2014 EDIT HERE\n\nYou can independently edit EACH popup here.\n\nFor every item:\n- image = popup image URL (can be different from the gallery image)\n- title = popup title\n- description = popup description\/content\n\nDesktop popup:\n- popupWidth = popup width\n- popupHeight = popup height\n- imageWidth \/ imageHeight = popup image size\n- imageX \/ imageY = popup image position\n\nMobile popup:\n- popupWidthMobile = popup width\n- popupHeightMobile = popup height\n- imageAreaHeightMobile = image viewing area height\n- imageWidthMobile \/ imageHeightMobile = popup image size\n- imageXMobile \/ imageYMobile = popup image position\n\nYou can add HTML inside description if needed.\n========================================================= *\/\nconst FULLSCREEN_CONTENT = {\n    0: { image: \"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/09\/Connector-30A.png\", title: \"SmartPlug Connector Features\", description: \"Click the numbered points to explore the connector.\", popupWidth: \"1100px\", popupHeight: \"520px\", imageWidth: \"100%\", imageHeight: \"100%\", imageX: \"0px\", imageY: \"0px\", popupWidthMobile: \"calc(100vw - 16px)\", popupHeightMobile: \"90vh\", imageAreaHeightMobile: \"54vh\", imageWidthMobile: \"100%\", imageHeightMobile: \"100%\", imageXMobile: \"0px\", imageYMobile: \"0px\" },\n    1: { image: \"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/09\/Connector-30A.png\", title: \"30A Connector\", description: \"Non-Metallic - Orange\", popupWidth: \"1100px\", popupHeight: \"520px\", imageWidth: \"100%\", imageHeight: \"100%\", imageX: \"0px\", imageY: \"0px\", popupWidthMobile: \"calc(100vw - 16px)\", popupHeightMobile: \"90vh\", imageAreaHeightMobile: \"54vh\", imageWidthMobile: \"100%\", imageHeightMobile: \"100%\", imageXMobile: \"0px\", imageYMobile: \"0px\" },\n    2: { image: \"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/09\/Connector-50A.png\", title: \"50A Connector\", description: \"Non-Metallic - Orange\", popupWidth: \"1100px\", popupHeight: \"520px\", imageWidth: \"100%\", imageHeight: \"100%\", imageX: \"0px\", imageY: \"0px\", popupWidthMobile: \"calc(100vw - 16px)\", popupHeightMobile: \"90vh\", imageAreaHeightMobile: \"54vh\", imageWidthMobile: \"100%\", imageHeightMobile: \"100%\", imageXMobile: \"0px\", imageYMobile: \"0px\" }\n}\nconst fullscreenModal = document.createElement(\"div\");\nfullscreenModal.className = \"sp-fullscreen-modal\";\nfullscreenModal.setAttribute(\"aria-hidden\", \"true\");\nfullscreenModal.innerHTML = `\n    <div class=\"sp-fullscreen-dialog\" role=\"dialog\" aria-modal=\"true\" aria-label=\"Product full screen view\">\n        <button type=\"button\" class=\"sp-fullscreen-close\" aria-label=\"Close full screen\">&times;<\/button>\n        <div class=\"sp-fullscreen-image-area\">\n            <img class=\"sp-fullscreen-image\" alt=\"\">\n        <\/div>\n        <div class=\"sp-fullscreen-info\">\n            <div class=\"sp-fullscreen-title\"><\/div>\n            <div class=\"sp-fullscreen-description\"><\/div>\n            <div class=\"sp-fullscreen-part-number\">PART NUMBER: <strong class=\"sp-fullscreen-part-number-value\"><\/strong><\/div>\n            <div class=\"sp-fullscreen-thumbnails\"><\/div>\n        <\/div>\n    <\/div>\n`;\ngallery.appendChild(fullscreenModal);\n\nconst fullscreenImage = fullscreenModal.querySelector(\".sp-fullscreen-image\");\nconst fullscreenTitle = fullscreenModal.querySelector(\".sp-fullscreen-title\");\nconst fullscreenDescription = fullscreenModal.querySelector(\".sp-fullscreen-description\");\nconst fullscreenPartNumberValue = fullscreenModal.querySelector(\".sp-fullscreen-part-number-value\");\nconst fullscreenThumbs = fullscreenModal.querySelector(\".sp-fullscreen-thumbnails\");\nconst fullscreenClose = fullscreenModal.querySelector(\".sp-fullscreen-close\");\n\nfunction getActiveGalleryImage() {\n    const activeSlide = slides[currentIndex];\n    if (!activeSlide) return null;\n\n    if (currentIndex === 0) {\n        return activeSlide.querySelector(\".sp-main-image-clip img\");\n    }\n\n    return activeSlide.querySelector(\".sp-variant-image\");\n}\n\nfunction getActiveGalleryCopy() {\n    const activeState = getActiveVisualState();\n    const custom = FULLSCREEN_CONTENT[activeState];\n\n    if (custom) {\n        return {\n            title: custom.title || \"\",\n            description: custom.description || \"\"\n        };\n    }\n\n    const activeSlide = slides[currentIndex];\n    if (!activeSlide) {\n        return { title: \"\", description: \"\" };\n    }\n\n    const titleElement =\n        activeSlide.querySelector(\".sp-mobile-variant-title .sp-slide-title\") ||\n        activeSlide.querySelector(\".sp-side-info .sp-slide-title\") ||\n        activeSlide.querySelector(\".sp-slide-title\");\n\n    const descriptionElement =\n        activeSlide.querySelector(\".sp-mobile-variant-title .sp-slide-subtitle\") ||\n        activeSlide.querySelector(\".sp-side-info .sp-slide-subtitle\") ||\n        activeSlide.querySelector(\".sp-slide-subtitle\");\n\n    return {\n        title: titleElement ? titleElement.textContent.trim() : \"\",\n        description: descriptionElement ? descriptionElement.textContent.trim() : \"\"\n    };\n}\n\nfunction getActiveVisualState() {\n    return currentIndex;\n}\n\nfunction applyFullscreenSettings(activeState) {\n    const settings = FULLSCREEN_CONTENT[activeState] || FULLSCREEN_CONTENT[0] || {};\n\n    const dialog = fullscreenModal.querySelector(\".sp-fullscreen-dialog\");\n\n    if (!dialog) return;\n\n    dialog.style.setProperty(\"--sp-popup-width-desktop\", settings.popupWidth || \"1100px\");\n    dialog.style.setProperty(\"--sp-popup-height-desktop\", settings.popupHeight || \"520px\");\n    dialog.style.setProperty(\"--sp-popup-width-mobile\", settings.popupWidthMobile || \"calc(100vw - 16px)\");\n    dialog.style.setProperty(\"--sp-popup-height-mobile\", settings.popupHeightMobile || \"90vh\");\n    dialog.style.setProperty(\"--sp-popup-image-area-height-mobile\", settings.imageAreaHeightMobile || \"54vh\");\n\n    fullscreenImage.style.setProperty(\"--sp-popup-image-width-desktop\", settings.imageWidth || \"100%\");\n    fullscreenImage.style.setProperty(\"--sp-popup-image-height-desktop\", settings.imageHeight || \"100%\");\n    fullscreenImage.style.setProperty(\"--sp-popup-image-x-desktop\", settings.imageX || \"0px\");\n    fullscreenImage.style.setProperty(\"--sp-popup-image-y-desktop\", settings.imageY || \"0px\");\n\n    fullscreenImage.style.setProperty(\"--sp-popup-image-width-mobile\", settings.imageWidthMobile || \"100%\");\n    fullscreenImage.style.setProperty(\"--sp-popup-image-height-mobile\", settings.imageHeightMobile || \"100%\");\n    fullscreenImage.style.setProperty(\"--sp-popup-image-x-mobile\", settings.imageXMobile || \"0px\");\n    fullscreenImage.style.setProperty(\"--sp-popup-image-y-mobile\", settings.imageYMobile || \"0px\");\n}\n\nfunction refreshFullscreenModal() {\n    const activeImage = getActiveGalleryImage();\n    if (!activeImage || !activeImage.src) return;\n\n    const copy = getActiveGalleryCopy();\n    const activeState = getActiveVisualState();\n    const customContent = FULLSCREEN_CONTENT[activeState];\n\n    applyFullscreenSettings(activeState);\n\n    const activeSlide = slides[currentIndex];\nfullscreenImage.src = ((customContent && customContent.image) ? customContent.image : (activeImage.currentSrc || activeImage.src));\n    fullscreenImage.alt = copy.title || activeImage.alt || \"\";\nfullscreenTitle.textContent = copy.title || \"\";\n    fullscreenDescription.textContent = copy.description || \"\";\n\n    const normalPartNumber = activeSlide\n        ? activeSlide.querySelector(\".sp-part-number-value\")\n        : null;\n\n    fullscreenPartNumberValue.textContent = normalPartNumber\n        ? normalPartNumber.textContent.trim()\n        : \"\";\n\n    \/* The Features\/full-screen view has no part number. *\/\n    const fullscreenPartNumber = fullscreenPartNumberValue.closest(\".sp-fullscreen-part-number\");\n    if (fullscreenPartNumber) {\n        fullscreenPartNumber.style.display = activeState === 0 ? \"none\" : \"\";\n    }\n\n    fullscreenThumbs.innerHTML = \"\";\n\n    thumbs.forEach(function (thumb, index) {\n        const sourceImage = thumb.querySelector(\"img\");\n        if (!sourceImage) return;\n\n        const modalThumb = document.createElement(\"button\");\n        modalThumb.type = \"button\";\n        modalThumb.className = \"sp-fullscreen-thumb\";\n        modalThumb.setAttribute(\"aria-label\", thumb.getAttribute(\"aria-label\") || \"View product image\");\n\n        const modalThumbImage = document.createElement(\"img\");\n        modalThumbImage.src = sourceImage.currentSrc || sourceImage.src;\n        modalThumbImage.alt = sourceImage.alt || \"\";\n        modalThumb.appendChild(modalThumbImage);\n\n        const thumbTarget = parseInt(thumb.getAttribute(\"data-target\"), 10);\n        const activeState = getActiveVisualState();\n\n        if (thumbTarget === activeState) {\n            modalThumb.classList.add(\"active\");\n        }\n\n        modalThumb.addEventListener(\"click\", function (event) {\n            event.preventDefault();\n            event.stopPropagation();\n\n            showSlide(thumbTarget);\n\n            window.setTimeout(refreshFullscreenModal, 110);\n        });\n\n        fullscreenThumbs.appendChild(modalThumb);\n    });\n}\n\n\nlet fullscreenScrollTop = 0;\nlet fullscreenScrollLeft = 0;\nlet fullscreenBodyPaddingRight = \"\";\n\nfunction openFullscreenModal() {\n    refreshFullscreenModal();\n\n    fullscreenScrollTop = window.scrollY || window.pageYOffset || 0;\n    fullscreenScrollLeft = window.scrollX || window.pageXOffset || 0;\n    fullscreenBodyPaddingRight = document.body.style.paddingRight;\n\n    const scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;\n    if (scrollbarWidth > 0) {\n        document.body.style.paddingRight = scrollbarWidth + \"px\";\n    }\n\n    fullscreenModal.classList.add(\"is-open\");\n    fullscreenModal.setAttribute(\"aria-hidden\", \"false\");\n    document.body.style.overflow = \"hidden\";\n}\n\nfunction closeFullscreenModal() {\n    fullscreenModal.classList.remove(\"is-open\");\n    fullscreenModal.setAttribute(\"aria-hidden\", \"true\");\n    document.body.style.overflow = \"\";\n    document.body.style.paddingRight = fullscreenBodyPaddingRight;\n\n    window.scrollTo({\n        top: fullscreenScrollTop,\n        left: fullscreenScrollLeft,\n        behavior: \"auto\"\n    });\n}\n\nfullscreenClose.addEventListener(\"click\", function (event) {\n    event.preventDefault();\n    closeFullscreenModal();\n});\n\nfullscreenModal.addEventListener(\"click\", function (event) {\n    if (event.target === fullscreenModal) {\n        closeFullscreenModal();\n    }\n});\n\ndocument.addEventListener(\"keydown\", function (event) {\n    if (event.key === \"Escape\" && fullscreenModal.classList.contains(\"is-open\")) {\n        closeFullscreenModal();\n    }\n});\n\nfunction addFullscreenButtons() {\n    const featureWrap = gallery.querySelector(\".sp-main-product\");\n    if (featureWrap && !featureWrap.closest(\".sp-gallery-slide\").querySelector(\".sp-fullscreen-trigger\")) {\n        const button = document.createElement(\"button\");\n        button.type = \"button\";\n        button.className = \"sp-fullscreen-trigger\";\n        button.textContent = \"VIEW FULL SCREEN\";\n        button.addEventListener(\"click\", function (event) {\n            event.preventDefault();\n            event.stopPropagation();\n            openFullscreenModal();\n        });\n\n        const featureInfo = featureWrap.closest(\".sp-gallery-slide\").querySelector(\".sp-slide-info\");\n        if (featureInfo) {\n            featureInfo.appendChild(button);\n        } else {\n            featureWrap.appendChild(button);\n        }\n    }\n\n    variantSlides.forEach(function (slide) {\n        const imageWrap = slide.querySelector(\".sp-variant-image-wrap\");\n        if (!imageWrap || slide.querySelector(\".sp-fullscreen-trigger\")) return;\n\n        const button = document.createElement(\"button\");\n        button.type = \"button\";\n        button.className = \"sp-fullscreen-trigger\";\n        button.textContent = \"VIEW FULL SCREEN\";\n        button.addEventListener(\"click\", function (event) {\n            event.preventDefault();\n            event.stopPropagation();\n            openFullscreenModal();\n        });\n\n        const mobileTitle = slide.querySelector(\".sp-mobile-variant-title\");\n        const sideInfo = slide.querySelector(\".sp-side-info\");\n\n        if (sideInfo) {\n            const partNumber = sideInfo.querySelector(\".sp-part-number\");\n            if (partNumber) {\n                partNumber.insertAdjacentElement(\"afterend\", button);\n            } else {\n                sideInfo.appendChild(button);\n            }\n        } else {\n            imageWrap.appendChild(button);\n        }\n\n    });\n}\n\nfunction setupHoverZoom() {\n    variantSlides.forEach(function (slide) {\n        const imageWrap = slide.querySelector(\".sp-variant-image-wrap\");\n        const image = slide.querySelector(\".sp-variant-image\");\n        if (!imageWrap || !image || imageWrap.dataset.zoomInitialized === \"true\") return;\n\n        imageWrap.dataset.zoomInitialized = \"true\";\n\n        const preview = document.createElement(\"div\");\n        preview.className = \"sp-zoom-preview\";\n\n        const previewImage = document.createElement(\"img\");\n        previewImage.alt = \"\";\n        preview.appendChild(previewImage);\n        imageWrap.appendChild(preview);\n\n        function syncPreviewImage() {\n            const source = image.currentSrc || image.src;\n            if (source) {\n                previewImage.src = source;\n            }\n        }\n\n        image.addEventListener(\"load\", syncPreviewImage);\n        syncPreviewImage();\n\n        imageWrap.addEventListener(\"mouseenter\", function () {\n            syncPreviewImage();\n            imageWrap.classList.add(\"sp-zoom-active\");\n        });\n\n        imageWrap.addEventListener(\"mouseleave\", function () {\n            imageWrap.classList.remove(\"sp-zoom-active\");\n        });\n\n        imageWrap.addEventListener(\"mousemove\", function (event) {\n            if (window.innerWidth <= 600) return;\n\n            const rect = imageWrap.getBoundingClientRect();\n            const x = Math.max(0, Math.min(1, (event.clientX - rect.left) \/ rect.width));\n            const y = Math.max(0, Math.min(1, (event.clientY - rect.top) \/ rect.height));\n\n            previewImage.style.left = (-x * 100) + \"%\";\n            previewImage.style.top = (-y * 100) + \"%\";\n        });\n    });\n}\n\naddFullscreenButtons();\nsetupHoverZoom();\n\n\/* WooCommerce variation compatibility *\/\nif (window.jQuery) {\n    jQuery(document).on(\n    \"found_variation\",\n    \"form.variations_form\",\n    function (event, variation) {\n\n        if (!variation || !variation.image || !variation.image.src) return;\n\n        const variationImage = variation.image.src;\n\n        thumbs.forEach(function (thumb, index) {\n\n            const image = thumb.querySelector(\"img\");\n            if (!image) return;\n\n            const thumbImage = image.currentSrc || image.src;\n\n            if (\n            thumbImage === variationImage ||\n            thumbImage.includes(variationImage) ||\n            variationImage.includes(thumbImage)\n            ) {\n                showSlide(index);\n            }\n\n    });\n}\n);\n}\n\n        const featureImage = slides[0] ? slides[0].querySelector(\".sp-main-image-clip > img\") : null;\n        const featureClip = slides[0] ? slides[0].querySelector(\".sp-main-image-clip\") : null;\n\n        if (featureImage) {\n            if (featureImage.complete) {\n                scheduleFeatureHotspotSync();\n            } else {\n                featureImage.addEventListener(\"load\", scheduleFeatureHotspotSync);\n            }\n        }\n\n        window.addEventListener(\"resize\", scheduleFeatureHotspotSync);\n        window.addEventListener(\"orientationchange\", scheduleFeatureHotspotSync);\n\n        if (window.ResizeObserver && featureClip) {\n            const hotspotResizeObserver = new ResizeObserver(function () {\n                scheduleFeatureHotspotSync();\n            });\n            hotspotResizeObserver.observe(featureClip);\n        }\n\n        showSlide(0);\n}\n\nif (document.readyState === \"loading\") {\n    document.addEventListener(\"DOMContentLoaded\", initSmartPlugInletGallery);\n} else {\ninitSmartPlugInletGallery();\n}\n\nif (window.jQuery) {\n    jQuery(window).on(\"elementor\/frontend\/init\", function () {\n        setTimeout(initSmartPlugInletGallery, 150);\n    });\n}\n\n})();\n<\/script>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-8fd309a e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-child\" data-id=\"8fd309a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9f404ad elementor-widget elementor-widget-heading\" data-id=\"9f404ad\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Connector\u200b<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b747897 elementor-widget elementor-widget-text-editor\" data-id=\"b747897\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Designed to deliver a safer and more reliable shore power connection, the SmartPlug system minimizes the risk of overheating through increased pin and clip surface area, allowing for improved electrical conductivity even under high amperage demand. Its intuitive push-in design eliminates the need for twisting, while the unique plug body shape ensures proper alignment every time, making connection quick and effortless even in low-light conditions. The multi-point locking system uses secure side clips to hold the plug firmly in place, reducing movement and eliminating stress on the electrical pins caused by shifting cords. Integrated weatherproof gaskets within the inlet cover and plug body provide a tight seal against moisture, helping protect the connection from water intrusion and ensuring consistent performance in demanding environments.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f79334f elementor-widget elementor-widget-button\" data-id=\"f79334f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/dev.smartplug.com\/staging\/where-to-buy\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">WHERE TO BUY<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Connector\u200b 1 Multi-Point Locking System Side clips lock the plug securely into the inlet which eliminates any stress on the pins from movement of the power cord. 2 Reduces Overheating Increased pin &amp; clip surface area greatly improves electrical conductivity during high amperage demand. KEY Features Click the numbered points to explore the connector. 30A Connector Non-Metallic 30A Connector Non-Metallic PART NUMBER: BF30 50A Connector Non-Metallic 50A Connector Non-Metallic PART NUMBER: BF50 &#10094; Features 30A 50A &#10095; Connector\u200b Designed to deliver a safer and more reliable shore power connection, the SmartPlug system minimizes the risk of overheating through increased pin and clip surface area, allowing for improved electrical conductivity even under high amperage demand. Its intuitive push-in design eliminates the need for twisting, while the unique plug body shape ensures proper alignment every time, making connection quick and effortless even in low-light conditions. The multi-point locking system uses secure side clips to hold the plug firmly in place, reducing movement and eliminating stress on the electrical pins caused by shifting cords. Integrated weatherproof gaskets within the inlet cover and plug body provide a tight seal against moisture, helping protect the connection from water intrusion and ensuring consistent performance in demanding environments. WHERE TO BUY<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-20301","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/dev.smartplug.com\/staging\/wp-json\/wp\/v2\/pages\/20301","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dev.smartplug.com\/staging\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/dev.smartplug.com\/staging\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/dev.smartplug.com\/staging\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/dev.smartplug.com\/staging\/wp-json\/wp\/v2\/comments?post=20301"}],"version-history":[{"count":4,"href":"https:\/\/dev.smartplug.com\/staging\/wp-json\/wp\/v2\/pages\/20301\/revisions"}],"predecessor-version":[{"id":20317,"href":"https:\/\/dev.smartplug.com\/staging\/wp-json\/wp\/v2\/pages\/20301\/revisions\/20317"}],"wp:attachment":[{"href":"https:\/\/dev.smartplug.com\/staging\/wp-json\/wp\/v2\/media?parent=20301"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}