{"product_id":"silla-ejecutiva-oficina-malla-cozy-ohe173-negra","title":"Silla Ejecutiva con Respaldo en Malla. Modelo Cozy OHE-173","description":"\n\u003csection class=\"ofi-acc-wrap\" aria-label=\"Información del producto\"\u003e\n  \u003cdiv class=\"ofi-acc-container\"\u003e\n    \u003cdiv class=\"ofi-acc\" data-ofi-accordion\u003e\n\n      \u003c!-- Especificaciones Técnicas --\u003e\n      \u003cdetails class=\"ofi-acc-item\" data-ofi-item\u003e\n        \u003csummary class=\"ofi-acc-summary\"\u003e\n          \u003cspan class=\"ofi-acc-summary-text\"\u003eInformación Técnica\u003c\/span\u003e\n          \u003cspan class=\"ofi-acc-icon\" aria-hidden=\"true\"\u003e\n            \u003csvg viewbox=\"0 0 24 24\" width=\"18\" height=\"18\" focusable=\"false\" aria-hidden=\"true\"\u003e\n              \u003cpath d=\"M6 9l6 6 6-6\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003c\/path\u003e\n            \u003c\/svg\u003e\n          \u003c\/span\u003e\n        \u003c\/summary\u003e\n\n        \u003cdiv class=\"ofi-acc-content\" role=\"region\" aria-label=\"Información Técnica\"\u003e\n          \u003cdl class=\"ofi-specs\"\u003e\n\t\t\t  \n\t\t\t  \u003cdiv class=\"ofi-specs-row\"\u003e\n              \u003cdt\u003ePedido Mínimo:\u003c\/dt\u003e\n              \u003cdd\u003e1 Pieza\u003c\/dd\u003e\n            \u003c\/div\u003e\n\n            \u003cdiv class=\"ofi-specs-row\"\u003e\n              \u003cdt\u003eRequiere Montaje:\u003c\/dt\u003e\n              \u003cdd\u003eSí\u003c\/dd\u003e\n            \u003c\/div\u003e\n\n\n            \u003cdiv class=\"ofi-specs-heading\" role=\"heading\" aria-level=\"3\"\u003eRespaldo\u003c\/div\u003e\n\t\t\t  \n            \u003cdiv class=\"ofi-specs-row\"\u003e\n\u003cdt\u003eTapiz:\u003c\/dt\u003e\n\t\t\t\t\u003cdd\u003eMalla\u003c\/dd\u003e\n\t\t\t\u003c\/div\u003e\t\t\t \n\n\t\t\t \u003cdiv class=\"ofi-specs-heading\" role=\"heading\" aria-level=\"3\"\u003eAsiento\u003c\/div\u003e\n\t\t\t  \n            \u003cdiv class=\"ofi-specs-row\"\u003e\n\u003cdt\u003eTapiz:\u003c\/dt\u003e\n\t\t\t\t\u003cdd\u003eTela\u003c\/dd\u003e\n\t\t\t\u003c\/div\u003e\n\t\t\t  \n            \u003cdiv class=\"ofi-specs-row\"\u003e\n\u003cdt\u003eAcojinado:\u003c\/dt\u003e\n\t\t\t\t\u003cdd\u003eEspuma de alta densidad\u003c\/dd\u003e\n\t\t\t\u003c\/div\u003e\n\n            \u003cdiv class=\"ofi-specs-heading\" role=\"heading\" aria-level=\"3\"\u003eEstructura\u003c\/div\u003e\n\t\t\t  \n            \u003cdiv class=\"ofi-specs-row\"\u003e\n\u003cdt\u003eMaterial:\u003c\/dt\u003e\n\t\t\t\t\u003cdd\u003ePoliuretano de alta densidad\u003c\/dd\u003e\n\t\t\t\u003c\/div\u003e\n\t\t\t  \n            \u003cdiv class=\"ofi-specs-row\"\u003e\n\u003cdt\u003eMaterial de la Base:\u003c\/dt\u003e\n\t\t\t\t\u003cdd\u003ePoliamida de alta resistencia (Nylon)\u003c\/dd\u003e\n\t\t\t\u003c\/div\u003e\t\t\t  \n\n            \u003cdiv class=\"ofi-specs-heading\" role=\"heading\" aria-level=\"3\"\u003eSistema de Elevación\u003c\/div\u003e\n\t\t\t  \n\t\t\t\u003cdiv class=\"ofi-specs-row\"\u003e\n\u003cdt\u003eMaterial:\u003c\/dt\u003e\n\t\t\t\t\u003cdd\u003ePistón neumático de gas nitrógeno\u003c\/dd\u003e\n\t\t\t\u003c\/div\u003e\n\t\t\t  \n            \u003cdiv class=\"ofi-specs-row\"\u003e\n\u003cdt\u003ePintura:\u003c\/dt\u003e\n\t\t\t\t\u003cdd\u003eEpóxica - Electrostática\u003c\/dd\u003e\n\t\t\t\u003c\/div\u003e\n\n          \u003c\/dl\u003e\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n      \u003c!-- ✅ Muestrario de Acabados (SIN POP-UP) --\u003e\n      \u003cdetails class=\"ofi-acc-item\" data-ofi-item\u003e\n        \u003csummary class=\"ofi-acc-summary\"\u003e\n          \u003cspan class=\"ofi-acc-summary-text\"\u003eMuestrario de Tapiz\u003c\/span\u003e\n          \u003cspan class=\"ofi-acc-icon\" aria-hidden=\"true\"\u003e\n            \u003csvg viewbox=\"0 0 24 24\" width=\"18\" height=\"18\" focusable=\"false\" aria-hidden=\"true\"\u003e\n              \u003cpath d=\"M6 9l6 6 6-6\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003c\/path\u003e\n            \u003c\/svg\u003e\n          \u003c\/span\u003e\n        \u003c\/summary\u003e\n\n        \u003cdiv class=\"ofi-acc-content\" role=\"region\" aria-label=\"Muestrario de acabados\"\u003e\n          \u003cdiv class=\"ofi-swatch-grid\" role=\"list\" aria-label=\"Muestrario de colores (3 x 2)\"\u003e\n\n            \u003c!-- SWATCH 1 --\u003e\n            \u003cdiv class=\"ofi-swatch\" role=\"listitem\"\u003e\n              \u003cspan class=\"ofi-swatch-imgwrap\"\u003e\n                \u003cimg class=\"ofi-swatch-img\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0425\/1284\/2917\/files\/acabado_tela_crep_negro_miniatura.jpg?v=1781221807\" alt=\"Negro Crep\" loading=\"lazy\"\u003e\n              \u003c\/span\u003e\n              \u003cspan class=\"ofi-swatch-name\"\u003eNegro Crep\u003c\/span\u003e\n            \u003c\/div\u003e\n\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- SEO: JSON-LD (edita con datos reales del producto) --\u003e\n  \u003cscript type=\"application\/ld+json\"\u003e\n  {\n    \"@context\": \"https:\/\/schema.org\",\n    \"@type\": \"Product\",\n    \"name\": \"Escritorio\",\n    \"description\": \"Escritorio con especificaciones técnicas, modelos disponibles y muestrario de acabados.\",\n    \"material\": [\"Melamina\", \"Acero\"],\n    \"additionalProperty\": [\n      {\"@type\":\"PropertyValue\",\"name\":\"Requiere montaje\",\"value\":\"Sí\"},\n      {\"@type\":\"PropertyValue\",\"name\":\"Cubierta\",\"value\":\"Melamina PBO 28 mm\"},\n      {\"@type\":\"PropertyValue\",\"name\":\"Soporte de cubierta\",\"value\":\"PTR 2x1\u0026quot; calibre 18\"},\n      {\"@type\":\"PropertyValue\",\"name\":\"Estructura\",\"value\":\"Melamina PBO 16 mm\"},\n      {\"@type\":\"PropertyValue\",\"name\":\"Patas\",\"value\":\"PTR 2x2\u0026quot; calibre 16\"}\n    ]\n  }\n  \u003c\/script\u003e\n\n  \u003cstyle\u003e\n    \/* OFI | Scope *\/\n    .ofi-acc-wrap{\n      --ofi-border: rgba(0,0,0,.12);\n      --ofi-text: rgba(0,0,0,.88);\n      --ofi-muted: rgba(0,0,0,.62);\n      --ofi-bg: #fff;\n      --ofi-radius: 10px;\n      --ofi-pad: 14px;\n      --ofi-rowpad: 12px;\n      --ofi-font: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \"Apple Color Emoji\",\"Segoe UI Emoji\";\n      color: var(--ofi-text);\n      font-family: var(--ofi-font);\n      margin: 5px auto 28px auto;\n    }\n\n    \/* 80% desktop \/ 95% mobile *\/\n    .ofi-acc-container{\n      width: 80%;\n      max-width: 980px;\n      margin: 0 auto;\n    }\n    @media (max-width: 768px){\n      .ofi-acc-container{ width: 95%; }\n    }\n\n    .ofi-acc{\n      background: var(--ofi-bg);\n      border: 1px solid var(--ofi-border);\n      border-radius: var(--ofi-radius);\n      overflow: hidden;\n    }\n\n    .ofi-acc-item{\n      border-top: 1px solid var(--ofi-border);\n    }\n    .ofi-acc-item:first-child{\n      border-top: 0;\n    }\n\n    \/* Summary *\/\n    .ofi-acc-summary{\n      list-style: none;\n      cursor: pointer;\n      display: flex;\n      align-items: center;\n      justify-content: space-between;\n      padding: var(--ofi-pad);\n      gap: 14px;\n      user-select: none;\n    }\n    .ofi-acc-summary::-webkit-details-marker{ display: none; }\n    .ofi-acc-summary::marker{ content: \"\"; }\n\n    .ofi-acc-summary-text{\n      font-size: 16px;\n      font-weight: 600;\n      letter-spacing: .1px;\n      flex: 1;\n      text-align: left;\n    }\n\n    \/* Chevron (SVG) *\/\n    .ofi-acc-icon{\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      color: var(--ofi-text);\n      transition: transform 220ms ease;\n      margin-left: auto;\n    }\n    .ofi-acc-icon svg{ display:block; }\n    .ofi-acc-icon::before,\n    .ofi-acc-icon::after{\n      content: none !important;\n      display: none !important;\n    }\n\n    \/* Content *\/\n    .ofi-acc-content{\n      padding: 0 var(--ofi-pad) var(--ofi-pad) var(--ofi-pad);\n    }\n\n    \/* Specs *\/\n    .ofi-specs{ margin: 0; }\n\n    .ofi-specs-row{\n      display: grid;\n      grid-template-columns: 1fr auto;\n      gap: 14px;\n      padding: var(--ofi-rowpad) 0;\n      border-top: 1px solid var(--ofi-border);\n      align-items: start;\n    }\n    .ofi-specs-row:first-child{\n      border-top: 0;\n      padding-top: 6px;\n    }\n    .ofi-specs dt{\n      margin: 0;\n      font-size: 14px;\n      color: var(--ofi-muted);\n      line-height: 1.45;\n    }\n    .ofi-specs dd{\n      margin: 0;\n      font-size: 14px;\n      color: var(--ofi-text);\n      line-height: 1.45;\n      text-align: right;\n      white-space: nowrap;\n    }\n\n    .ofi-specs-list{\n      margin: 0;\n      padding-left: 18px;\n      text-align: left;\n    }\n    .ofi-specs-list li{\n      margin: 4px 0;\n    }\n\n    .ofi-specs-heading{\n      padding: 14px 0 6px;\n      border-top: 1px solid var(--ofi-border);\n      font-size: 14px;\n      font-weight: 650;\n      color: var(--ofi-text);\n    }\n\n    \/* Open state *\/\n    .ofi-acc-item[open] .ofi-acc-summary{\n      background: rgba(0,0,0,.02);\n    }\n    .ofi-acc-item[open] .ofi-acc-icon{\n      transform: rotate(180deg);\n    }\n\n    \/* Mobile: stack dt\/dd *\/\n    @media (max-width: 520px){\n      .ofi-specs-row{ grid-template-columns: 1fr; }\n      .ofi-specs dd{\n        text-align: left;\n        white-space: normal;\n      }\n    }\n\n    \/* Desktop: align block left *\/\n    @media (min-width: 769px){\n      .ofi-acc-wrap,\n      .ofi-acc-container,\n      .ofi-acc{\n        margin-left: 0;\n        margin-right: auto;\n        text-align: left;\n      }\n    }\n\n    \/* Modelos table *\/\n    .ofi-table-scroll{\n      width: 100%;\n      overflow: hidden;\n      box-sizing: border-box;\n    }\n\n    .ofi-spec-table{\n      width: 100%;\n      border-collapse: collapse;\n      table-layout: fixed;\n      color: var(--ofi-text);\n      font-family: var(--ofi-font);\n      margin: 0;\n    }\n\n    .ofi-spec-table th,\n    .ofi-spec-table td{\n      padding: 10px 8px;\n      border-bottom: 1px solid var(--ofi-border);\n      font-size: 11px;\n      line-height: 1.25;\n      vertical-align: middle;\n      background: transparent;\n    }\n\n    .ofi-spec-table thead th{\n      font-weight: 650;\n      text-align: center;\n    }\n\n    .ofi-spec-table tbody td{\n      text-align: center;\n      white-space: nowrap;\n      font-weight: 500;\n    }\n\n    \/* Colores: centered + wrap *\/\n    .ofi-spec-table tbody td:nth-child(4){\n      text-align: center;\n      white-space: normal;\n      overflow-wrap: anywhere;\n      word-break: normal;\n    }\n\n    \/* Fix mobile cut on first column *\/\n    @media (max-width: 520px){\n      .ofi-table-scroll{\n        padding-left: 10px;\n        padding-right: 6px;\n      }\n      .ofi-spec-table th:first-child,\n      .ofi-spec-table td:first-child{\n        padding-left: 14px;\n      }\n    }\n\n    \/* ✅ Muestrario grid 3x2 *\/\n    .ofi-swatch-grid{\n      display: grid;\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n      gap: 12px;\n      padding-top: 6px;\n    }\n    @media (max-width: 720px){\n      .ofi-swatch-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }\n    }\n    @media (max-width: 420px){\n      .ofi-swatch-grid{ grid-template-columns: 1fr; }\n    }\n\n    .ofi-swatch{\n      border: 1px solid var(--ofi-border);\n      background: #fff;\n      border-radius: 12px;\n      padding: 10px;\n      text-align: left;\n      display: grid;\n      gap: 8px;\n      transition: transform 140ms ease, box-shadow 140ms ease, border-color 140ms ease;\n    }\n    .ofi-swatch:hover{\n      transform: translateY(-1px);\n      box-shadow: 0 8px 20px rgba(0,0,0,.08);\n      border-color: rgba(0,0,0,.18);\n    }\n\n    \/* ✅ 1:1 *\/\n    .ofi-swatch-imgwrap{\n      width: 100%;\n      aspect-ratio: 1 \/ 1;\n      border-radius: 10px;\n      overflow: hidden;\n      background: rgba(0,0,0,.03);\n      border: 1px solid rgba(0,0,0,.08);\n    }\n    .ofi-swatch-img{\n      width: 100%;\n      height: 100%;\n      object-fit: cover;\n      display: block;\n    }\n\n    .ofi-swatch-name{\n      font-size: 12px;\n      font-weight: 650;\n      color: var(--ofi-text);\n      line-height: 1.2;\n      text-align: center;\n      padding-bottom: 2px;\n    }\n\n    @media (prefers-reduced-motion: reduce){\n      .ofi-acc-icon{ transition: none !important; }\n      .ofi-swatch{ transition: none !important; }\n    }\n  \u003c\/style\u003e\n\n  \u003cnoscript\u003e\n    \u003cp class=\"ofi-acc-container\" style=\"margin-top:10px; color: rgba(0,0,0,.62); font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;\"\u003e\n      Nota: Para ver los módulos desplegables con animación, habilita JavaScript.\n    \u003c\/p\u003e\n  \u003c\/noscript\u003e\n\n  \u003cscript\u003e\n    (function(){\n      var root = document.querySelector('.ofi-acc[data-ofi-accordion]');\n      if(!root) return;\n\n      var items = Array.prototype.slice.call(root.querySelectorAll('details[data-ofi-item]'));\n      if(!items.length) return;\n\n      function closeOthers(current){\n        items.forEach(function(it){\n          if(it !== current \u0026\u0026 it.open) it.open = false;\n        });\n      }\n\n      function animateOpen(detailsEl){\n        var content = detailsEl.querySelector('.ofi-acc-content');\n        if(!content) return;\n\n        content.style.overflow = 'hidden';\n        content.style.height = '0px';\n\n        requestAnimationFrame(function(){\n          var full = content.scrollHeight;\n          content.style.transition = 'height 220ms ease';\n          content.style.height = full + 'px';\n\n          content.addEventListener('transitionend', function onEnd(){\n            content.removeEventListener('transitionend', onEnd);\n            content.style.transition = '';\n            content.style.height = '';\n            content.style.overflow = '';\n          });\n        });\n      }\n\n      function animateClose(detailsEl){\n        var content = detailsEl.querySelector('.ofi-acc-content');\n        if(!content) return;\n\n        content.style.overflow = 'hidden';\n        var full = content.scrollHeight;\n        content.style.height = full + 'px';\n\n        requestAnimationFrame(function(){\n          content.style.transition = 'height 220ms ease';\n          content.style.height = '0px';\n\n          content.addEventListener('transitionend', function onEnd(){\n            content.removeEventListener('transitionend', onEnd);\n            content.style.transition = '';\n            content.style.height = '';\n            content.style.overflow = '';\n            detailsEl.open = false;\n          });\n        });\n      }\n\n      items.forEach(function(detailsEl){\n        var summary = detailsEl.querySelector('summary');\n        if(!summary) return;\n\n        summary.addEventListener('click', function(e){\n          if(detailsEl.open){\n            e.preventDefault();\n            animateClose(detailsEl);\n            return;\n          }\n          e.preventDefault();\n          closeOthers(detailsEl);\n          detailsEl.open = true;\n          animateOpen(detailsEl);\n        });\n      });\n    })();\n  \u003c\/script\u003e\n\u003c\/section\u003e\n","brand":"Sillas Ejecutivas","offers":[{"title":"Negro Crep","offer_id":48807481606361,"sku":null,"price":0.0,"currency_code":"MXN","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0425\/1284\/2917\/files\/silla_ohe173_cozy_sc_frente.png?v=1725403740","url":"https:\/\/ofindustrias.com.mx\/products\/silla-ejecutiva-oficina-malla-cozy-ohe173-negra","provider":"Ofindustrias","version":"1.0","type":"link"}