{"product_id":"cleosoft-alu-sofa-white","title":"Cleosoft Alu- Sofa White","description":"\u003cp\u003e\u003cspan\u003e\u003cspan\u003eThe CleoSoft Alu 3-seater outdoor sofa summarizes the volume, shape and balance characteristics of the entire collection. The voluminous padding of the seat and backrest, made of removable fabric, easy to wash and weather resistant, is placed on a powder-coated aluminium structure. The padding is in quick dry foam.\u003c\/span\u003e\u003cbr\u003e\u003cbr\u003eDimensions: 90.6\"x 39.4\"x 25.6\"\u003cbr\u003e\u003cbr\u003e\u003cstrong\u003e\u003ca href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0700\/9514\/3109\/files\/DATA_SHEET_CLEOSOFT.rar?v=1782761759\" rel=\"noopener\" target=\"_blank\"\u003eTechnical Sheet\u003c\/a\u003e\u003c\/strong\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c!-- Materioteca · generado desde Google Sheets --\u003e\n\u003cdiv class=\"materioteca\" data-materioteca\u003e\n  \u003cdiv class=\"materioteca__inner\"\u003e\n    \u003ch2 class=\"materioteca__title\"\u003eMOODBOARD\u003c\/h2\u003e\n    \u003cdiv class=\"materioteca__grid\"\u003e\n      \u003cdiv class=\"materioteca__stage\"\u003e\n        \u003cdiv class=\"materioteca__frame\"\u003e\n          \u003cdiv class=\"materioteca__panel is-active\" id=\"mt7dmoh-panel-0\" role=\"tabpanel\" aria-labelledby=\"mt7dmoh-tab-0\" aria-hidden=\"false\" data-mt-panel=\"0\"\u003e\n            \u003cdiv class=\"materioteca__composition\" style=\"transform: translateX(-24%);\"\u003e\n            \u003cdiv class=\"materioteca__sample materioteca__sample--square\" style=\"right: 0%; top: 0%; width: 52%; height: 100%; z-index: 1;\"\u003e\n              \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0700\/9514\/3109\/files\/white-2.jpg?v=1786998573\" alt=\"WHITE\" loading=\"lazy\" referrerpolicy=\"no-referrer\"\u003e\n            \u003c\/div\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"materioteca__panel\" id=\"mt7dmoh-panel-1\" role=\"tabpanel\" aria-labelledby=\"mt7dmoh-tab-1\" aria-hidden=\"true\" data-mt-panel=\"1\"\u003e\n            \u003cdiv class=\"materioteca__composition\" style=\"transform: translateX(-24%);\"\u003e\n            \u003cdiv class=\"materioteca__sample materioteca__sample--square\" style=\"right: 0%; top: 0%; width: 52%; height: 100%; z-index: 1;\"\u003e\n              \u003cimg src=\"https:\/\/talentiusa.net\/cdn\/shop\/files\/GRAPHITE.jpg?v=1786992208\u0026amp;width=600\" alt=\"GRAPHITE\" loading=\"lazy\" referrerpolicy=\"no-referrer\"\u003e\n            \u003c\/div\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"materioteca__panel\" id=\"mt7dmoh-panel-2\" role=\"tabpanel\" aria-labelledby=\"mt7dmoh-tab-2\" aria-hidden=\"true\" data-mt-panel=\"2\"\u003e\n            \u003cdiv class=\"materioteca__composition\" style=\"transform: translateX(-24%);\"\u003e\n            \u003cdiv class=\"materioteca__sample materioteca__sample--square\" style=\"right: 0%; top: 0%; width: 52%; height: 100%; z-index: 1;\"\u003e\n              \u003cimg src=\"https:\/\/talentiusa.net\/cdn\/shop\/files\/WARM_WHITE.jpg?v=1786992320\u0026amp;width=600\" alt=\"WARM WHITE\" loading=\"lazy\" referrerpolicy=\"no-referrer\"\u003e\n            \u003c\/div\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cp class=\"materioteca__name\" data-mt-name aria-live=\"polite\" style=\"--mt-name-shift: 24%;\"\u003eWHITE\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"materioteca__list\" role=\"tablist\" aria-label=\"MOODBOARD\" aria-orientation=\"vertical\"\u003e\n        \u003cbutton type=\"button\" class=\"materioteca__option\" id=\"mt7dmoh-tab-0\" role=\"tab\" aria-controls=\"mt7dmoh-panel-0\" aria-selected=\"true\" tabindex=\"0\" aria-label=\"WHITE\" title=\"WHITE\" data-mt-option=\"0\" data-mt-name=\"WHITE\" data-mt-shift=\"24\"\u003e\n          \u003cspan class=\"materioteca__chips\" aria-hidden=\"true\"\u003e\n            \u003cspan class=\"materioteca__chip materioteca__chip--square\" style=\"--i: 0;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0700\/9514\/3109\/files\/white-2.jpg?v=1786998573\" alt=\"\" loading=\"lazy\" referrerpolicy=\"no-referrer\"\u003e\u003c\/span\u003e\n          \u003c\/span\u003e\n        \u003c\/button\u003e\n        \u003cbutton type=\"button\" class=\"materioteca__option\" id=\"mt7dmoh-tab-1\" role=\"tab\" aria-controls=\"mt7dmoh-panel-1\" aria-selected=\"false\" tabindex=\"-1\" aria-label=\"GRAPHITE\" title=\"GRAPHITE\" data-mt-option=\"1\" data-mt-name=\"GRAPHITE\" data-mt-shift=\"24\"\u003e\n          \u003cspan class=\"materioteca__chips\" aria-hidden=\"true\"\u003e\n            \u003cspan class=\"materioteca__chip materioteca__chip--square\" style=\"--i: 0;\"\u003e\u003cimg src=\"https:\/\/talentiusa.net\/cdn\/shop\/files\/GRAPHITE.jpg?v=1786992208\u0026amp;width=600\" alt=\"\" loading=\"lazy\" referrerpolicy=\"no-referrer\"\u003e\u003c\/span\u003e\n          \u003c\/span\u003e\n        \u003c\/button\u003e\n        \u003cbutton type=\"button\" class=\"materioteca__option\" id=\"mt7dmoh-tab-2\" role=\"tab\" aria-controls=\"mt7dmoh-panel-2\" aria-selected=\"false\" tabindex=\"-1\" aria-label=\"WARM WHITE\" title=\"WARM WHITE\" data-mt-option=\"2\" data-mt-name=\"WARM WHITE\" data-mt-shift=\"24\"\u003e\n          \u003cspan class=\"materioteca__chips\" aria-hidden=\"true\"\u003e\n            \u003cspan class=\"materioteca__chip materioteca__chip--square\" style=\"--i: 0;\"\u003e\u003cimg src=\"https:\/\/talentiusa.net\/cdn\/shop\/files\/WARM_WHITE.jpg?v=1786992320\u0026amp;width=600\" alt=\"\" loading=\"lazy\" referrerpolicy=\"no-referrer\"\u003e\u003c\/span\u003e\n          \u003c\/span\u003e\n        \u003c\/button\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n.materioteca {\n  --mt-bg: #ffffff;\n  --mt-heading: #3D3730;\n  --mt-title-size: 18px;\n  --mt-text: #8a7f70;\n  --mt-active: #2f2b26;\n  --mt-ratio: 16 \/ 10;\n  --mt-chip: 44px;\n  --mt-chips-count: 1;\n  --mt-chip-step-x: calc(var(--mt-chip) * 0.48);\n  --mt-chip-step-y: calc(var(--mt-chip) * 0.22);\n  --mt-chips-w: calc(var(--mt-chip) + var(--mt-chip-step-x) * (var(--mt-chips-count) - 1));\n  --mt-chips-h: calc(var(--mt-chip) + var(--mt-chip-step-y) * (var(--mt-chips-count) - 1));\n  --mt-chips-gap: 16px;\n  --mt-name-size: 0.95rem;\n  --mt-sample-bg: transparent;\n  background: var(--mt-bg);\n  color: var(--mt-text);\n  padding-block: 48px;\n  box-sizing: border-box;\n}\n.materioteca *, .materioteca *::before, .materioteca *::after { box-sizing: border-box; }\n.materioteca__inner {\n  max-width: 1500px; margin-inline: auto;\n  padding-inline: 20px;\n}\n.materioteca__title {\n  margin: 0; font-size: var(--mt-title-size); font-weight: 300;\n  letter-spacing: 0.12em; text-transform: uppercase; color: var(--mt-heading);\n}\n.materioteca__grid { display: grid; gap: 40px; margin-top: 36px; grid-template-areas: \"stage\" \"list\"; }\n\n.materioteca__stage { grid-area: stage; }\n.materioteca__frame { position: relative; width: 100%; aspect-ratio: var(--mt-ratio); }\n@supports not (aspect-ratio: 1 \/ 1) {\n  .materioteca__frame { height: 0; padding-top: 62.5%; }\n}\n.materioteca__panel {\n  position: absolute; inset: 0; opacity: 0; visibility: hidden;\n  transform: translateY(10px) scale(0.99); pointer-events: none;\n  transition: opacity 0.45s ease, transform 0.55s cubic-bezier(0.22, 0.61, 0.36, 1);\n}\n.materioteca__panel.is-active { opacity: 1; visibility: visible; transform: none; pointer-events: auto; }\n.materioteca__composition { position: absolute; inset: 0; }\n.materioteca__sample {\n  position: absolute; overflow: hidden; background: var(--mt-sample-bg);\n  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.09), 0 2px 5px rgba(0, 0, 0, 0.05);\n}\n\/* La imagen llena la caja aunque su relación de aspecto sea distinta.\n   Los !important blindan la regla frente al CSS global del tema\n   (reglas tipo \"img { height: auto }\" que descuadran la muestra). *\/\n.materioteca .materioteca__sample \u003e img,\n.materioteca .materioteca__chip \u003e img {\n  position: absolute; inset: 0;\n  width: 100% !important; height: 100% !important;\n  min-width: 0 !important; min-height: 0 !important;\n  max-width: none !important; max-height: none !important;\n  margin: 0 !important; padding: 0 !important; border: 0 !important;\n  object-fit: cover; object-position: center;\n  display: block; border-radius: inherit;\n}\n\/* Si una imagen no carga, la muestra desaparece en vez de dejar un bloque de color *\/\n.materioteca__sample.is-broken, .materioteca__chip.is-broken { display: none; }\n.materioteca__sample--square { border-radius: 0; }\n.materioteca__sample--rounded { border-radius: 12px; }\n.materioteca__sample--card { border-radius: 16px; }\n.materioteca__hole {\n  position: absolute; top: 7%; left: 50%; transform: translateX(-50%);\n  width: 9px; height: 9px; border-radius: 50%; background: var(--mt-bg);\n  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.18);\n}\n\/* El nombre se alinea con el borde derecho de la composición, no del marco:\n   --mt-name-shift replica el translateX de la colección activa. *\/\n.materioteca__name {\n  margin: 28px 0 0; min-height: 1.5em; line-height: 1.5;\n  font-size: var(--mt-name-size); font-weight: 600; letter-spacing: 0.18em;\n  text-transform: uppercase; color: var(--mt-active);\n  text-align: right;\n  padding-right: calc(var(--mt-name-shift, 0%) - 0.18em);\n  transition: opacity 0.22s ease, padding-right 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);\n}\n.materioteca__name.is-changing { opacity: 0; }\n\n\/* Selector: solo muestras. El nombre vive sobre la muestra grande. *\/\n.materioteca__list {\n  grid-area: list; display: flex; flex-wrap: wrap; align-items: flex-start;\n  gap: var(--mt-chips-gap);\n}\n.materioteca__option {\n  display: block; padding: 6px; line-height: 0; background: none; border: 0;\n  border-radius: 6px; cursor: pointer; color: inherit; font: inherit;\n  transition: background-color 0.25s ease;\n}\n.materioteca__option:hover { background: rgba(0, 0, 0, 0.03); }\n.materioteca__option:focus-visible { outline: 1px solid var(--mt-active); outline-offset: 2px; }\n.materioteca__chips { position: relative; width: var(--mt-chips-w); height: var(--mt-chips-h); }\n.materioteca__chip {\n  position: absolute; top: calc(var(--i) * var(--mt-chip-step-y)); left: calc(var(--i) * var(--mt-chip-step-x));\n  width: var(--mt-chip); height: var(--mt-chip); overflow: hidden; background: var(--mt-sample-bg);\n  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.14); transition: transform 0.3s ease, box-shadow 0.3s ease;\n}\n.materioteca__chip--square { border-radius: 2px; }\n.materioteca__chip--rounded, .materioteca__chip--card { border-radius: 5px; }\n.materioteca__option:hover .materioteca__chip,\n.materioteca__option[aria-selected=\"true\"] .materioteca__chip { transform: translateY(-2px); }\n.materioteca__option[aria-selected=\"true\"] .materioteca__chip {\n  box-shadow: 0 0 0 1px var(--mt-active), 0 4px 10px rgba(0, 0, 0, 0.16);\n}\n\n@media (min-width: 990px) {\n  .materioteca { padding-block: 80px; }\n  \/* Sin padding izquierdo en escritorio; en móvil se conserva. *\/\n  .materioteca__inner {\n    padding-left: 0px;\n    padding-right: 48px;\n    margin-inline: 0 auto;\n  }\n  .materioteca__name { --mt-name-size: 0.88rem; margin-top: 40px; }\n  .materioteca__grid {\n    grid-template-columns: auto minmax(0, 1fr);\n    grid-template-areas: \"list stage\"; align-items: center; column-gap: 56px; margin-top: 48px;\n  }\n  .materioteca__list { flex-direction: column; flex-wrap: nowrap; }\n}\n@media (prefers-reduced-motion: reduce) {\n  .materioteca__panel, .materioteca__chip, .materioteca__name { transition: opacity 0.2s linear; transform: none !important; }\n}\n\u003c\/style\u003e\n\u003cscript\u003e\n(function () {\n  var roots = document.querySelectorAll(\"[data-materioteca]\");\n  Array.prototype.forEach.call(roots, function (root) {\n    if (root.getAttribute(\"data-mt-ready\")) return;\n    root.setAttribute(\"data-mt-ready\", \"1\");\n\n    var options = [].slice.call(root.querySelectorAll(\"[data-mt-option]\"));\n    var panels = [].slice.call(root.querySelectorAll(\"[data-mt-panel]\"));\n    var nameEl = root.querySelector(\"[data-mt-name]\");\n    if (!options.length) return;\n\n    if (true) {\n      var imgs = [].slice.call(root.querySelectorAll(\".materioteca__sample img, .materioteca__chip img\"));\n      imgs.forEach(function (img) {\n        var marcar = function () { img.parentNode.classList.add(\"is-broken\"); };\n        if (img.complete \u0026\u0026 img.naturalWidth === 0) marcar();\n        img.addEventListener(\"error\", marcar);\n      });\n    }\n\n    function select(index) {\n      options.forEach(function (option, i) {\n        var activo = i === index;\n        option.setAttribute(\"aria-selected\", activo ? \"true\" : \"false\");\n        option.tabIndex = activo ? 0 : -1;\n      });\n      panels.forEach(function (panel, i) {\n        var activo = i === index;\n        panel.classList.toggle(\"is-active\", activo);\n        panel.setAttribute(\"aria-hidden\", activo ? \"false\" : \"true\");\n      });\n      if (nameEl) {\n        var opt = options[index];\n        var shift = opt.getAttribute(\"data-mt-shift\");\n        if (shift !== null) nameEl.style.setProperty(\"--mt-name-shift\", shift + \"%\");\n        var nombre = opt.getAttribute(\"data-mt-name\") || \"\";\n        if (nombre !== nameEl.textContent) {\n          nameEl.classList.add(\"is-changing\");\n          setTimeout(function () {\n            nameEl.textContent = nombre;\n            nameEl.classList.remove(\"is-changing\");\n          }, 180);\n        }\n      }\n    }\n\n    root.addEventListener(\"click\", function (event) {\n      var option = event.target.closest ? event.target.closest(\"[data-mt-option]\") : null;\n      if (!option) return;\n      select(options.indexOf(option));\n    });\n\n    root.addEventListener(\"keydown\", function (event) {\n      var option = event.target.closest ? event.target.closest(\"[data-mt-option]\") : null;\n      if (!option) return;\n      var keys = [\"ArrowDown\", \"ArrowRight\", \"ArrowUp\", \"ArrowLeft\", \"Home\", \"End\"];\n      if (keys.indexOf(event.key) === -1) return;\n      event.preventDefault();\n      var current = options.indexOf(option);\n      var last = options.length - 1;\n      var next = current;\n      if (event.key === \"ArrowDown\" || event.key === \"ArrowRight\") next = current === last ? 0 : current + 1;\n      if (event.key === \"ArrowUp\" || event.key === \"ArrowLeft\") next = current === 0 ? last : current - 1;\n      if (event.key === \"Home\") next = 0;\n      if (event.key === \"End\") next = last;\n      select(next);\n      options[next].focus();\n    });\n\n    select(0);\n  });\n})();\n\u003c\/script\u003e","brand":"Talenti","offers":[{"title":"Default Title","offer_id":49197281050875,"sku":"190-10000-0013-00","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0359\/7375\/9108\/files\/cleosoft-sofa-3seater-white.jpg?v=1787161254","url":"https:\/\/addisonhouse.com\/products\/cleosoft-alu-sofa-white","provider":"Addison House","version":"1.0","type":"link"}