{"id":14092,"date":"2025-12-19T21:11:25","date_gmt":"2025-12-19T21:11:25","guid":{"rendered":"https:\/\/dev.smartplug.com\/staging\/?page_id=14092"},"modified":"2026-08-05T20:34:53","modified_gmt":"2026-08-05T20:34:53","slug":"16-amp","status":"publish","type":"page","link":"https:\/\/dev.smartplug.com\/staging\/categories\/16-amp\/","title":{"rendered":"16 AMP"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"14092\" class=\"elementor elementor-14092\">\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\">16 Amperage<\/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-a90df31 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=\"a90df31\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c61bfee elementor-widget elementor-widget-html\" data-id=\"c61bfee\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div class=\"custom-dock-wrapper\" id=\"custom-dock-wrapper\">\r\n\r\n    <div class=\"custom-dock-trigger\" id=\"custom-dock-trigger\">\r\n        \u2630\r\n        <span class=\"custom-dock-badge\" id=\"custom-dock-badge\">0<\/span>\r\n    <\/div>\r\n\r\n    <div class=\"custom-dock-hint\" id=\"custom-dock-hint\">\r\n        <small>Having trouble finding the right product?<\/small>\r\n        <strong>TRY PRODUCT FILTER<\/strong>\r\n    <\/div>\r\n\r\n    <div class=\"custom-dock-flyout\">\r\n\r\n        <div class=\"custom-dock-header-row\">\r\n            <span class=\"custom-dock-filter-label\">Product Filter<\/span>\r\n            <button type=\"button\" class=\"custom-dock-reset-btn\" id=\"custom-dock-reset-btn\">\r\n                Reset Filters\r\n            <\/button>\r\n        <\/div>\r\n\r\n        \r\n\r\n        \r\n        <div class=\"custom-dock-search-row\">\r\n            <input\r\n                type=\"text\"\r\n                id=\"custom-dock-search\"\r\n                class=\"custom-dock-search-input\"\r\n                placeholder=\"Search products\u2026\"\r\n                autocomplete=\"off\"\r\n            >\r\n        <\/div>\r\n\r\n        \r\n        <div class=\"custom-dock-chips\" id=\"custom-dock-chips\"><\/div>\r\n\r\n        \r\n\r\n        <button class=\"custom-dock-cat-btn\">\r\n            Application\r\n        <\/button>\r\n\r\n        <div class=\"custom-dock-prod-list\">\r\n\r\n            <label class=\"custom-dock-prod-link\">\r\n                <input type=\"checkbox\" class=\"product-filter\" data-filter=\"application\" value=\"marine\">\r\n                Marine\r\n            <\/label>\r\n\r\n            <label class=\"custom-dock-prod-link\">\r\n                <input type=\"checkbox\" class=\"product-filter\" data-filter=\"application\" value=\"rv\">\r\n                RV\r\n            <\/label>\r\n\r\n            <label class=\"custom-dock-prod-link\">\r\n                <input type=\"checkbox\" class=\"product-filter\" data-filter=\"application\" value=\"dockside\">\r\n                Dockside\r\n            <\/label>\r\n\r\n            <label class=\"custom-dock-prod-link\">\r\n                <input type=\"checkbox\" class=\"product-filter\" data-filter=\"application\" value=\"specialty\">\r\n                Specialty\r\n            <\/label>\r\n\r\n        <\/div>\r\n\r\n        \r\n\r\n        <button class=\"custom-dock-cat-btn\">\r\n            Product Type\r\n        <\/button>\r\n\r\n        <div class=\"custom-dock-prod-list\">\r\n\r\n            <label class=\"custom-dock-prod-link\">\r\n                <input type=\"checkbox\" class=\"product-filter\" data-filter=\"type\" value=\"connector\">\r\n                Connector\r\n            <\/label>\r\n\r\n            <label class=\"custom-dock-prod-link\">\r\n                <input type=\"checkbox\" class=\"product-filter\" data-filter=\"type\" value=\"cordset\">\r\n                Cordset\r\n            <\/label>\r\n\r\n            \r\n            <label class=\"custom-dock-prod-link\">\r\n                <input type=\"checkbox\" class=\"product-filter\" data-filter=\"type\" value=\"inlet\">\r\n                Inlet\r\n            <\/label>\r\n\r\n            <label class=\"custom-dock-prod-link\">\r\n                <input type=\"checkbox\" class=\"product-filter\" data-filter=\"type\" value=\"elci\">\r\n                ELCI\r\n            <\/label>\r\n\r\n            <label class=\"custom-dock-prod-link\">\r\n                <input type=\"checkbox\" class=\"product-filter\" data-filter=\"type\" value=\"service-kits\">\r\n                Service Kits\r\n            <\/label>\r\n\r\n            <label class=\"custom-dock-prod-link\">\r\n                <input type=\"checkbox\" class=\"product-filter\" data-filter=\"type\" value=\"combokit\">\r\n                Combokit\r\n            <\/label>\r\n\r\n            <label class=\"custom-dock-prod-link\">\r\n                <input type=\"checkbox\" class=\"product-filter\" data-filter=\"type\" value=\"data-ports\">\r\n                Data Ports\r\n            <\/label>\r\n\r\n        <\/div>\r\n\r\n        \r\n\r\n        <button class=\"custom-dock-cat-btn\">\r\n            Amperage\r\n        <\/button>\r\n\r\n        <div class=\"custom-dock-prod-list custom-dock-prod-list-amp\">\r\n\r\n            <label class=\"custom-dock-prod-link custom-dock-amp-link\">\r\n                <input type=\"checkbox\" class=\"product-filter\" data-filter=\"amp\" value=\"15\">\r\n                <span class=\"custom-dock-amp-text\">15A<small>Standard outlets<\/small><\/span>\r\n            <\/label>\r\n\r\n            <label class=\"custom-dock-prod-link custom-dock-amp-link\">\r\n                <input type=\"checkbox\" class=\"product-filter\" data-filter=\"amp\" value=\"16\">\r\n                <span class=\"custom-dock-amp-text\">16A<small>Compact setups<\/small><\/span>\r\n            <\/label>\r\n\r\n            <label class=\"custom-dock-prod-link custom-dock-amp-link\">\r\n                <input type=\"checkbox\" class=\"product-filter\" data-filter=\"amp\" value=\"30\">\r\n                <span class=\"custom-dock-amp-text\">30A<small>Most RVs<\/small><\/span>\r\n            <\/label>\r\n\r\n            <label class=\"custom-dock-prod-link custom-dock-amp-link\">\r\n                <input type=\"checkbox\" class=\"product-filter\" data-filter=\"amp\" value=\"32\">\r\n                <span class=\"custom-dock-amp-text\">32A<small>Larger boats<\/small><\/span>\r\n            <\/label>\r\n\r\n            <label class=\"custom-dock-prod-link custom-dock-amp-link\">\r\n                <input type=\"checkbox\" class=\"product-filter\" data-filter=\"amp\" value=\"50\">\r\n                <span class=\"custom-dock-amp-text\">50A<small>Large RVs &amp; boats<\/small><\/span>\r\n            <\/label>\r\n\r\n        <\/div>\r\n\r\n        <div class=\"custom-dock-results\">\r\n\r\n            <h4>Matching Products <span id=\"match-count\" class=\"custom-dock-match-count\"><\/span><\/h4>\r\n\r\n            \r\n            <div id=\"sub-filters-section\"><\/div>\r\n\r\n            <div id=\"recommended-products\">\r\n                <p class=\"custom-dock-empty-msg\">Check an attribute above to see matching products.<\/p>\r\n                <a href=\"https:\/\/dev.smartplug.com\/staging\/shop\/\" class=\"custom-dock-browse-all-btn\">\r\n                    Browse All Products \u2192\r\n                <\/a>\r\n            <\/div>\r\n\r\n            <div id=\"related-products\"><\/div>\r\n\r\n        <\/div>\r\n\r\n    <\/div>\r\n\r\n<\/div>\r\n\r\n<script>\r\n\r\n\/\/ Swap these image\/url values for your real product data.\r\nconst products = [\r\n    {\r\n        name: \"SmartPlug Connector\",\r\n        url: \"https:\/\/dev.smartplug.com\/staging\/smartplug-connector\/\",\r\n        image: \"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Connector.avif\",\r\n        attributes: { application: [\"rv\", \"marine\"], type: [\"connector\"], amp: [] }\r\n    },\r\n    {\r\n        name: \"SmartPlug Inlet\",\r\n        url: \"https:\/\/dev.smartplug.com\/staging\/smartplug-inlet\/\",\r\n        image: \"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Inlet.avif\",\r\n        \/\/ \"color\" only exists on products where it's relevant \u2014 that's what\r\n        \/\/ makes the Color sub-filter appear only when it's actually useful.\r\n        attributes: { application: [\"rv\"], type: [\"inlet\"], amp: [], color: [\"stainless\", \"white\", \"grey\", \"black\"] }\r\n    },\r\n    {\r\n        name: \"Angled RV Cordset 30 Amp\",\r\n        url: \"https:\/\/dev.smartplug.com\/staging\/angled-rv-cordset-30-amp\/\",\r\n        image: \"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/Angled-RV-Cordset-30-Amp.avif\",\r\n        attributes: { application: [\"marine\"], type: [\"cordset\"], amp: [\"30\"] }\r\n    },\r\n    {\r\n        \/\/ Merged with the duplicate \"data-ports\" version of this product \u2014\r\n        \/\/ the two copies disagreed on type (inlet vs. data-ports). Since\r\n        \/\/ there's a dedicated Data Ports checkbox and the product is\r\n        \/\/ clearly TV\/phone\/internet (not power), it's classified as\r\n        \/\/ data-ports only. Flip this back to \"inlet\" if that's wrong.\r\n        name: \"SmartPlug TV\/Phone\/Internet Inlets\",\r\n        url: \"https:\/\/dev.smartplug.com\/staging\/smartplug-tv-phone-internet-inlets\/\",\r\n        image: \"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-TV_Phone_Internet-Inlets-1.avif\",\r\n        attributes: { application: [\"marine\", \"rv\"], type: [\"data-ports\"], amp: [] }\r\n    },\r\n    {\r\n        \/\/ Merged with a duplicate entry that had fuller amp data (30\/50)\r\n        \/\/ and a \"push-type\" tag; kept this one's real url\/image.\r\n        name: \"SmartPlug Cordset With Push-Type Park Power Connector\",\r\n        url: \"https:\/\/dev.smartplug.com\/staging\/smartplug-cordset-with-push-type-park-power-connector\/\",\r\n        image: \"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Cordset-With-Push-Type-Park-Power-Connector.avif\",\r\n        attributes: { application: [\"rv\"], type: [\"cordset\", \"push-type\"], amp: [\"30\", \"50\"] }\r\n    },\r\n    {\r\n        \/\/ Merged with a duplicate entry that had \"combat-kits\" (typo for\r\n        \/\/ \"combokit\" \u2014 didn't match the Combokit checkbox at all), plus\r\n        \/\/ extra amps\/applications. Union'd everything together here.\r\n        name: \"SmartPlug Combo Kit\",\r\n        url: \"https:\/\/dev.smartplug.com\/staging\/smartplug-combo-kit-2\/\",\r\n        image: \"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Combo-Kit.avif\",\r\n        attributes: { application: [\"marine\", \"rv\", \"specialty\"], type: [\"combokit\"], amp: [\"15\", \"16\", \"30\", \"32\", \"50\"] }\r\n    },\r\n    {\r\n        \/\/ Renamed from \"50A SmartPlug Female Connector to 15A STD Wall Plug\r\n        \/\/ Connector\" to match the authoritative product name \u2014 it shared the\r\n        \/\/ exact same URL as the placeholder duplicate below, so the two are\r\n        \/\/ merged into one entry (attributes union'd) rather than listed twice.\r\n        name: \"15 Amp 115V \/ 30 Amp 125V \u2013 4\u2019 Cordset\",\r\n        url: \"https:\/\/dev.smartplug.com\/staging\/15-amp-115v-30-amp-125v-4-cordset\/\",\r\n        image: \"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/15-Amp-115V-_-30-Amp-125V-%E2%80%93-4-Cordset.avif\",\r\n        attributes: { application: [\"rv\", \"dockside\", \"marine\"], type: [\"cordset\"], amp: [\"15\", \"30\"] }\r\n    },\r\n    {\r\n        \/\/ Merged with a duplicate entry that had a different (conflicting)\r\n        \/\/ application list \u2014 union'd both together.\r\n        name: \"SmartPlug Dual Configuration Smartplug Cordset w\/SmartPlug Connector Shore Power End\",\r\n        url: \"https:\/\/dev.smartplug.com\/staging\/smartplug-dual-configuration-smartplug-cordset-w-smartplug-connector-shore-power-end\/\",\r\n        image: \"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Dual-Configuration-Smartplug-Cordset-w_SmartPlug-Connector-Shore-Power-End.avif\",\r\n        attributes: {\r\n            application: [\"marine\", \"rv\", \"dockside\", \"specialty\"],\r\n            type: [\"cordset\", \"connector\"],\r\n            amp: [\"30\", \"50\"] }\r\n    },\r\n    {\r\n        name: \"Angled RV Cordset 50 Amp\",\r\n        url: \"https:\/\/dev.smartplug.com\/staging\/angled-rv-cordset-50-amp\/\",\r\n        image: \"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/Angled-RV-Cordset-50-Amp.avif\",\r\n        attributes: {\r\n            application: [\"rv\"],\r\n            type: [\"cordset\"],\r\n            amp: [\"50\"]\r\n        }\r\n    },\r\n    {\r\n        name: \"SmartPlug Connector - White\",\r\n        url: \"#\",\r\n        image: \"https:\/\/placehold.co\/45x45\/0D1C38\/fff?text=SP\",\r\n        attributes: {\r\n            application: [\"marine\", \"rv\", \"specialty\"],\r\n            type: [\"connector\"],\r\n            amp: [\"16\", \"30\", \"32\", \"50\"],\r\n            color: [\"white\"]\r\n        }\r\n    },\r\n    {\r\n        name: \"SmartPlug Inlet - White\",\r\n        url: \"#\",\r\n        image: \"https:\/\/placehold.co\/45x45\/0D1C38\/fff?text=SP\",\r\n        attributes: {\r\n            application: [\"marine\", \"rv\", \"specialty\"],\r\n            type: [\"inlet\"],\r\n            amp: [\"16\", \"30\", \"32\", \"50\"],\r\n            color: [\"white\"]\r\n        }\r\n    },\r\n    {\r\n        name: \"15 Amp 115V \/ 30 Amp 125V \u2013 25\u2019 and 50\u2032 Cordset\",\r\n        url: \"https:\/\/dev.smartplug.com\/staging\/15-amp-115v-30-amp-125v-25-and-50%e2%80%b2-cordset\/\",\r\n        image: \"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/15-Amp-115V-_-30-Amp-125V-%E2%80%93-25-and-50%E2%80%B2-Cordset.avif\",\r\n        attributes: {\r\n            application: [\"marine\", \"rv\"],\r\n            type: [\"cordset\"],\r\n            amp: [\"15\", \"30\"]\r\n        }\r\n    },\r\n    {\r\n        name: \"SmartPlug Dual Configuration Smartplug Cordset w\/ Shore Power Twist-Type Connector\",\r\n        url: \"https:\/\/dev.smartplug.com\/staging\/smartplug-dual-configuration-smartplug-cordset-w-shore-power-twist-type-connector\/\",\r\n        image: \"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Dual-Configuration-Smartplug-Cordset-w_-Shore-Power-Twist-Type-Connector-2.avif\",\r\n        attributes: {\r\n            application: [\"marine\", \"specialty\"],\r\n            type: [\"cordset\", \"twist-type\"],\r\n            amp: [\"30\", \"50\"]\r\n        }\r\n    },\r\n    {\r\n        name: \"SmartPlug Harmonized Cord w\/ SmartPlug Boat Side Connector w\/ Blunt End\",\r\n        url: \"https:\/\/dev.smartplug.com\/staging\/smartplug-harmonized-cord-w-smartplug-boat-side-connector-w-blunt-end\/\",\r\n        image: \"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Harmonized-Cord-w_-SmartPlug-Boat-Side-Connector-w_-Blunt-End.avif\",\r\n        attributes: {\r\n            application: [\"marine\", \"specialty\"],\r\n            type: [\"cordset\", \"connector\"],\r\n            amp: [\"16\", \"32\"]\r\n        }\r\n    },\r\n    {\r\n        name: \"SmartPlug ELCI Sensor & Breaker Combo Kit\",\r\n        url: \"https:\/\/dev.smartplug.com\/staging\/smartplug-elci-sensor-breaker-combo-kit\/\",\r\n        image: \"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-ELCI-Sensor-Breaker-Combo-Kit.avif\",\r\n        attributes: {\r\n            application: [\"marine\"],\r\n            type: [\"elci\"],\r\n            amp: [\"30\", \"50\"]\r\n        }\r\n    },\r\n    {\r\n        name: \"SmartPlug ELCI Sensor & Breaker Combo Kit \u2013 WHITE\",\r\n        url: \"https:\/\/dev.smartplug.com\/staging\/smartplug-elci-sensor-breaker-combo-kit-white\/\",\r\n        image: \"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-ELCI-Sensor-Breaker-Combo-Kit-%E2%80%93-WHITE.avif\",\r\n        attributes: {\r\n            application: [\"marine\"],\r\n            type: [\"elci\"],\r\n            amp: [\"30\", \"50\"],\r\n            color: [\"white\"]\r\n        }\r\n    },\r\n    {\r\n        name: \"SmartPlug ELCI Breakers\",\r\n        url: \"https:\/\/dev.smartplug.com\/staging\/smartplug-elci-breakers\/\",\r\n        image: \"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-ELCI-Breakers.avif\",\r\n        attributes: {\r\n            application: [\"marine\"],\r\n            type: [\"elci\"],\r\n            amp: [\"30\", \"50\"]\r\n        }\r\n    },\r\n    {\r\n        name: \"SmartPlug ELCI Breakers \u2013 WHITE\",\r\n        url: \"https:\/\/dev.smartplug.com\/staging\/elci-breakers-white\/\",\r\n        image: \"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-ELCI-Breakers-%E2%80%93-WHITE.avif\",\r\n        attributes: {\r\n            application: [\"marine\"],\r\n            type: [\"elci\"],\r\n            amp: [\"30\", \"50\"],\r\n            color: [\"white\"]\r\n        }\r\n    },\r\n    {\r\n        \/\/ was type: [\"kits\"] \u2014 didn't match the \"service-kits\" checkbox value\r\n        name: \"EATON Lighthouse Double Pedestal Retro-fit Conversion Kit\",\r\n        url: \"https:\/\/dev.smartplug.com\/staging\/eaton-lighthouse-double-pedestal-retro-fit-conversion-kit\/\",\r\n        image: \"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/EATON-Lighthouse-Double-Pedestal-Retro-fit-Conversion-Kit.avif\",\r\n        attributes: {\r\n            application: [\"dockside\", \"marine\"],\r\n            type: [\"service-kits\"],\r\n            amp: [\"15\", \"30\"]\r\n        }\r\n    },\r\n    {\r\n        \/\/ Left un-typed on purpose \u2014 a mounting bracket accessory, not\r\n        \/\/ clearly a \"kit\". Flag if you want it under Service Kits too.\r\n        name: \"EATON Lighthouse Pedestal Mounting Bracket\",\r\n        url: \"https:\/\/dev.smartplug.com\/staging\/eaton-lighthouse-pedestal-mounting-bracket\/\",\r\n        image: \"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/EATON-Lighthouse-Pedestal-Mounting-Bracket.avif\",\r\n        attributes: {\r\n            application: [\"dockside\", \"marine\"],\r\n            type: [],\r\n            amp: [\"15\", \"30\", \"50\"]\r\n        }\r\n    },\r\n    {\r\n        name: \"EATON Lighthouse Pedestal Retro-fit Conversion Kit\",\r\n        url: \"https:\/\/dev.smartplug.com\/staging\/eaton-lighthouse-pedestal-retro-fit-conversion-kit\/\",\r\n        image: \"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/EATON-Lighthouse-Pedestal-Retro-fit-Conversion-Kit.avif\",\r\n        attributes: {\r\n            application: [\"dockside\", \"marine\"],\r\n            type: [\"service-kits\"],\r\n            amp: [\"30\", \"50\"]\r\n        }\r\n    },\r\n    {\r\n        name: \"LEGACY Lighthouse Pedestal Mounting Bracket\",\r\n        url: \"https:\/\/dev.smartplug.com\/staging\/legacy-lighthouse-pedestal-mounting-bracket-copy\/\",\r\n        image: \"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/LEGACY-Lighthouse-Pedestal-Mounting-Bracket.avif\",\r\n        attributes: {\r\n            application: [\"marine\"],\r\n            type: [],\r\n            amp: [\"30\", \"50\"]\r\n        }\r\n    },\r\n    {\r\n        name: \"SmartPlug Cordset Storage Bag\",\r\n        url: \"https:\/\/dev.smartplug.com\/staging\/smartplug-cordset-storage-bag\/\",\r\n        image: \"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Cordset-Storage-Bag.avif\",\r\n        attributes: {\r\n            application: [\"specialty\"],\r\n            type: [\"cordset\"],\r\n            amp: [\"30\", \"50\"],\r\n            color: [\"black\"]\r\n        }\r\n    },\r\n    {\r\n        \/\/ was type: [\"connector\",\"service\"]\r\n        name: \"SmartPlug Female Receptacle\",\r\n        url: \"https:\/\/dev.smartplug.com\/staging\/smartplug-female-receptacle\/\",\r\n        image: \"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Female-Receptacle.avif\",\r\n        attributes: {\r\n            application: [],\r\n            type: [\"combokit\", \"marine\", \"rv\", \"specialty\"],\r\n            amp: [\"16\", \"30\", \"32\", \"50\"]\r\n        }\r\n    },\r\n    {\r\n        name: \"SmartPlug Dock & Lift Kit\",\r\n        url: \"#\",\r\n        image: \"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Dock-Lift-Kit.avif\",\r\n        attributes: {\r\n            application: [\"dockside\"],\r\n            type: [\"service-kits\"],\r\n            amp: []\r\n        }\r\n    },\r\n    {\r\n        \/\/ was type: [\"connector\",\"inlet\",\"service\"]\r\n        name: \"SmartPlug Male Inlet Connector\",\r\n        url: \"https:\/\/dev.smartplug.com\/staging\/smartplug-male-inlet-connector\/\",\r\n        image: \"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Male-Inlet-Connector.avif\",\r\n        attributes: {\r\n            application: [],\r\n            type: [\"service-kits\"],\r\n            amp: [\"16\", \"30\", \"32\", \"50\"]\r\n        }\r\n    },\r\n    {\r\n        name: \"SmartPlug Female Connector Inlet\",\r\n        url: \"https:\/\/dev.smartplug.com\/staging\/https-dev-smartplug-com-staging-smartplug-female-receptacle-copy\/\",\r\n        image: \"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Female-Connector-Inlet.avif\",\r\n        attributes: {\r\n            application: [],\r\n            type: [\"combokit\", \"marine\", \"rv\", \"specialty\"],\r\n            amp: [\"16\", \"30\", \"32\", \"50\"]\r\n        }\r\n    },\r\n    {\r\n        name: \"SmartPlug Male Inlet Connector Strain Relief\",\r\n        url: \"https:\/\/dev.smartplug.com\/staging\/smartplug-male-inlet-connector-strain-relief\/\",\r\n        image: \"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Male-Inlet-Connector-Strain-Relief.avif\",\r\n        attributes: {\r\n            application: [],\r\n            type: [\"connector\", \"inlet\", \"service-kits\"],\r\n            amp: [\"30\", \"50\"]\r\n        }\r\n    },\r\n    {\r\n        name: \"SmartPlug Female Connector Gasket\",\r\n        url: \"https:\/\/dev.smartplug.com\/staging\/smartplug-female-connector-gasket\/\",\r\n        image: \"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Female-Connector-Gasket.avif\",\r\n        attributes: {\r\n            application: [],\r\n            type: [\"connector\", \"service-kits\"],\r\n            amp: [\"16\", \"30\", \"32\", \"50\"]\r\n        }\r\n    },\r\n    {\r\n        name: \"SmartPlug Male Connector Gasket\",\r\n        url: \"https:\/\/dev.smartplug.com\/staging\/smartplug-male-connector-gasket\/\",\r\n        image: \"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Male-Connector-Gasket.avif\",\r\n        attributes: {\r\n            application: [],\r\n            type: [\"connector\", \"service-kits\"],\r\n            amp: [\"16\", \"30\", \"32\", \"50\"]\r\n        }\r\n    },\r\n    {\r\n        name: \"SmartPlug Weather Door Receptacle\",\r\n        url: \"https:\/\/dev.smartplug.com\/staging\/smartplug-weather-door-receptacle\/\",\r\n        image: \"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Weather-Door-Receptacle.avif\",\r\n        attributes: {\r\n            application: [],\r\n            type: [\"service-kits\"],\r\n            amp: []\r\n        }\r\n    },\r\n    {\r\n        name: \"SmartPlug Side Lever Kit\",\r\n        url: \"https:\/\/dev.smartplug.com\/staging\/smartplug-side-lever-kit\/\",\r\n        image: \"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Side-Lever-Kit.avif\",\r\n        attributes: {\r\n            application: [],\r\n            type: [\"service-kits\", \"marine\", \"rv\"],\r\n            amp: [\"16\", \"30\", \"32\", \"50\"]\r\n        }\r\n    },\r\n    {\r\n        name: \"SmartPlug Side Lever\",\r\n        url: \"#\",\r\n        image: \"https:\/\/placehold.co\/45x45\/0D1C38\/fff?text=SP\",\r\n        attributes: {\r\n            application: [],\r\n            type: [\"service-kits\"],\r\n            amp: [\"16\", \"30\", \"32\", \"50\"]\r\n        }\r\n    },\r\n    {\r\n        name: \"SmartPlug Mounting Screws\",\r\n        url: \"#\",\r\n        image: \"https:\/\/placehold.co\/45x45\/0D1C38\/fff?text=SP\",\r\n        attributes: {\r\n            application: [],\r\n            type: [\"service-kits\"],\r\n            amp: []\r\n        }\r\n    },\r\n    {\r\n        name: \"SmartPlug Mounting Gasket\",\r\n        url: \"#\",\r\n        image: \"https:\/\/placehold.co\/45x45\/0D1C38\/fff?text=SP\",\r\n        attributes: {\r\n            application: [],\r\n            type: [\"service-kits\"],\r\n            amp: [\"16\", \"30\", \"32\", \"50\"]\r\n        }\r\n    },\r\n    {\r\n        name: \"SmartPlug Rear Gasket\",\r\n        url: \"#\",\r\n        image: \"https:\/\/placehold.co\/45x45\/0D1C38\/fff?text=SP\",\r\n        attributes: {\r\n            application: [],\r\n            type: [\"service-kits\"],\r\n            amp: [\"16\", \"30\", \"32\", \"50\"]\r\n        }\r\n    },\r\n    {\r\n        name: \"SmartPlug Stainless Steel Mounting Screws\",\r\n        url: \"#\",\r\n        image: \"https:\/\/placehold.co\/45x45\/0D1C38\/fff?text=SP\",\r\n        attributes: {\r\n            application: [],\r\n            type: [\"service-kits\"],\r\n            amp: [],\r\n            color: [\"stainless\"]\r\n        }\r\n    },\r\n    {\r\n        name: \"SmartPlug Replacement Cover\",\r\n        url: \"#\",\r\n        image: \"https:\/\/placehold.co\/45x45\/0D1C38\/fff?text=SP\",\r\n        attributes: {\r\n            application: [],\r\n            type: [\"service-kits\"],\r\n            amp: [\"30\", \"50\"],\r\n            color: [\"white\"]\r\n        }\r\n    },\r\n    {\r\n        name: \"SmartPlug Replacement Cover\",\r\n        url: \"#\",\r\n        image: \"https:\/\/placehold.co\/45x45\/0D1C38\/fff?text=SP\",\r\n        attributes: {\r\n            application: [],\r\n            type: [\"service-kits\"],\r\n            amp: [\"30\", \"50\"],\r\n            color: [\"black\"]\r\n        }\r\n    },\r\n    {\r\n        \/\/ was type: [\"kits\",\"service\"]\r\n        name: \"SmartPlug Installation Hardware Kit\",\r\n        url: \"#\",\r\n        image: \"https:\/\/placehold.co\/45x45\/0D1C38\/fff?text=SP\",\r\n        attributes: {\r\n            application: [],\r\n            type: [\"service-kits\"],\r\n            amp: [\"16\", \"30\", \"32\", \"50\"]\r\n        }\r\n    },\r\n\r\n];\r\n\r\n\/\/ --- Filter group setup ---\r\n\/\/ MAIN groups live in the top accordion panels and are read straight\r\n\/\/ from the DOM. SUBFILTER_CONFIG defines everything that instead shows\r\n\/\/ up dynamically down in the results, keyed to whatever attribute name\r\n\/\/ you want to sub-filter by. To add another one later (e.g. \"material\"),\r\n\/\/ just add another key here \u2014 no HTML changes needed.\r\n\/\/\r\n\/\/ NOTE: a \"twist-push\" group used to be listed here, but there was never\r\n\/\/ a matching checkbox in the HTML, so it did nothing. Some cordset\r\n\/\/ products do carry \"twist-type\"\/\"push-type\" tags inside their `type`\r\n\/\/ array (they still match the Cordset checkbox fine) \u2014 if you want a\r\n\/\/ dedicated Twist\/Push filter, the cleanest way is a sub-filter (like\r\n\/\/ Color) that appears once Cordset is selected. Ask if you'd like that built.\r\nconst MAIN_FILTER_GROUPS = ['application', 'type', 'amp'];\r\n\r\nconst SUBFILTER_CONFIG = {\r\n    color: {\r\n        label: 'Color',\r\n        options: [\r\n            { value: 'stainless', label: 'Stainless' },\r\n            { value: 'white', label: 'White' },\r\n            { value: 'grey', label: 'Grey' },\r\n            { value: 'black', label: 'Black' },\r\n            { value: 'orange', label: 'Orange' },\r\n            { value: 'clear', label: 'Clear' }\r\n        ]\r\n    }\r\n    \/\/ Add future sub-filters here, e.g.:\r\n    \/\/ material: { label: 'Material', options: [...] }\r\n};\r\n\r\n\/\/ Human-readable labels for chips + any place we need to display a raw\r\n\/\/ filter value back to the user. Falls back to the raw value (capitalized)\r\n\/\/ if something's missing here, so this never breaks if you add a new\r\n\/\/ checkbox and forget to update it.\r\nconst VALUE_LABELS = {\r\n    marine: 'Marine',\r\n    rv: 'RV',\r\n    dockside: 'Dockside',\r\n    specialty: 'Specialty',\r\n    connector: 'Connector',\r\n    cordset: 'Cordset',\r\n    inlet: 'Inlet',\r\n    elci: 'ELCI',\r\n    'service-kits': 'Service Kits',\r\n    combokit: 'Combokit',\r\n    'data-ports': 'Data Ports',\r\n    '15': '15A',\r\n    '16': '16A',\r\n    '30': '30A',\r\n    '32': '32A',\r\n    '50': '50A',\r\n    stainless: 'Stainless',\r\n    white: 'White',\r\n    grey: 'Grey',\r\n    black: 'Black',\r\n    orange: 'Orange',\r\n    clear: 'Clear'\r\n};\r\n\r\nfunction labelFor(value) {\r\n    return VALUE_LABELS[value] || (value.charAt(0).toUpperCase() + value.slice(1));\r\n}\r\n\r\n\/\/ Tracks which sub-filter values are currently checked, e.g. { color: ['white','black'] }.\r\n\/\/ Kept as JS state (not just read from the DOM) since the sub-filter\r\n\/\/ checkboxes get rebuilt each time the results refresh.\r\nlet activeSubFilters = {};\r\n\r\n\/\/ --- Accordion behaviour for the TOP-LEVEL category buttons ---\r\ndocument.querySelectorAll('.custom-dock-cat-btn').forEach(button => {\r\n    button.addEventListener('click', function () {\r\n        const list = this.nextElementSibling;\r\n\r\n        document.querySelectorAll('.custom-dock-prod-list').forEach(item => {\r\n            if (item !== list) item.style.display = \"none\";\r\n        });\r\n        document.querySelectorAll('.custom-dock-cat-btn').forEach(btn => {\r\n            if (btn !== this) btn.classList.remove(\"active\");\r\n        });\r\n\r\n        if (list.style.display === \"grid\") {\r\n            list.style.display = \"none\";\r\n            this.classList.remove(\"active\");\r\n        } else {\r\n            list.style.display = \"grid\";\r\n            this.classList.add(\"active\");\r\n        }\r\n    });\r\n});\r\n\r\n\/\/ --- Wire up the MAIN filter checkboxes ---\r\ndocument.querySelectorAll('.product-filter').forEach(filter => {\r\n    filter.addEventListener('change', updateRecommendations);\r\n});\r\n\r\n\/\/ --- Reset button ---\r\ndocument.getElementById('custom-dock-reset-btn').addEventListener('click', function () {\r\n    \/\/ Uncheck every main checkbox\r\n    document.querySelectorAll('.product-filter:checked').forEach(cb => {\r\n        cb.checked = false;\r\n    });\r\n\r\n    \/\/ Close every top-level accordion panel and clear active state\r\n    document.querySelectorAll('.custom-dock-prod-list').forEach(list => {\r\n        list.style.display = \"none\";\r\n    });\r\n    document.querySelectorAll('.custom-dock-cat-btn').forEach(btn => {\r\n        btn.classList.remove(\"active\");\r\n    });\r\n\r\n    \/\/ Clear sub-filter state and its rendered block entirely\r\n    activeSubFilters = {};\r\n    document.getElementById('sub-filters-section').innerHTML = '';\r\n\r\n    \/\/ Clear the search box too\r\n    const searchInput = document.getElementById('custom-dock-search');\r\n    if (searchInput) searchInput.value = '';\r\n\r\n    \/\/ Refresh the results back to the empty state\r\n    updateRecommendations();\r\n});\r\n\r\n\/\/ --- Quick-start preset buttons (\"I Own an RV\" \/ \"I Own a Boat\") ---\r\n\/\/ One tap checks the matching Application box, opens that accordion so\r\n\/\/ the choice is visible, and runs the filter \u2014 skips the hunt-and-peck.\r\ndocument.querySelectorAll('.custom-dock-preset-btn').forEach(btn => {\r\n    btn.addEventListener('click', function () {\r\n        const appValue = this.dataset.app;\r\n        const target = document.querySelector(\r\n            `.product-filter[data-filter=\"application\"][value=\"${appValue}\"]`\r\n        );\r\n        if (!target) return;\r\n\r\n        target.checked = true;\r\n\r\n        \/\/ Open the Application panel so the person can see what got checked\r\n        const appList = target.closest('.custom-dock-prod-list');\r\n        const appBtn = appList ? appList.previousElementSibling : null;\r\n        document.querySelectorAll('.custom-dock-prod-list').forEach(list => {\r\n            list.style.display = (list === appList) ? \"grid\" : \"none\";\r\n        });\r\n        document.querySelectorAll('.custom-dock-cat-btn').forEach(b => {\r\n            b.classList.toggle('active', b === appBtn);\r\n        });\r\n\r\n        updateRecommendations();\r\n    });\r\n});\r\n\r\n\/\/ --- Search box: quick jump to a product by name, independent of filters ---\r\nconst searchInputEl = document.getElementById('custom-dock-search');\r\nif (searchInputEl) {\r\n    searchInputEl.addEventListener('input', updateRecommendations);\r\n}\r\n\r\n\/\/ ==========================================================\r\n\/\/ Mobile-friendly open\/close + periodic hint bubble\r\n\/\/ ==========================================================\r\n\/\/\r\n\/\/ Behaviour:\r\n\/\/ - Hover works on desktop, tap works everywhere (unchanged from before).\r\n\/\/ - A hint bubble (\"Having trouble finding the right product? \/ PRODUCT\r\n\/\/   FILTER\") appears next to the trigger every 5s, for as long as the\r\n\/\/   dock has never been opened yet... but ALSO restarts its 5s cycle\r\n\/\/   fresh any time the dock goes from open -> closed again (hover ends,\r\n\/\/   or the panel is tapped closed, or the user clicks outside).\r\n\/\/ - The hint is always suppressed while the dock is actually open\r\n\/\/   (hover or tap), so it never overlaps the flyout panel.\r\n\r\nconst dockWrapper = document.getElementById('custom-dock-wrapper');\r\nconst dockTrigger = document.getElementById('custom-dock-trigger');\r\nconst dockHint = document.getElementById('custom-dock-hint');\r\n\r\n\/\/ How long the bubble stays visible per pulse, and how long it waits\r\n\/\/ (fully hidden) before showing again. Tweak these two numbers only.\r\nconst HINT_VISIBLE_MS = 8000; \/\/ stays on screen ~8s each time it appears\r\nconst HINT_HIDDEN_MS = 10000; \/\/ waits 10s after hiding before showing again\r\n\r\nlet dockHintShowTimer = null;  \/\/ timer that hides the bubble after it's shown\r\nlet dockHintWaitTimer = null;  \/\/ timer that re-shows the bubble after the gap\r\nlet isDockOpen = false; \/\/ tracks open state, whether via tap or hover\r\n\r\n\/\/ Shows the bubble, keeps it up for HINT_VISIBLE_MS, then hides it and\r\n\/\/ schedules the next appearance after HINT_HIDDEN_MS. Recursive by design\r\n\/\/ so \"visible time\" and \"gap time\" can differ (a plain setInterval can't\r\n\/\/ do that cleanly).\r\nfunction showDockHintOnce() {\r\n    if (!dockHint || isDockOpen) return;\r\n\r\n    dockHint.classList.add('custom-dock-hint-show');\r\n\r\n    dockHintShowTimer = setTimeout(() => {\r\n        dockHint.classList.remove('custom-dock-hint-show');\r\n        dockHintShowTimer = null;\r\n\r\n        dockHintWaitTimer = setTimeout(() => {\r\n            dockHintWaitTimer = null;\r\n            showDockHintOnce();\r\n        }, HINT_HIDDEN_MS);\r\n    }, HINT_VISIBLE_MS);\r\n}\r\n\r\n\/\/ Wipes any pending hint + timers. Called whenever the dock opens.\r\nfunction pauseDockHint() {\r\n    if (dockHintShowTimer) {\r\n        clearTimeout(dockHintShowTimer);\r\n        dockHintShowTimer = null;\r\n    }\r\n    if (dockHintWaitTimer) {\r\n        clearTimeout(dockHintWaitTimer);\r\n        dockHintWaitTimer = null;\r\n    }\r\n    if (dockHint) dockHint.classList.remove('custom-dock-hint-show');\r\n}\r\n\r\n\/\/ Starts the show\/wait cycle fresh. Called on page load, and again every\r\n\/\/ time the dock closes (so it \"starts again as it is\") \u2014 always beginning\r\n\/\/ with a fresh HINT_HIDDEN_MS wait before the next appearance, so closing\r\n\/\/ the dock never triggers an instant re-pop.\r\nfunction resumeDockHintCycle() {\r\n    pauseDockHint();\r\n    if (!dockHint) return;\r\n    dockHintWaitTimer = setTimeout(() => {\r\n        dockHintWaitTimer = null;\r\n        showDockHintOnce();\r\n    }, HINT_HIDDEN_MS);\r\n}\r\n\r\nif (dockTrigger && dockWrapper) {\r\n\r\n    dockTrigger.addEventListener('click', function (e) {\r\n        e.stopPropagation();\r\n        dockWrapper.classList.toggle('custom-dock-open');\r\n\r\n        if (dockWrapper.classList.contains('custom-dock-open')) {\r\n            isDockOpen = true;\r\n            pauseDockHint();\r\n        } else {\r\n            isDockOpen = false;\r\n            resumeDockHintCycle();\r\n        }\r\n    });\r\n\r\n    document.addEventListener('click', function (e) {\r\n        if (!dockWrapper.contains(e.target)) {\r\n            if (dockWrapper.classList.contains('custom-dock-open')) {\r\n                dockWrapper.classList.remove('custom-dock-open');\r\n                isDockOpen = false;\r\n                resumeDockHintCycle();\r\n            }\r\n        }\r\n    });\r\n\r\n    \/\/ Desktop hover: opens\/closes the flyout via CSS, but JS still needs to\r\n    \/\/ know about it so the hint pauses\/resumes at the right moments.\r\n    dockWrapper.addEventListener('mouseenter', function () {\r\n        isDockOpen = true;\r\n        pauseDockHint();\r\n    });\r\n\r\n    dockWrapper.addEventListener('mouseleave', function () {\r\n        \/\/ Only truly \"closed\" if it's not pinned open by a tap\r\n        if (!dockWrapper.classList.contains('custom-dock-open')) {\r\n            isDockOpen = false;\r\n            resumeDockHintCycle();\r\n        }\r\n    });\r\n\r\n    \/\/ First-visit attention pulse: draws the eye once, then stops so it\r\n    \/\/ never feels naggy on repeat visits.\r\n    setTimeout(() => dockTrigger.classList.add('custom-dock-pulse'), 800);\r\n    dockTrigger.addEventListener('click', () => dockTrigger.classList.remove('custom-dock-pulse'), { once: true });\r\n\r\n    \/\/ Kick off the hint cycle on load\r\n    resumeDockHintCycle();\r\n}\r\n\r\n\/\/ Reads only the MAIN checkboxes into { application: ['rv'], type: ['inlet'], ... }\r\nfunction getMainSelectedFilters() {\r\n    const selected = {};\r\n    document.querySelectorAll('.product-filter:checked').forEach(cb => {\r\n        const group = cb.dataset.filter;\r\n        if (!MAIN_FILTER_GROUPS.includes(group)) return; \/\/ sub-filter checkboxes are handled separately\r\n        if (!selected[group]) selected[group] = [];\r\n        selected[group].push(cb.value);\r\n    });\r\n    return selected;\r\n}\r\n\r\n\/\/ A product \"matches\" a filter group if it has at least one value in common with the checked\r\n\/\/ boxes for that group. It's a full match if it satisfies every group that has a selection.\r\n\/\/ Works the same whether \"selected\" contains main groups, sub-filter groups, or both.\r\nfunction matchScore(product, selected) {\r\n    const groups = Object.keys(selected);\r\n    if (groups.length === 0) return { full: false, partial: false, hits: 0 };\r\n\r\n    let hits = 0;\r\n    groups.forEach(group => {\r\n        const productValues = product.attributes[group] || [];\r\n        const overlap = productValues.some(v => selected[group].includes(v));\r\n        if (overlap) hits++;\r\n    });\r\n\r\n    return {\r\n        full: hits === groups.length,\r\n        partial: hits > 0,\r\n        hits\r\n    };\r\n}\r\n\r\nfunction renderProductCard(product, matchLabel) {\r\n    const link = document.createElement('a');\r\n    link.className = 'custom-dock-prod-link';\r\n    link.href = product.url;\r\n    link.target = '_blank';\r\n    link.rel = 'noopener noreferrer';\r\n\r\n    link.innerHTML = `\r\n        <img decoding=\"async\" src=\"${product.image}\" alt=\"${product.name}\">\r\n        <span>\r\n            ${product.name}\r\n            ${matchLabel ? `<span class=\"custom-dock-match-tag\">${matchLabel}<\/span>` : ''}\r\n        <\/span>\r\n    `;\r\n    return link;\r\n}\r\n\r\n\/\/ Builds the dynamic sub-filter checkbox row(s) that sit right under\r\n\/\/ \"Matching Products\". baseMatches = whatever currently satisfies the\r\n\/\/ MAIN filters only (before any sub-filter is applied). A sub-filter\r\n\/\/ group shows up if at least one of those products actually has that\r\n\/\/ attribute defined \u2014 so it only appears when it'd be useful, e.g.\r\n\/\/ Color only shows once Inlet-type products are in the results.\r\n\/\/ Rendered as a compact horizontal row of pill checkboxes with no\r\n\/\/ heading text.\r\nfunction renderSubFilters(baseMatches) {\r\n    const container = document.getElementById('sub-filters-section');\r\n    container.innerHTML = '';\r\n\r\n    const relevantGroups = Object.keys(SUBFILTER_CONFIG).filter(key => {\r\n        return baseMatches.some(p => (p.attributes[key] || []).length > 0);\r\n    });\r\n\r\n    \/\/ Drop stale selections for sub-filters that are no longer relevant,\r\n    \/\/ so a hidden checkbox can never silently keep narrowing results.\r\n    Object.keys(activeSubFilters).forEach(key => {\r\n        if (!relevantGroups.includes(key)) delete activeSubFilters[key];\r\n    });\r\n\r\n    if (relevantGroups.length === 0) return;\r\n\r\n    relevantGroups.forEach(key => {\r\n        const config = SUBFILTER_CONFIG[key];\r\n\r\n        const block = document.createElement('div');\r\n        block.className = 'custom-dock-subfilter-block';\r\n\r\n        const list = document.createElement('div');\r\n        list.className = 'custom-dock-subfilter-list';\r\n\r\n        config.options.forEach(opt => {\r\n            const label = document.createElement('label');\r\n            label.className = 'custom-dock-subitem';\r\n\r\n            const input = document.createElement('input');\r\n            input.type = 'checkbox';\r\n            input.className = 'product-filter';\r\n            input.dataset.filter = key;\r\n            input.value = opt.value;\r\n            input.checked = (activeSubFilters[key] || []).includes(opt.value);\r\n\r\n            input.addEventListener('change', function () {\r\n                if (!activeSubFilters[key]) activeSubFilters[key] = [];\r\n                if (this.checked) {\r\n                    if (!activeSubFilters[key].includes(opt.value)) {\r\n                        activeSubFilters[key].push(opt.value);\r\n                    }\r\n                } else {\r\n                    activeSubFilters[key] = activeSubFilters[key].filter(v => v !== opt.value);\r\n                    if (activeSubFilters[key].length === 0) delete activeSubFilters[key];\r\n                }\r\n                updateRecommendations();\r\n            });\r\n\r\n            label.appendChild(input);\r\n            label.appendChild(document.createTextNode(opt.label));\r\n            list.appendChild(label);\r\n        });\r\n\r\n        block.appendChild(list);\r\n        container.appendChild(block);\r\n    });\r\n}\r\n\r\n\/\/ Renders removable chips for every active main + sub filter, and keeps\r\n\/\/ the trigger badge count in sync. Clicking a chip's \u00d7 unchecks the\r\n\/\/ matching checkbox and re-runs the filter \u2014 no need to reopen an accordion\r\n\/\/ just to undo one choice.\r\nfunction renderChipsAndBadge(mainSelected) {\r\n    const chipsEl = document.getElementById('custom-dock-chips');\r\n    const badgeEl = document.getElementById('custom-dock-badge');\r\n    chipsEl.innerHTML = '';\r\n\r\n    let totalCount = 0;\r\n\r\n    Object.keys(mainSelected).forEach(group => {\r\n        mainSelected[group].forEach(value => {\r\n            totalCount++;\r\n            chipsEl.appendChild(buildChip(group, value));\r\n        });\r\n    });\r\n\r\n    Object.keys(activeSubFilters).forEach(group => {\r\n        (activeSubFilters[group] || []).forEach(value => {\r\n            totalCount++;\r\n            chipsEl.appendChild(buildChip(group, value));\r\n        });\r\n    });\r\n\r\n    if (badgeEl) {\r\n        badgeEl.textContent = totalCount;\r\n        badgeEl.style.display = totalCount > 0 ? 'flex' : 'none';\r\n    }\r\n}\r\n\r\nfunction buildChip(group, value) {\r\n    const chip = document.createElement('span');\r\n    chip.className = 'custom-dock-chip';\r\n    chip.innerHTML = `${labelFor(value)} <button type=\"button\" aria-label=\"Remove ${labelFor(value)} filter\">\u2715<\/button>`;\r\n\r\n    chip.querySelector('button').addEventListener('click', () => {\r\n        const cb = document.querySelector(`.product-filter[data-filter=\"${group}\"][value=\"${value}\"]`);\r\n        if (cb) {\r\n            cb.checked = false;\r\n            cb.dispatchEvent(new Event('change'));\r\n        } else {\r\n            \/\/ Sub-filter checkbox may not currently be rendered \u2014 clear state directly\r\n            if (activeSubFilters[group]) {\r\n                activeSubFilters[group] = activeSubFilters[group].filter(v => v !== value);\r\n                if (activeSubFilters[group].length === 0) delete activeSubFilters[group];\r\n            }\r\n            updateRecommendations();\r\n        }\r\n    });\r\n\r\n    return chip;\r\n}\r\n\r\nfunction updateRecommendations() {\r\n    const mainSelected = getMainSelectedFilters();\r\n    const recommendedEl = document.getElementById('recommended-products');\r\n    const relatedEl = document.getElementById('related-products');\r\n    const matchCountEl = document.getElementById('match-count');\r\n    const searchTerm = (document.getElementById('custom-dock-search') || {}).value || '';\r\n    const trimmedSearch = searchTerm.trim().toLowerCase();\r\n\r\n    recommendedEl.innerHTML = '';\r\n    relatedEl.innerHTML = '';\r\n\r\n    \/\/ Search takes priority: if someone's typing, show name matches across\r\n    \/\/ the whole catalog immediately rather than making them also manage filters.\r\n    if (trimmedSearch.length > 0) {\r\n        renderChipsAndBadge(mainSelected);\r\n        const nameMatches = products.filter(p => p.name.toLowerCase().includes(trimmedSearch));\r\n        matchCountEl.textContent = nameMatches.length > 0 ? `(${nameMatches.length})` : '';\r\n        if (nameMatches.length > 0) {\r\n            nameMatches.forEach(p => recommendedEl.appendChild(renderProductCard(p)));\r\n        } else {\r\n            recommendedEl.innerHTML = `<p class=\"custom-dock-empty-msg\">No products matched \"${searchTerm}\". Try a different term or check an attribute above.<\/p>`;\r\n        }\r\n        document.getElementById('sub-filters-section').innerHTML = '';\r\n        return;\r\n    }\r\n\r\n    if (Object.keys(mainSelected).length === 0) {\r\n        recommendedEl.innerHTML = `\r\n            <p class=\"custom-dock-empty-msg\">Check an attribute above to see matching products.<\/p>\r\n            <a href=\"https:\/\/dev.smartplug.com\/staging\/shop\/\" class=\"custom-dock-browse-all-btn\">Browse All Products \u2192<\/a>\r\n        `;\r\n        matchCountEl.textContent = '';\r\n        activeSubFilters = {};\r\n        document.getElementById('sub-filters-section').innerHTML = '';\r\n        renderChipsAndBadge(mainSelected);\r\n        return;\r\n    }\r\n\r\n    \/\/ What matches on MAIN filters alone \u2014 used to decide which sub-filters to show\r\n    const baseMatches = products.filter(p => matchScore(p, mainSelected).full);\r\n\r\n    \/\/ Sub-filters (e.g. Color) should only ever appear when EVERY main\r\n    \/\/ group currently has at most one box checked. The moment any single\r\n    \/\/ group (Application, Product Type, Amperage) has 2+ checked, we\r\n    \/\/ suppress sub-filters entirely \u2014 pass an empty array so\r\n    \/\/ renderSubFilters finds no relevant groups and clears any active\r\n    \/\/ sub-filter selections along with it.\r\n    const anyGroupHasMultiple = Object.values(mainSelected).some(vals => vals.length > 1);\r\n    renderSubFilters(anyGroupHasMultiple ? [] : baseMatches);\r\n\r\n    \/\/ Combine main + active sub-filters for the actual results shown\r\n    const fullSelected = { ...mainSelected };\r\n    Object.keys(activeSubFilters).forEach(key => {\r\n        if (activeSubFilters[key] && activeSubFilters[key].length > 0) {\r\n            fullSelected[key] = activeSubFilters[key];\r\n        }\r\n    });\r\n\r\n    renderChipsAndBadge(mainSelected);\r\n\r\n    \/\/ \"Matching Products\" must satisfy main filters AND any active sub-filter (e.g. Color).\r\n    const scoredFull = products.map(p => ({ product: p, score: matchScore(p, fullSelected) }));\r\n    const fullMatches = scoredFull.filter(s => s.score.full);\r\n\r\n    matchCountEl.textContent = fullMatches.length > 0 ? `(${fullMatches.length})` : '';\r\n\r\n    \/\/ \"You Might Also Like\" and its \"Shares N attribute(s)\" label are scored\r\n    \/\/ against MAIN filters ONLY. Sub-filters (Color, etc.) should never count\r\n    \/\/ as a \"shared attribute\" and should never by themselves decide whether\r\n    \/\/ something is related \u2014 only the top-level filter groups do.\r\n    const fullMatchProducts = new Set(fullMatches.map(s => s.product));\r\n    const mainScored = products.map(p => ({ product: p, score: matchScore(p, mainSelected) }));\r\n    const relatedMatches = mainScored\r\n        .filter(s => s.score.partial && !fullMatchProducts.has(s.product))\r\n        .sort((a, b) => b.score.hits - a.score.hits);\r\n\r\n    if (fullMatches.length > 0) {\r\n        fullMatches.forEach(s => {\r\n            recommendedEl.appendChild(renderProductCard(s.product));\r\n        });\r\n    } else {\r\n        recommendedEl.innerHTML = `\r\n            <p class=\"custom-dock-empty-msg\">No exact match yet \u2014 try fewer attributes, or see related products below.<\/p>\r\n        `;\r\n    }\r\n\r\n    if (relatedMatches.length > 0) {\r\n        const heading = document.createElement('h4');\r\n        heading.textContent = 'You Might Also Like';\r\n        relatedEl.appendChild(heading);\r\n\r\n        relatedMatches.slice(0, 4).forEach(s => {\r\n            const sharedLabel = `Shares ${s.score.hits} attribute${s.score.hits > 1 ? 's' : ''}`;\r\n            relatedEl.appendChild(renderProductCard(s.product, sharedLabel));\r\n        });\r\n    }\r\n}\r\n\r\n\/\/ ==========================================================\r\n\/\/ FAQ deep-link support (NEW)\r\n\/\/ ==========================================================\r\n\/\/ Lets any link elsewhere on the page (e.g. an FAQ paragraph) open the\r\n\/\/ dock with specific filters already checked, instead of making the\r\n\/\/ visitor hunt through the accordion themselves.\r\n\/\/\r\n\/\/ SAME-PAGE USAGE (link sits on the same page as the dock):\r\n\/\/   <a href=\"javascript:void(0)\"\r\n\/\/      onclick=\"openDockFilter({application:['rv'], type:['cordset']})\">\r\n\/\/      RV cordsets\r\n\/\/   <\/a>\r\n\/\/\r\n\/\/ CROSS-PAGE USAGE (link sits on a different page, e.g. a standalone\r\n\/\/ FAQ page that links over to the shop page where the dock lives):\r\n\/\/   <a href=\"https:\/\/dev.smartplug.com\/staging\/shop\/#filter=application:rv,type:cordset\">\r\n\/\/      RV cordsets\r\n\/\/   <\/a>\r\n\/\/\r\n\/\/ Filter values must match the exact `data-filter`\/`value` pairs used\r\n\/\/ on the checkboxes above (see VALUE_LABELS for the full list):\r\n\/\/   application: marine | rv | dockside | specialty\r\n\/\/   type:        connector | cordset | inlet | elci | service-kits | combokit | data-ports\r\n\/\/   amp:         15 | 16 | 30 | 32 | 50\r\nfunction openDockFilter(filters) {\r\n    \/\/ Clear any current selection first so an FAQ link always produces\r\n    \/\/ a predictable result, not a merge with whatever was already checked.\r\n    document.querySelectorAll('.product-filter:checked').forEach(cb => cb.checked = false);\r\n    activeSubFilters = {};\r\n\r\n    \/\/ Check the requested MAIN filter boxes. (Sub-filters like Color aren't\r\n    \/\/ in the DOM until updateRecommendations() has run once, so those go\r\n    \/\/ through activeSubFilters directly below instead.)\r\n    Object.keys(filters).forEach(group => {\r\n        if (!MAIN_FILTER_GROUPS.includes(group)) return;\r\n        filters[group].forEach(value => {\r\n            const cb = document.querySelector(\r\n                `.product-filter[data-filter=\"${group}\"][value=\"${value}\"]`\r\n            );\r\n            if (cb) cb.checked = true;\r\n        });\r\n    });\r\n\r\n    \/\/ Any non-main group passed in (e.g. { color: ['white'] }) is treated\r\n    \/\/ as a sub-filter and applied once results have been rendered.\r\n    Object.keys(filters).forEach(group => {\r\n        if (MAIN_FILTER_GROUPS.includes(group)) return;\r\n        activeSubFilters[group] = [...filters[group]];\r\n    });\r\n\r\n    updateRecommendations();\r\n\r\n    \/\/ Open the flyout and stop the hint bubble from firing over it\r\n    if (dockWrapper) {\r\n        dockWrapper.classList.add('custom-dock-open');\r\n        isDockOpen = true;\r\n        pauseDockHint();\r\n\r\n        \/\/ Bring it into view \u2014 handy since FAQs usually sit further down the page\r\n        dockWrapper.scrollIntoView({ behavior: 'smooth', block: 'center' });\r\n    }\r\n}\r\nwindow.openDockFilter = openDockFilter;\r\n\r\n\/\/ Cross-page deep link support: if the page loads with a hash like\r\n\/\/ #filter=application:rv,type:cordset, parse it and open the dock\r\n\/\/ pre-filtered automatically. Lets an FAQ on a different page link\r\n\/\/ straight to a filtered view here without any extra JS on that page.\r\nwindow.addEventListener('DOMContentLoaded', () => {\r\n    const match = location.hash.match(\/^#filter=(.+)$\/);\r\n    if (!match) return;\r\n\r\n    const filters = {};\r\n    decodeURIComponent(match[1]).split(',').forEach(pair => {\r\n        const [group, value] = pair.split(':');\r\n        if (!group || !value) return;\r\n        if (!filters[group]) filters[group] = [];\r\n        filters[group].push(value);\r\n    });\r\n\r\n    if (Object.keys(filters).length) openDockFilter(filters);\r\n});\r\n\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-e0160c4 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=\"e0160c4\" 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-6df18a6 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=\"6df18a6\" 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-aceca32 zoom-hover elementor-widget elementor-widget-image\" data-id=\"aceca32\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/dev.smartplug.com\/staging\/smartplug-combo-kit\/\">\n\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"500\" height=\"500\" src=\"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Combo-Kit.avif\" class=\"attachment-full size-full wp-image-11980\" alt=\"\" srcset=\"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Combo-Kit.avif 500w, https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Combo-Kit-300x300.avif 300w, https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Combo-Kit-100x100.avif 100w, https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Combo-Kit-64x64.avif 64w, https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Combo-Kit-150x150.avif 150w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-51334c1 elementor-widget elementor-widget-heading\" data-id=\"51334c1\" 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\">Combo Kit<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cfb5f26 elementor-widget elementor-widget-text-editor\" data-id=\"cfb5f26\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items\"><li class=\"elementor-icon-list-item\">The SmartPlug Combo Kit includes a SmartPlug Inlet and Connector offers superior performance and ease of use.<\/li><li class=\"elementor-icon-list-item\"><i class=\"fas fa-check\" aria-hidden=\"true\"><\/i><span class=\"elementor-icon-list-text\">\u00a0Larger contact surface reduces overheating.<\/span><\/li><li class=\"elementor-icon-list-item\"><i class=\"fas fa-check\" aria-hidden=\"true\"><\/i>\u00a0Weatherproof seals protect against moisture.<\/li><li class=\"elementor-icon-list-item\"><i class=\"fas fa-check\" aria-hidden=\"true\"><\/i><span class=\"elementor-icon-list-text\">\u00a0Installs quickly using standard mounting holes.<\/span><\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-11602a1 wpr-button-icon-style-inline wpr-button-icon-position-right elementor-widget elementor-widget-wpr-button\" data-id=\"11602a1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"wpr-button.default\">\n\t\t\t\t\t\t\n\t\t\t\n\t\t\n\t\t<div class=\"wpr-button-wrap elementor-clearfix\">\n\t\t<a class=\"wpr-button wpr-button-effect wpr-button-none\" data-text=\"\" href=\"https:\/\/dev.smartplug.com\/staging\/smartplug-combokit\/\">\n\t\t\t\n\t\t\t<span class=\"wpr-button-content\">\n\t\t\t\t\t\t\t\t\t<span class=\"wpr-button-text\">Learn More<\/span>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t<span class=\"wpr-button-icon\"><svg class=\"e-font-icon-svg e-fas-arrow-right\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z\"><\/path><\/svg><\/span>\n\t\t\t\t\t\t\t<\/span>\n\t\t<\/a>\n\n\t\t\t\t<\/div>\n\t\n\t\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6255c39 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=\"6255c39\" 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-99f90f0 zoom-hover elementor-widget elementor-widget-image\" data-id=\"99f90f0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/dev.smartplug.com\/staging\/smartplug-connector\/\">\n\t\t\t\t\t\t\t<img decoding=\"async\" width=\"500\" height=\"500\" src=\"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Connector.avif\" class=\"attachment-full size-full wp-image-12000\" alt=\"\" srcset=\"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Connector.avif 500w, https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Connector-300x300.avif 300w, https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Connector-100x100.avif 100w, https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Connector-64x64.avif 64w, https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Connector-150x150.avif 150w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-49267ce elementor-widget elementor-widget-heading\" data-id=\"49267ce\" 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<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3886b6a elementor-widget elementor-widget-text-editor\" data-id=\"3886b6a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items\"><li class=\"elementor-icon-list-item\">The SmartPlug Connector delivers safer, hassle-free power with enhanced conductivity, secure locking, and weatherproof protection.<\/li><li class=\"elementor-icon-list-item\"><i class=\"fas fa-check\" aria-hidden=\"true\"><\/i><span class=\"elementor-icon-list-text\">\u00a0Twist-free push-in design for effortless connection.<\/span><\/li><li class=\"elementor-icon-list-item\"><i class=\"fas fa-check\" aria-hidden=\"true\"><\/i><span class=\"elementor-icon-list-text\">\u00a0Weatherproof seals block moisture penetration.<\/span><\/li><li class=\"elementor-icon-list-item\"><i class=\"fas fa-check\" aria-hidden=\"true\"><\/i><span class=\"elementor-icon-list-text\">\u00a0Easier to store and coil when you are breaking camp<\/span><\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a6d70e1 wpr-button-icon-style-inline wpr-button-icon-position-right elementor-widget elementor-widget-wpr-button\" data-id=\"a6d70e1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"wpr-button.default\">\n\t\t\t\t\t\t\n\t\t\t\n\t\t\n\t\t<div class=\"wpr-button-wrap elementor-clearfix\">\n\t\t<a class=\"wpr-button wpr-button-effect wpr-button-none\" data-text=\"\" href=\"https:\/\/dev.smartplug.com\/staging\/smartplug-connector\/\">\n\t\t\t\n\t\t\t<span class=\"wpr-button-content\">\n\t\t\t\t\t\t\t\t\t<span class=\"wpr-button-text\">Learn More<\/span>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t<span class=\"wpr-button-icon\"><svg class=\"e-font-icon-svg e-fas-arrow-right\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z\"><\/path><\/svg><\/span>\n\t\t\t\t\t\t\t<\/span>\n\t\t<\/a>\n\n\t\t\t\t<\/div>\n\t\n\t\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-e4865f9 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=\"e4865f9\" 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-a608286 zoom8-hover elementor-widget elementor-widget-image\" data-id=\"a608286\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/dev.smartplug.com\/staging\/smartplug-inlet\/\">\n\t\t\t\t\t\t\t<img decoding=\"async\" width=\"500\" height=\"500\" src=\"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/Updated-Inlets.png\" class=\"attachment-full size-full wp-image-13091\" alt=\"\" srcset=\"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/Updated-Inlets.png 500w, https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/Updated-Inlets-300x300.png 300w, https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/Updated-Inlets-150x150.png 150w, https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/Updated-Inlets-100x100.png 100w, https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/Updated-Inlets-64x64.png 64w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-bf5538a elementor-widget elementor-widget-heading\" data-id=\"bf5538a\" 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\">Inlet<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4be21b0 elementor-widget elementor-widget-text-editor\" data-id=\"4be21b0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items\"><li class=\"elementor-icon-list-item\">The SmartPlug Inlet combines effortless installation, secure locking, superior conductivity, and weatherproof protection for reliable, worry-free power.<\/li><li class=\"elementor-icon-list-item\"><i class=\"fas fa-check\" aria-hidden=\"true\"><\/i><span class=\"elementor-icon-list-text\">\u00a0Weatherproof seals prevent water intrusion.<\/span><\/li><li class=\"elementor-icon-list-item\"><i class=\"fas fa-check\" aria-hidden=\"true\"><\/i><span class=\"elementor-icon-list-text\">\u00a0Locking clips hold plug firmly in place.<\/span><\/li><li class=\"elementor-icon-list-item\"><i class=\"fas fa-check\" aria-hidden=\"true\"><\/i><span class=\"elementor-icon-list-text\">\u00a0Smart push-in shape guarantees correct alignment.<\/span><\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c14027c wpr-button-icon-style-inline wpr-button-icon-position-right elementor-widget elementor-widget-wpr-button\" data-id=\"c14027c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"wpr-button.default\">\n\t\t\t\t\t\t\n\t\t\t\n\t\t\n\t\t<div class=\"wpr-button-wrap elementor-clearfix\">\n\t\t<a class=\"wpr-button wpr-button-effect wpr-button-none\" data-text=\"\" href=\"https:\/\/dev.smartplug.com\/staging\/smartplug-inlet\/\">\n\t\t\t\n\t\t\t<span class=\"wpr-button-content\">\n\t\t\t\t\t\t\t\t\t<span class=\"wpr-button-text\">Learn More<\/span>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t<span class=\"wpr-button-icon\"><svg class=\"e-font-icon-svg e-fas-arrow-right\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z\"><\/path><\/svg><\/span>\n\t\t\t\t\t\t\t<\/span>\n\t\t<\/a>\n\n\t\t\t\t<\/div>\n\t\n\t\n\t\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<div class=\"elementor-element elementor-element-161f77e 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=\"161f77e\" 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-ef5fdcd 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=\"ef5fdcd\" 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-38c157c zoom-hover elementor-widget elementor-widget-image\" data-id=\"38c157c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/dev.smartplug.com\/staging\/smartplug-harmonized-cord-w-smartplug-boat-side-connector-w-blunt-end\/\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"500\" src=\"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Harmonized-Cord-w_-SmartPlug-Boat-Side-Connector-w_-Blunt-End.avif\" class=\"attachment-full size-full wp-image-12003\" alt=\"\" srcset=\"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Harmonized-Cord-w_-SmartPlug-Boat-Side-Connector-w_-Blunt-End.avif 500w, https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Harmonized-Cord-w_-SmartPlug-Boat-Side-Connector-w_-Blunt-End-300x300.avif 300w, https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Harmonized-Cord-w_-SmartPlug-Boat-Side-Connector-w_-Blunt-End-100x100.avif 100w, https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Harmonized-Cord-w_-SmartPlug-Boat-Side-Connector-w_-Blunt-End-64x64.avif 64w, https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Harmonized-Cord-w_-SmartPlug-Boat-Side-Connector-w_-Blunt-End-150x150.avif 150w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ed83a99 elementor-widget elementor-widget-heading\" data-id=\"ed83a99\" 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\">Harmonized Cord w\/ Boat Side Connector w\/ Blunt End<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9a3fe45 elementor-widget elementor-widget-text-editor\" data-id=\"9a3fe45\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items\"><li class=\"elementor-icon-list-item\">The SmartPlug Harmonized Cord with Boat Side Connector and Blunt End delivers secure multi-point locking, weatherproof protection, and complete 16\u202fA, 240\u202fV shore power connectivity.<\/li><li class=\"elementor-icon-list-item\"><i class=\"fas fa-check\" aria-hidden=\"true\"><\/i><span class=\"elementor-icon-list-text\">\u00a0Multi-point clips secure plug in inlet.<\/span><\/li><li class=\"elementor-icon-list-item\"><i class=\"fas fa-check\" aria-hidden=\"true\"><\/i><span class=\"elementor-icon-list-text\">\u00a0Locks prevent stress from cord movement.<\/span><\/li><li class=\"elementor-icon-list-item\"><i class=\"fas fa-check\" aria-hidden=\"true\"><\/i><span class=\"elementor-icon-list-text\">\u00a0Weatherproof seals protect electrical connection.<\/span><\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fe38a1d wpr-button-icon-style-inline wpr-button-icon-position-right elementor-widget elementor-widget-wpr-button\" data-id=\"fe38a1d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"wpr-button.default\">\n\t\t\t\t\t\t\n\t\t\t\n\t\t\n\t\t<div class=\"wpr-button-wrap elementor-clearfix\">\n\t\t<a class=\"wpr-button wpr-button-effect wpr-button-none\" data-text=\"\" href=\"https:\/\/dev.smartplug.com\/staging\/smartplug-harmonized-cord-w-smartplug-boat-side-connector-w-blunt-end\/\">\n\t\t\t\n\t\t\t<span class=\"wpr-button-content\">\n\t\t\t\t\t\t\t\t\t<span class=\"wpr-button-text\">Learn More<\/span>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t<span class=\"wpr-button-icon\"><svg class=\"e-font-icon-svg e-fas-arrow-right\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z\"><\/path><\/svg><\/span>\n\t\t\t\t\t\t\t<\/span>\n\t\t<\/a>\n\n\t\t\t\t<\/div>\n\t\n\t\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-18aa2bb 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=\"18aa2bb\" 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-9614a3b zoom-hover2 elementor-widget elementor-widget-image\" data-id=\"9614a3b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/dev.smartplug.com\/staging\/smartplug-harmonized-cord-w-smartplug-boat-side-connector-w-blunt-end\/\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"500\" src=\"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Male-Inlet-Connector.avif\" class=\"attachment-full size-full wp-image-12314\" alt=\"\" srcset=\"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Male-Inlet-Connector.avif 500w, https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Male-Inlet-Connector-300x300.avif 300w, https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Male-Inlet-Connector-100x100.avif 100w, https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Male-Inlet-Connector-64x64.avif 64w, https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Male-Inlet-Connector-150x150.avif 150w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d8e16de elementor-widget elementor-widget-heading\" data-id=\"d8e16de\" 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\">Male Inlet Connector\n<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1829afd elementor-widget elementor-widget-text-editor\" data-id=\"1829afd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items\"><li class=\"elementor-icon-list-item\">The SmartPlug service kits provide all the electrical components, hardware, and gaskets required to replace or repair the products.<\/li><li class=\"elementor-icon-list-item\"><i class=\"fas fa-check\" aria-hidden=\"true\"><\/i><span class=\"elementor-icon-list-text\">\u00a0Easily replaces missing or damaged piece.<\/span><\/li><li class=\"elementor-icon-list-item\"><i class=\"fas fa-check\" aria-hidden=\"true\"><\/i><span class=\"elementor-icon-list-text\">\u00a0Color coded wire guides in the inlets and connectors.<\/span><\/li><li class=\"elementor-icon-list-item\"><i class=\"fas fa-check\" aria-hidden=\"true\"><\/i><span class=\"elementor-icon-list-text\"> Works on all SmartPlug Connectors.<\/span><\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-38c6857 wpr-button-icon-style-inline wpr-button-icon-position-right elementor-widget elementor-widget-wpr-button\" data-id=\"38c6857\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"wpr-button.default\">\n\t\t\t\t\t\t\n\t\t\t\n\t\t\n\t\t<div class=\"wpr-button-wrap elementor-clearfix\">\n\t\t<a class=\"wpr-button wpr-button-effect wpr-button-none\" data-text=\"\" href=\"https:\/\/dev.smartplug.com\/staging\/smartplug-male-inlet-connector\/\">\n\t\t\t\n\t\t\t<span class=\"wpr-button-content\">\n\t\t\t\t\t\t\t\t\t<span class=\"wpr-button-text\">Learn More<\/span>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t<span class=\"wpr-button-icon\"><svg class=\"e-font-icon-svg e-fas-arrow-right\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z\"><\/path><\/svg><\/span>\n\t\t\t\t\t\t\t<\/span>\n\t\t<\/a>\n\n\t\t\t\t<\/div>\n\t\n\t\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-91f50c8 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=\"91f50c8\" 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-6e1847f zoom-hover2 elementor-widget elementor-widget-image\" data-id=\"6e1847f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/dev.smartplug.com\/staging\/smartplug-harmonized-cord-w-smartplug-boat-side-connector-w-blunt-end\/\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"500\" src=\"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Female-Connector-Inlet.avif\" class=\"attachment-full size-full wp-image-12315\" alt=\"\" srcset=\"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Female-Connector-Inlet.avif 500w, https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Female-Connector-Inlet-300x300.avif 300w, https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Female-Connector-Inlet-100x100.avif 100w, https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Female-Connector-Inlet-64x64.avif 64w, https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Female-Connector-Inlet-150x150.avif 150w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-94a9647 elementor-widget elementor-widget-heading\" data-id=\"94a9647\" 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\">Female Inlet Connector\n<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-396fa3d elementor-widget elementor-widget-text-editor\" data-id=\"396fa3d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items\"><li class=\"elementor-icon-list-item\">The SmartPlug service kits provide all the electrical components, hardware, and gaskets required to replace or repair the products.<\/li><li class=\"elementor-icon-list-item\"><i class=\"fas fa-check\" aria-hidden=\"true\"><\/i><span class=\"elementor-icon-list-text\">\u00a0Easily replaces missing or damaged piece.<\/span><\/li><li class=\"elementor-icon-list-item\"><i class=\"fas fa-check\" aria-hidden=\"true\"><\/i><span class=\"elementor-icon-list-text\">\u00a0Color coded wire guides in the inlets and connectors.<\/span><\/li><li class=\"elementor-icon-list-item\"><i class=\"fas fa-check\" aria-hidden=\"true\"><\/i><span class=\"elementor-icon-list-text\"> Works on all SmartPlug Connectors.<\/span><\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ca85337 wpr-button-icon-style-inline wpr-button-icon-position-right elementor-widget elementor-widget-wpr-button\" data-id=\"ca85337\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"wpr-button.default\">\n\t\t\t\t\t\t\n\t\t\t\n\t\t\n\t\t<div class=\"wpr-button-wrap elementor-clearfix\">\n\t\t<a class=\"wpr-button wpr-button-effect wpr-button-none\" data-text=\"\" href=\"https:\/\/dev.smartplug.com\/staging\/smartplug-female-connector-inlet\/\">\n\t\t\t\n\t\t\t<span class=\"wpr-button-content\">\n\t\t\t\t\t\t\t\t\t<span class=\"wpr-button-text\">Learn More<\/span>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t<span class=\"wpr-button-icon\"><svg class=\"e-font-icon-svg e-fas-arrow-right\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z\"><\/path><\/svg><\/span>\n\t\t\t\t\t\t\t<\/span>\n\t\t<\/a>\n\n\t\t\t\t<\/div>\n\t\n\t\n\t\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<div class=\"elementor-element elementor-element-2a04405 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=\"2a04405\" 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-9def396 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=\"9def396\" 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-29846fb zoom-hover2 elementor-widget elementor-widget-image\" data-id=\"29846fb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/dev.smartplug.com\/staging\/smartplug-dual-configuration-smartplug-cordset-w-shore-power-twist-type-connector\/\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"500\" src=\"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Female-Connector-Gasket.avif\" class=\"attachment-full size-full wp-image-12317\" alt=\"\" srcset=\"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Female-Connector-Gasket.avif 500w, https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Female-Connector-Gasket-300x300.avif 300w, https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Female-Connector-Gasket-100x100.avif 100w, https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Female-Connector-Gasket-64x64.avif 64w, https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Female-Connector-Gasket-150x150.avif 150w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-313d332 elementor-widget elementor-widget-heading\" data-id=\"313d332\" 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\">Female Connector Gasket<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0c1789f elementor-widget elementor-widget-text-editor\" data-id=\"0c1789f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items\"><li class=\"elementor-icon-list-item\">The SmartPlug service kits provide all the electrical components, hardware, and gaskets required to replace or repair the products.<\/li><li class=\"elementor-icon-list-item\"><i class=\"fas fa-check\" aria-hidden=\"true\"><\/i><span class=\"elementor-icon-list-text\">\u00a0Easily replaces missing or damaged piece.<\/span><\/li><li class=\"elementor-icon-list-item\"><i class=\"fas fa-check\" aria-hidden=\"true\"><\/i><span class=\"elementor-icon-list-text\">\u00a0Color coded wire guides in the inlets and connectors.<\/span><\/li><li class=\"elementor-icon-list-item\"><i class=\"fas fa-check\" aria-hidden=\"true\"><\/i>\u00a0Works on all SmartPlug Connectors.<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3b48acb wpr-button-icon-style-inline wpr-button-icon-position-right elementor-widget elementor-widget-wpr-button\" data-id=\"3b48acb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"wpr-button.default\">\n\t\t\t\t\t\t\n\t\t\t\n\t\t\n\t\t<div class=\"wpr-button-wrap elementor-clearfix\">\n\t\t<a class=\"wpr-button wpr-button-effect wpr-button-none\" data-text=\"\" href=\"https:\/\/dev.smartplug.com\/staging\/smartplug-female-connector-gasket\/\">\n\t\t\t\n\t\t\t<span class=\"wpr-button-content\">\n\t\t\t\t\t\t\t\t\t<span class=\"wpr-button-text\">Learn More<\/span>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t<span class=\"wpr-button-icon\"><svg class=\"e-font-icon-svg e-fas-arrow-right\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z\"><\/path><\/svg><\/span>\n\t\t\t\t\t\t\t<\/span>\n\t\t<\/a>\n\n\t\t\t\t<\/div>\n\t\n\t\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-875ad83 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=\"875ad83\" 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-526fa4a zoom-hover2 elementor-widget elementor-widget-image\" data-id=\"526fa4a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/dev.smartplug.com\/staging\/smartplug-harmonized-cord-w-smartplug-boat-side-connector-w-blunt-end\/\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"500\" src=\"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Male-Connector-Gasket.avif\" class=\"attachment-full size-full wp-image-12318\" alt=\"\" srcset=\"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Male-Connector-Gasket.avif 500w, https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Male-Connector-Gasket-300x300.avif 300w, https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Male-Connector-Gasket-100x100.avif 100w, https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Male-Connector-Gasket-64x64.avif 64w, https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Male-Connector-Gasket-150x150.avif 150w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c22ba99 elementor-widget elementor-widget-heading\" data-id=\"c22ba99\" 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\">Male Connector Gasket<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-39a0672 elementor-widget elementor-widget-text-editor\" data-id=\"39a0672\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items\"><li class=\"elementor-icon-list-item\">The SmartPlug service kits provide all the electrical components, hardware, and gaskets required to replace or repair the products.<\/li><li class=\"elementor-icon-list-item\"><i class=\"fas fa-check\" aria-hidden=\"true\"><\/i><span class=\"elementor-icon-list-text\">\u00a0Easily replaces missing or damaged piece.<\/span><\/li><li class=\"elementor-icon-list-item\"><i class=\"fas fa-check\" aria-hidden=\"true\"><\/i><span class=\"elementor-icon-list-text\">\u00a0Color coded wire guides in the inlets and connectors.<\/span><\/li><li class=\"elementor-icon-list-item\"><i class=\"fas fa-check\" aria-hidden=\"true\"><\/i>\u00a0Works on all SmartPlug Connectors.<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-bec3a52 wpr-button-icon-style-inline wpr-button-icon-position-right elementor-widget elementor-widget-wpr-button\" data-id=\"bec3a52\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"wpr-button.default\">\n\t\t\t\t\t\t\n\t\t\t\n\t\t\n\t\t<div class=\"wpr-button-wrap elementor-clearfix\">\n\t\t<a class=\"wpr-button wpr-button-effect wpr-button-none\" data-text=\"\" href=\"https:\/\/dev.smartplug.com\/staging\/smartplug-male-connector-gasket\/\">\n\t\t\t\n\t\t\t<span class=\"wpr-button-content\">\n\t\t\t\t\t\t\t\t\t<span class=\"wpr-button-text\">Learn More<\/span>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t<span class=\"wpr-button-icon\"><svg class=\"e-font-icon-svg e-fas-arrow-right\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z\"><\/path><\/svg><\/span>\n\t\t\t\t\t\t\t<\/span>\n\t\t<\/a>\n\n\t\t\t\t<\/div>\n\t\n\t\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-1dfef24 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=\"1dfef24\" 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-987532d zoom8-hover elementor-widget elementor-widget-image\" data-id=\"987532d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/dev.smartplug.com\/staging\/smartplug-tv-phone-internet-inlets\/\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"500\" height=\"500\" src=\"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Side-Lever-Kit.avif\" class=\"attachment-full size-full wp-image-12320\" alt=\"\" srcset=\"https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Side-Lever-Kit.avif 500w, https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Side-Lever-Kit-300x300.avif 300w, https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Side-Lever-Kit-100x100.avif 100w, https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Side-Lever-Kit-64x64.avif 64w, https:\/\/dev.smartplug.com\/staging\/wp-content\/uploads\/2026\/07\/SmartPlug-Side-Lever-Kit-150x150.avif 150w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-668d1d4 zoom-hover elementor-widget elementor-widget-heading\" data-id=\"668d1d4\" 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\">Side Lever Kit<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4903f5f elementor-widget elementor-widget-text-editor\" data-id=\"4903f5f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items\"><li class=\"elementor-icon-list-item\">The SmartPlug service kits provide all the electrical components, hardware, and gaskets required to replace or repair the products.<\/li><li class=\"elementor-icon-list-item\"><i class=\"fas fa-check\" aria-hidden=\"true\"><\/i><span class=\"elementor-icon-list-text\">\u00a0Easily replaces missing or damaged piece.<\/span><\/li><li class=\"elementor-icon-list-item\"><i class=\"fas fa-check\" aria-hidden=\"true\"><\/i><span class=\"elementor-icon-list-text\">\u00a0Color coded wire guides in the inlets and connectors.<\/span><\/li><li class=\"elementor-icon-list-item\"><i class=\"fas fa-check\" aria-hidden=\"true\"><\/i>\u00a0Works on all SmartPlug Connectors.<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d071816 wpr-button-icon-style-inline wpr-button-icon-position-right elementor-widget elementor-widget-wpr-button\" data-id=\"d071816\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"wpr-button.default\">\n\t\t\t\t\t\t\n\t\t\t\n\t\t\n\t\t<div class=\"wpr-button-wrap elementor-clearfix\">\n\t\t<a class=\"wpr-button wpr-button-effect wpr-button-none\" data-text=\"\" href=\"https:\/\/dev.smartplug.com\/staging\/smartplug-side-lever-kit\/\">\n\t\t\t\n\t\t\t<span class=\"wpr-button-content\">\n\t\t\t\t\t\t\t\t\t<span class=\"wpr-button-text\">Learn More<\/span>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t<span class=\"wpr-button-icon\"><svg class=\"e-font-icon-svg e-fas-arrow-right\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z\"><\/path><\/svg><\/span>\n\t\t\t\t\t\t\t<\/span>\n\t\t<\/a>\n\n\t\t\t\t<\/div>\n\t\n\t\n\t\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>16 Amperage \u2630 0 Having trouble finding the right product? TRY PRODUCT FILTER Product Filter Reset Filters Application Marine RV Dockside Specialty Product Type Connector Cordset Inlet ELCI Service Kits Combokit Data Ports Amperage 15AStandard outlets 16ACompact setups 30AMost RVs 32ALarger boats 50ALarge RVs &amp; boats Matching Products Check an attribute above to see matching products. Browse All Products \u2192 Combo Kit The SmartPlug Combo Kit includes a SmartPlug Inlet and Connector offers superior performance and ease of use. \u00a0Larger contact surface reduces overheating. \u00a0Weatherproof seals protect against moisture. \u00a0Installs quickly using standard mounting holes. Learn More Connector The SmartPlug Connector delivers safer, hassle-free power with enhanced conductivity, secure locking, and weatherproof protection. \u00a0Twist-free push-in design for effortless connection. \u00a0Weatherproof seals block moisture penetration. \u00a0Easier to store and coil when you are breaking camp Learn More Inlet The SmartPlug Inlet combines effortless installation, secure locking, superior conductivity, and weatherproof protection for reliable, worry-free power. \u00a0Weatherproof seals prevent water intrusion. \u00a0Locking clips hold plug firmly in place. \u00a0Smart push-in shape guarantees correct alignment. Learn More Harmonized Cord w\/ Boat Side Connector w\/ Blunt End The SmartPlug Harmonized Cord with Boat Side Connector and Blunt End delivers secure multi-point locking, weatherproof protection, and complete 16\u202fA, 240\u202fV shore power connectivity. \u00a0Multi-point clips secure plug in inlet. \u00a0Locks prevent stress from cord movement. \u00a0Weatherproof seals protect electrical connection. Learn More Male Inlet Connector The SmartPlug service kits provide all the electrical components, hardware, and gaskets required to replace or repair the products. \u00a0Easily replaces missing or damaged piece. \u00a0Color coded wire guides in the inlets and connectors. Works on all SmartPlug Connectors. Learn More Female Inlet Connector The SmartPlug service kits provide all the electrical components, hardware, and gaskets required to replace or repair the products. \u00a0Easily replaces missing or damaged piece. \u00a0Color coded wire guides in the inlets and connectors. Works on all SmartPlug Connectors. Learn More Female Connector Gasket The SmartPlug service kits provide all the electrical components, hardware, and gaskets required to replace or repair the products. \u00a0Easily replaces missing or damaged piece. \u00a0Color coded wire guides in the inlets and connectors. \u00a0Works on all SmartPlug Connectors. Learn More Male Connector Gasket The SmartPlug service kits provide all the electrical components, hardware, and gaskets required to replace or repair the products. \u00a0Easily replaces missing or damaged piece. \u00a0Color coded wire guides in the inlets and connectors. \u00a0Works on all SmartPlug Connectors. Learn More Side Lever Kit The SmartPlug service kits provide all the electrical components, hardware, and gaskets required to replace or repair the products. \u00a0Easily replaces missing or damaged piece. \u00a0Color coded wire guides in the inlets and connectors. \u00a0Works on all SmartPlug Connectors. Learn More<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":14240,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-14092","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/dev.smartplug.com\/staging\/wp-json\/wp\/v2\/pages\/14092","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=14092"}],"version-history":[{"count":22,"href":"https:\/\/dev.smartplug.com\/staging\/wp-json\/wp\/v2\/pages\/14092\/revisions"}],"predecessor-version":[{"id":14499,"href":"https:\/\/dev.smartplug.com\/staging\/wp-json\/wp\/v2\/pages\/14092\/revisions\/14499"}],"up":[{"embeddable":true,"href":"https:\/\/dev.smartplug.com\/staging\/wp-json\/wp\/v2\/pages\/14240"}],"wp:attachment":[{"href":"https:\/\/dev.smartplug.com\/staging\/wp-json\/wp\/v2\/media?parent=14092"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}<!-- This website is optimized by Airlift. Learn more: https://airlift.net. Template:. Learn more: https://airlift.net. Template: 6a7611d2190636a6b8736f05. Config Timestamp: 2026-08-07 17:11:45 UTC, Cached Timestamp: 2026-08-09 17:53:54 UTC -->