<style id="elementor-post-15035">.elementor-15035 .elementor-element.elementor-element-951ab06 > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-15035 .elementor-element.elementor-element-951ab06{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-15035 .elementor-element.elementor-element-50294fd > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:60px 60px 60px 60px;}@media(max-width:1024px){.elementor-15035 .elementor-element.elementor-element-951ab06{padding:75px 25px 75px 25px;}}@media(max-width:767px){.elementor-15035 .elementor-element.elementor-element-951ab06{padding:75px 20px 25px 20px;}}/* Start custom CSS *//* Exp main */
#exp-main{
	padding-top:0px;
	
}/* End custom CSS */</style>{"id":15035,"date":"2026-10-12T15:33:12","date_gmt":"2026-10-12T20:33:12","guid":{"rendered":"https:\/\/soldgrup.com\/new\/?page_id=15035"},"modified":"2026-10-12T17:35:06","modified_gmt":"2026-10-12T22:35:06","slug":"productos","status":"publish","type":"page","link":"https:\/\/soldgrup.com\/new\/productos\/","title":{"rendered":"Productos"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"15035\" class=\"elementor elementor-15035\" data-elementor-post-type=\"page\">\n\t\t\t\t        <section class=\"elementor-section elementor-top-section elementor-element elementor-element-951ab06 elementor-section-content-middle elementor-section-full_width elementor-section-height-default elementor-section-height-default exp-type-header-none exp-row-scroll-none exp-full-content-with-space-none exp-bg-color-none exp-section-overlay-none\" data-id=\"951ab06\" data-element_type=\"section\" data-e-type=\"section\">\n\n                \n                <div class=\"elementor-container elementor-column-gap-no \">\n                <div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-50294fd exp-col-none exp-column-none\" data-id=\"50294fd\" data-element_type=\"column\" data-e-type=\"column\">\r\n        <div class=\"elementor-widget-wrap elementor-element-populated\">\r\n                     \r\n        \t\t<div class=\"elementor-element elementor-element-605e636 elementor-widget elementor-widget-html\" data-id=\"605e636\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div class=\"soldgrup-catalog\">\r\n  <aside class=\"catalog-sidebar\">\r\n    <h3 class=\"filter-title\">FILTRAR POR CATEGOR\u00cdA<\/h3>\r\n    <div id=\"category-tree-container\"><\/div>\r\n  <\/aside>\r\n  <main class=\"catalog-main\">\r\n    <div class=\"product-search-bar\">\r\n      <input type=\"text\" id=\"product-search\" placeholder=\"Buscar productos por nombre...\" \/>\r\n    <\/div>\r\n    <div class=\"product-grid\" id=\"product-grid\"><\/div>\r\n  <\/main>\r\n<\/div>\r\n\r\n<style>\r\n  .soldgrup-catalog { display: flex; flex-wrap: wrap; gap: 30px; font-family: Arial, Helvetica, sans-serif; color: #333; }\r\n  .catalog-sidebar { width: 280px; flex-shrink: 0; }\r\n  .filter-title { font-size: 14px; font-weight: bold; color: #444; margin-bottom: 20px; border-bottom: 2px solid #f0f0f0; padding-bottom: 10px; }\r\n  ul.cat-tree-list { list-style: none; padding-left: 0; margin: 0; }\r\n  ul.cat-tree-list ul { list-style: none; padding-left: 20px; margin-top: 5px; margin-bottom: 5px; }\r\n  .cat-item-wrapper { display: flex; align-items: center; margin-bottom: 10px; }\r\n  .cat-toggle { width: 20px; font-size: 11px; color: #888; cursor: pointer; user-select: none; display: inline-block; text-align: center; }\r\n  .cat-toggle:hover { color: #d1122a; }\r\n  .cat-label { display: flex; align-items: center; font-size: 13px; color: #555; cursor: pointer; flex-grow: 1; margin: 0; }\r\n  .cat-label input { margin-right: 8px; accent-color: #d1122a; }\r\n  .cat-count { margin-left: auto; background: #f5f5f5; border: 1px solid #eee; border-radius: 12px; font-size: 11px; padding: 2px 8px; color: #888; }\r\n  .catalog-main { flex-grow: 1; width: calc(100% - 310px); }\r\n  .product-search-bar { margin-bottom: 25px; }\r\n  .product-search-bar input { width: 100%; padding: 12px 20px; border: 1px solid #ddd; border-radius: 5px; font-size: 14px; outline: none; transition: border 0.3s; }\r\n  .product-search-bar input:focus { border-color: #d1122a; box-shadow: 0 0 5px rgba(209, 18, 42, 0.2); }\r\n  .product-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 20px; }\r\n  .product-card { background: #fff; border: 1px solid #f0f0f0; padding: 20px; text-align: center; border-radius: 8px; display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; transition: all 0.3s ease-in-out; }\r\n  .product-card:hover { transform: translateY(-8px); box-shadow: 0 12px 24px rgba(0,0,0,0.12); border-color: #e0e0e0; }\r\n  .product-title { font-size: 13px; font-weight: 700; margin-bottom: 5px; text-transform: uppercase; color: #333; line-height: 1.3; }\r\n  .product-category { font-size: 11px; color: #999; text-transform: uppercase; margin-bottom: 15px; }\r\n  .product-image { width: 100%; height: 180px; object-fit: contain; margin-bottom: 15px; transition: transform 0.4s ease; }\r\n  .product-card:hover .product-image { transform: scale(1.08); }\r\n  .btn-ver-producto { display: inline-block; margin-top: auto; padding: 10px 15px; background-color: #d1122a; color: #fff !important; text-decoration: none; border-radius: 4px; font-size: 12px; font-weight: bold; text-transform: uppercase; transition: background 0.3s ease; }\r\n  .btn-ver-producto:hover { background-color: #a80e22; }\r\n  @media (max-width: 768px) { .catalog-sidebar { width: 100%; } .catalog-main { width: 100%; } .product-grid { grid-template-columns: repeat(2, 1fr); } }\r\n  @media (max-width: 480px) { .product-grid { grid-template-columns: 1fr; } }\r\n<\/style>\r\n\r\n<script>\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  \r\n  const categoryTree = {\r\n    \"Automatizaci\u00f3n\": {},\r\n    \"Equipos de elevaci\u00f3n\": {\r\n      \"Electrificaciones\": { \"Electrificaciones Por Cable Plano\": {}, \"L\u00ednea Protegida\": {} },\r\n      \"Elevadores de carga\": {}, \"Elevadores residenciales\": {}, \"Eslingas\": {},\r\n      \"Polipastos\": { \"Polipastos Hyundai\": {}, \"Polipastos Kito\": {}, \"Polipastos manuales de cadena CM\": {}, \"Polipastos SWF\": {} },\r\n      \"Puentes Gr\u00faa\": {}, \"Winches\": {}\r\n    },\r\n    \"Otros productos\": {},\r\n    \"Telemandos\": { \"Familia Panther Telemandos\": {}, \"Familia Tiger Telemandos\": {} }\r\n  };\r\n\r\n  const products = [{\"id\": 14756, \"name\": \"Combinaci\u00f3n de Polipasto y Trole\", \"categories\": [\"Equipos de elevaci\u00f3n\", \"Polipastos\", \"Polipastos Kito\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/Combinacion-de-Polipasto-y-Trole.jpg\"}, {\"id\": 14757, \"name\": \"Polipasto El\u00e9ctrico De Cadena NER (grado) Comestible\", \"categories\": [\"Equipos de elevaci\u00f3n\", \"Polipastos\", \"Polipastos Kito\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/Polipasto-Electrico-de-Cadena-NER-grado-Comestible.jpg\"}, {\"id\": 14758, \"name\": \"Polipastos Con Palanca LB\", \"categories\": [\"Equipos de elevaci\u00f3n\", \"Polipastos\", \"Polipastos Kito\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/Polipastos-con-Palanca-LB.jpg\"}, {\"id\": 14759, \"name\": \"Polipasto Trif\u00e1sico (N)ER\", \"categories\": [\"Equipos de elevaci\u00f3n\", \"Polipastos\", \"Polipastos Kito\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/Polipasto-Trifasico-NER.jpg\"}, {\"id\": 14760, \"name\": \"Polipastos de Gran Capacidad De Tres Fases (N)ER\", \"categories\": [\"Equipos de elevaci\u00f3n\", \"Polipastos\", \"Polipastos Kito\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/Polipastos-de-Gran-Capacidad-de-Tres-Fases-NER.jpg\"}, {\"id\": 14761, \"name\": \"Trole Polipasto De Perfil Ultra Bajo Modelo SHB\", \"categories\": [\"Equipos de elevaci\u00f3n\", \"Polipastos\", \"Polipastos Kito\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/Trole_Polipasto_de_Perfil_Ultra_Bajo_Modelo_SH.jpg\"}, {\"id\": 14762, \"name\": \"Polipasto a Cable SWF Referencia NOVA-L\", \"categories\": [\"Polipastos\", \"Polipastos SWF\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/Polipasto-a-cable-SWF-Referencia-NOVA-2.jpg\"}, {\"id\": 14763, \"name\": \"Polipasto a Cable SWF Referencia NOVA M hasta 80 Ton.\", \"categories\": [\"Polipastos\", \"Polipastos SWF\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/Polipasto-a-cable-SWF-Referencia-NOVA-M-hasta-80-Ton-2.jpg\"}, {\"id\": 14764, \"name\": \"Polipasto a cable SWF Referencia NOVA N hasta 40 ton.\", \"categories\": [\"Polipastos\", \"Polipastos SWF\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/Polipasto-a-cable-SWF-Referencia-NOVA-N-hasta-40-ton.-2.jpg\"}, {\"id\": 14765, \"name\": \"Polipasto a Cable SWF Winch CRABster M\", \"categories\": [\"Polipastos\", \"Polipastos SWF\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/Polipasto-a-cable-SWF-Winch-CRABster-M-2.jpg\"}, {\"id\": 14766, \"name\": \"Polipasto a Cable Hyundai Referencia HL de 1 a 5 Ton\", \"categories\": [\"Polipastos Hyundai\", \"Polipastos\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/Polipasto-a-cable-Hyundai-referencia-HL-de-1-a-5-Ton-2.jpg\"}, {\"id\": 14767, \"name\": \"Polipasto a Cable Hyundai Referencia HN 5 a 20 Ton.\", \"categories\": [\"Polipastos Hyundai\", \"Polipastos\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/Polipasto-a-cable-Hyundai-referencia-HN-5-a-20-Ton.-2.jpg\"}, {\"id\": 14768, \"name\": \"Polipasto a Cable Hyundai Referencia HD 2 a 70 Ton\", \"categories\": [\"Polipastos Hyundai\", \"Polipastos\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/Polipasto-a-cable-Hyundai-Referencia-HD-2-a-70-Ton-2.jpg\"}, {\"id\": 14769, \"name\": \"Polipasto a Cadena Hyundai Referencia FT S300\/500\", \"categories\": [\"Polipastos Hyundai\", \"Polipastos\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/Polipasto-a-cadena-Hyundai-referencia-FT-S300-500-2.jpg\"}, {\"id\": 14770, \"name\": \"Polipasto a Cadena Hyundai Referencia FS S300\/500\", \"categories\": [\"Polipastos Hyundai\", \"Polipastos\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/Polipasto-a-cadena-Hyundai-referencia-FS-S300-500-2.jpg\"}, {\"id\": 14771, \"name\": \"Polipasto a Cadena Hyundai Referencia HT S100\/200\", \"categories\": [\"Polipastos Hyundai\", \"Polipastos\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/Polipasto-a-cadena-Hyundai-referencia-HT-S100-200.png\"}, {\"id\": 14772, \"name\": \"Polipasto a Cadena Hyundai Referencia HS S100\/200\", \"categories\": [\"Polipastos Hyundai\", \"Polipastos\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/Polipasto-a-cadena-Hyundai-referencia-HS-S100-200.png\"}, {\"id\": 14773, \"name\": \"Polipasto Manual De Cadena CM 2000\", \"categories\": [\"Polipastos\", \"Polipastos manuales de cadena CM\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/Polipasto-Manual-de-Cadena-CM-2000-1.jpg\"}, {\"id\": 14774, \"name\": \"Polipastos Manuales De Cadena CM 622\", \"categories\": [\"Polipastos\", \"Polipastos manuales de cadena CM\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/Polipasto-Manual-de-Cadena-622-1.jpg\"}, {\"id\": 14775, \"name\": \"Trole Manual CM 633\", \"categories\": [\"Polipastos\", \"Polipastos manuales de cadena CM\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/TROLE-MANUAL-CM-633-1.jpg\"}, {\"id\": 14776, \"name\": \"Monorrieles\", \"categories\": [\"Puentes Gr\u00faa\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/MONORIELES.jpg\"}, {\"id\": 14777, \"name\": \"P\u00f3rticos\", \"categories\": [\"Puentes Gr\u00faa\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/PORTICOS-2.jpg\"}, {\"id\": 14778, \"name\": \"Brazos Giratorios\", \"categories\": [\"Puentes Gr\u00faa\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/BRAZOS-GIRATORIOS-2.jpg\"}, {\"id\": 14779, \"name\": \"Puentes Gr\u00faa\", \"categories\": [\"Puentes Gr\u00faa\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/PUENTES-GRUA-2.jpg\"}, {\"id\": 14780, \"name\": \"Cadena Para Elevaci\u00f3n\", \"categories\": [\"Puentes Gr\u00faa\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/CADENAS-PARA-ELEVACION-2.jpg\"}, {\"id\": 14781, \"name\": \"Cable Para Elevaci\u00f3n\", \"categories\": [\"Puentes Gr\u00faa\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/CABLE-PARA-ELEVACION-2.jpg\"}, {\"id\": 14782, \"name\": \"Suministro De Componentes\", \"categories\": [\"Puentes Gr\u00faa\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/OTROS-COMPONENTES-2.jpg\"}, {\"id\": 14783, \"name\": \"Repuestos Para Polipastos\", \"categories\": [\"Equipos de elevaci\u00f3n\", \"Puentes Gr\u00faa\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/REPUESTOS-PARA-POLIPASTOS-2.jpg\"}, {\"id\": 14784, \"name\": \"Cable Plano De Potencia\", \"categories\": [\"Electrificaciones Por Cable Plano\", \"Electrificaciones\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/Sistema-de-cable-plano-2.jpg\"}, {\"id\": 14785, \"name\": \"Cable Para Botonera De Polipasto\", \"categories\": [\"Electrificaciones Por Cable Plano\", \"Electrificaciones\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/Cable-para-Botonera-de-Polipasto.jpg\"}, {\"id\": 14816, \"name\": \"Carro Intermedio Met\u00e1lico\", \"categories\": [\"Electrificaciones Por Cable Plano\", \"Electrificaciones\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/Carro-intemedio-2.jpg\"}, {\"id\": 14817, \"name\": \"Tope Final\", \"categories\": [\"Electrificaciones Por Cable Plano\", \"Electrificaciones\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/Tope-final-2.jpg\"}, {\"id\": 14818, \"name\": \"Empalmes\", \"categories\": [\"Electrificaciones Por Cable Plano\", \"Electrificaciones\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/empalmes-2.jpg\"}, {\"id\": 14819, \"name\": \"Perfil Met\u00e1lico De Rodadura\", \"categories\": [\"Electrificaciones Por Cable Plano\", \"Electrificaciones\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/Perfil-metalico-de-rodadura-2.jpg\"}, {\"id\": 14820, \"name\": \"Soporte Regulable\", \"categories\": [\"Electrificaciones Por Cable Plano\", \"Electrificaciones\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/Soporte-regulable-2.jpg\"}, {\"id\": 14821, \"name\": \"Tiger Emisor\", \"categories\": [\"Familia Tiger Telemandos\", \"Telemandos\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/TIGER_-_TELEMANDO-2.jpg\"}, {\"id\": 14822, \"name\": \"Receptor Para Telemando Modelo Tiger\", \"categories\": [\"Familia Tiger Telemandos\", \"Telemandos\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/RECEPTOR_TIGER_-_TELEMANDO_22.jpg\"}, {\"id\": 14823, \"name\": \"Emisor Para Telemando Marca Teleradio Modelo Panther\", \"categories\": [\"Telemandos\", \"Familia Panther Telemandos\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/EMISOR_PARA_TELEMANDO_MARCA_TELERADIO_MODELO_PANTHER-2.jpg\"}, {\"id\": 14824, \"name\": \"Receptor Para Telemando Modelo Panther\", \"categories\": [\"Telemandos\", \"Familia Panther Telemandos\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/RECEPTOR_PARA_TELEMANDO_MARCA_PANTHER-2.jpg\"}, {\"id\": 14825, \"name\": \"Winches\", \"categories\": [\"Winches\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/WINCHES-2.jpg\"}, {\"id\": 14826, \"name\": \"Eslingas planas\", \"categories\": [\"Eslingas\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/Eslingas-planas-2.jpg\"}, {\"id\": 14827, \"name\": \"Eslingas Planas Tipo Sin Fin\", \"categories\": [\"Eslingas\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/Eslingas-sin-fin-2.jpg\"}, {\"id\": 14828, \"name\": \"Eslingas Tubulares o Redondas\", \"categories\": [\"Eslingas\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/Eslinga-tubular-o-redonda-2.jpg\"}, {\"id\": 14829, \"name\": \"Eslingas De Cadena\", \"categories\": [\"Eslingas\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/Eslinga-de-cadena-2.jpg\"}, {\"id\": 14830, \"name\": \"Automatizaci\u00f3n\", \"categories\": [\"Automatizaci\u00f3n\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/AUTOMATIZACION-2.jpg\"}, {\"id\": 14831, \"name\": \"Alimentaci\u00f3n extrema\", \"categories\": [\"L\u00ednea Protegida\", \"Electrificaciones\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/alimentacion-extrema.jpg\"}, {\"id\": 14832, \"name\": \"Tapa extrema\", \"categories\": [\"L\u00ednea Protegida\", \"Electrificaciones\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/tapa-externa.jpg\"}, {\"id\": 14833, \"name\": \"Soporte deslizante\", \"categories\": [\"L\u00ednea Protegida\", \"Electrificaciones\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/soporte-deslizante.jpg\"}, {\"id\": 14834, \"name\": \"Punto fijo\", \"categories\": [\"L\u00ednea Protegida\", \"Electrificaciones\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/punto-fijo.jpg\"}, {\"id\": 14835, \"name\": \"Perfil l\u00ednea blindada\", \"categories\": [\"L\u00ednea Protegida\", \"Electrificaciones\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/perfil-linea-blindada.jpg\"}, {\"id\": 14836, \"name\": \"Perfil con conductores\", \"categories\": [\"L\u00ednea Protegida\", \"Electrificaciones\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/perfil-conconductores.jpg\"}, {\"id\": 14837, \"name\": \"Empalme de l\u00ednea blindada\", \"categories\": [\"L\u00ednea Protegida\", \"Electrificaciones\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/empalme-de-linea-blindada.jpg\"}, {\"id\": 14838, \"name\": \"Carro colector\", \"categories\": [\"L\u00ednea Protegida\", \"Electrificaciones\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/carro-colector.jpg\"}, {\"id\": 14839, \"name\": \"Brazo de arrastre\", \"categories\": [\"L\u00ednea Protegida\", \"Electrificaciones\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/brazo-de-arrastre.jpg\"}, {\"id\": 14840, \"name\": \"Alimentaci\u00f3n intermedia\", \"categories\": [\"L\u00ednea Protegida\", \"Electrificaciones\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/alimentacion-intermedia.jpg\"}, {\"id\": 14841, \"name\": \"Balancin de carga\", \"categories\": [\"Otros productos\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/Balancin_de_carga_3-removebg-preview.png\"}, {\"id\": 14842, \"name\": \"Balancin de carga\", \"categories\": [\"Otros productos\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/Balancin_de_carga_4-removebg-preview.png\"}, {\"id\": 14843, \"name\": \"Balancin de Carga\", \"categories\": [\"Otros productos\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/Balancin_de_carga_1-removebg-preview.png\"}, {\"id\": 14844, \"name\": \"Balancin de carga\", \"categories\": [\"Otros productos\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/Balancin-de-carga-2.jpg\"}, {\"id\": 14845, \"name\": \"Elevador de Carga\", \"categories\": [\"Equipos de elevaci\u00f3n\", \"Elevadores de carga\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/SOLDGRUP-WEB-7.jpg\"}, {\"id\": 14876, \"name\": \"SKID Petrolero\", \"categories\": [\"Otros productos\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/SKID-removebg-preview.png\"}, {\"id\": 14877, \"name\": \"Elevador de Carga\", \"categories\": [\"Equipos de elevaci\u00f3n\", \"Elevadores de carga\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/SOLDGRUP-WEB-6.jpg\"}, {\"id\": 14878, \"name\": \"Elevador residencial para persona con movilidad reducida\", \"categories\": [\"Elevadores residenciales\", \"Equipos de elevaci\u00f3n\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/SOLDGRUP-WEB.jpg\"}, {\"id\": 14879, \"name\": \"Ascensor residencial para personas con movilidad reducida\", \"categories\": [\"Elevadores residenciales\", \"Equipos de elevaci\u00f3n\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/SOLDGRUP-WEB-1.jpg\"}, {\"id\": 14880, \"name\": \"Estructura cubierta para parqueadero\", \"categories\": [\"Otros productos\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/SOLDGRUP-WEB-2.jpg\"}, {\"id\": 14881, \"name\": \"P\u00f3rtico monorriel para elevaci\u00f3n de rollos de papel\", \"categories\": [\"Equipos de elevaci\u00f3n\", \"Elevadores de carga\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/SOLDGRUP-WEB-3.jpg\"}, {\"id\": 14882, \"name\": \"Elevador para carga empresa de alimentos\", \"categories\": [\"Equipos de elevaci\u00f3n\", \"Elevadores de carga\"], \"image\": \"https:\/\/soldgrup.com\/new\/wp-content\/uploads\/2026\/10\/SOLDGRUP-WEB-5.jpg\"}];\r\n\r\n  \/\/ NUEVO: LEER LA URL PARA VER SI HAY UNA CATEGOR\u00cdA PRE-SELECCIONADA\r\n  let selectedCategories = [];\r\n  const urlParams = new URLSearchParams(window.location.search);\r\n  const catFromUrl = urlParams.get('cat');\r\n  if (catFromUrl) {\r\n    selectedCategories.push(catFromUrl);\r\n  }\r\n\r\n  const categoryCounts = {};\r\n  products.forEach(p => { p.categories.forEach(c => { categoryCounts[c] = (categoryCounts[c] || 0) + 1; }); });\r\n\r\n  const catTreeContainer = document.getElementById('category-tree-container');\r\n  const productSearchInput = document.getElementById('product-search');\r\n  const gridDiv = document.getElementById('product-grid');\r\n\r\n  function buildTreeHTML(treeObj, parentElement, isRoot = true) {\r\n    const ul = document.createElement('ul');\r\n    ul.className = 'cat-tree-list';\r\n    if (!isRoot) ul.style.display = 'none'; \r\n\r\n    for (const cat in treeObj) {\r\n      const li = document.createElement('li');\r\n      const hasChildren = Object.keys(treeObj[cat]).length > 0;\r\n\r\n      const wrapper = document.createElement('div');\r\n      wrapper.className = 'cat-item-wrapper';\r\n\r\n      const toggle = document.createElement('span');\r\n      toggle.className = 'cat-toggle';\r\n      toggle.innerHTML = hasChildren ? '\u25ba' : '&nbsp;';\r\n\r\n      const label = document.createElement('label');\r\n      label.className = 'cat-label';\r\n      \r\n      const checkbox = document.createElement('input');\r\n      checkbox.type = 'checkbox';\r\n      checkbox.value = cat;\r\n\r\n      \/\/ NUEVO: MARCAR AUTOM\u00c1TICAMENTE SI VIENE EN LA URL Y EXPANDIR EL MEN\u00da\r\n      if (selectedCategories.includes(cat)) {\r\n        checkbox.checked = true;\r\n        \r\n        let pUl = parentElement;\r\n        while(pUl && pUl.classList.contains('cat-tree-list')) {\r\n           pUl.style.display = 'block';\r\n           if(pUl.previousElementSibling && pUl.previousElementSibling.classList.contains('cat-item-wrapper')) {\r\n              let t = pUl.previousElementSibling.querySelector('.cat-toggle');\r\n              if(t) t.innerHTML = '\u25bc';\r\n           }\r\n           pUl = pUl.parentElement.closest('ul.cat-tree-list');\r\n        }\r\n      }\r\n\r\n      checkbox.addEventListener('change', (e) => {\r\n        if (e.target.checked) selectedCategories.push(cat);\r\n        else selectedCategories = selectedCategories.filter(item => item !== cat);\r\n        renderProducts();\r\n      });\r\n\r\n      const spanText = document.createElement('span');\r\n      spanText.innerText = cat;\r\n      const countBadge = document.createElement('span');\r\n      countBadge.className = 'cat-count';\r\n      countBadge.innerText = categoryCounts[cat] || 0;\r\n\r\n      label.appendChild(checkbox); label.appendChild(spanText);\r\n      wrapper.appendChild(toggle); wrapper.appendChild(label); wrapper.appendChild(countBadge);\r\n      li.appendChild(wrapper);\r\n\r\n      if (hasChildren) {\r\n        const toggleAction = (e) => {\r\n          if(e.target === checkbox) return; \r\n          const childUl = li.querySelector('ul');\r\n          if (childUl.style.display === 'none') { childUl.style.display = 'block'; toggle.innerHTML = '\u25bc'; }\r\n          else { childUl.style.display = 'none'; toggle.innerHTML = '\u25ba'; }\r\n        };\r\n        toggle.addEventListener('click', toggleAction); spanText.addEventListener('click', toggleAction);\r\n        buildTreeHTML(treeObj[cat], li, false);\r\n      }\r\n      ul.appendChild(li);\r\n    }\r\n    parentElement.appendChild(ul);\r\n  }\r\n\r\n  function getAllCategoriesInBranch(catName) {\r\n    let result = [catName];\r\n    function findNode(tree) {\r\n      for(let key in tree) { if (key === catName) return tree[key]; let found = findNode(tree[key]); if (found) return found; }\r\n      return null;\r\n    }\r\n    let node = findNode(categoryTree);\r\n    if (node) { function extractKeys(subTree) { for(let k in subTree) { result.push(k); extractKeys(subTree[k]); } } extractKeys(node); }\r\n    return result;\r\n  }\r\n\r\n  function renderProducts() {\r\n    gridDiv.innerHTML = \"\";\r\n    const searchTerm = productSearchInput.value.toLowerCase();\r\n    \r\n    let activeFilters = [];\r\n    selectedCategories.forEach(sc => { activeFilters.push(...getAllCategoriesInBranch(sc)); });\r\n\r\n    const filtered = products.filter(p => {\r\n      const matchSearch = p.name.toLowerCase().includes(searchTerm);\r\n      const matchCategory = activeFilters.length === 0 || p.categories.some(c => activeFilters.includes(c));\r\n      return matchSearch && matchCategory;\r\n    });\r\n\r\n    filtered.forEach(p => {\r\n      const card = document.createElement('div');\r\n      card.className = 'product-card';\r\n      const mainCat = p.categories[p.categories.length - 1] || \"\";\r\n      const productLink = `\/new\/?post_type=product&p=${p.id}`;\r\n\r\n      card.innerHTML = `\r\n        <div class=\"product-title\">${p.name}<\/div>\r\n        <div class=\"product-category\">${mainCat}<\/div>\r\n        <img decoding=\"async\" class=\"product-image\" src=\"${p.image}\" alt=\"${p.name}\">\r\n        <a href=\"${productLink}\" class=\"btn-ver-producto\">Ver Producto<\/a>\r\n      `;\r\n      gridDiv.appendChild(card);\r\n    });\r\n  }\r\n\r\n  buildTreeHTML(categoryTree, catTreeContainer);\r\n  renderProducts();\r\n  productSearchInput.addEventListener('input', renderProducts);\r\n});\r\n<\/script>\t\t\t\t<\/div>\n\t\t            <\/div>\r\n        <\/div>\r\n        \t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>FILTRAR POR CATEGOR\u00cdA<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-15035","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/soldgrup.com\/new\/wp-json\/wp\/v2\/pages\/15035","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/soldgrup.com\/new\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/soldgrup.com\/new\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/soldgrup.com\/new\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/soldgrup.com\/new\/wp-json\/wp\/v2\/comments?post=15035"}],"version-history":[{"count":57,"href":"https:\/\/soldgrup.com\/new\/wp-json\/wp\/v2\/pages\/15035\/revisions"}],"predecessor-version":[{"id":15142,"href":"https:\/\/soldgrup.com\/new\/wp-json\/wp\/v2\/pages\/15035\/revisions\/15142"}],"wp:attachment":[{"href":"https:\/\/soldgrup.com\/new\/wp-json\/wp\/v2\/media?parent=15035"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}