{"title":"TABLET ANDROID","description":"","products":[{"product_id":"lenovo-tab-m11-fhd-11","title":"LENOVO TAB M11 FHD 11\"","description":"\u003c!-- ╔══════════════════════════════════════════════════════════════════════╗ --\u003e\n\u003c!-- ║   BLOCCO CONFIGURAZIONE TIMELINE PRODOTTO – MODIFICA SOLO QUESTO     ║ --\u003e\n\u003c!-- ╚══════════════════════════════════════════════════════════════════════╝ --\u003e\n\u003cscript\u003e\n\/\/ 📱 Specifiche del prodotto – Lenovo Tab M11 11″\nconst specs = [\n  { titolo: \"Modello\", descrizione: \"Lenovo Tab M11 11″ – tablet con display 11″, perfetto per intrattenimento, studio e produttività.\" },\n  { titolo: \"Display\", descrizione: \"Schermo WUXGA\/Full HD da 11″ (1920 × 1200 px) con frequenza 90 Hz, luminosità fino a 400 nits e rapporto 16:10.\" },\n  { titolo: \"Processore\", descrizione: \"MediaTek Helio G88 octa‑core (2× Cortex‑A75 @2,0 GHz + 6× A55 @1,8 GHz).\" },\n  { titolo: \"Memoria \u0026 Storage\", descrizione: \"Configurazioni fino a 8 GB RAM + 128 GB storage eMMC 5.1 (espandibile tramite microSD).\" },\n  { titolo: \"Audio\", descrizione: \"4 altoparlanti stereo ottimizzati con Dolby Atmos per esperienza sonora immersiva.\" },\n  { titolo: \"Fotocamere\", descrizione: \"Fotocamera anteriore 8 MP • Fotocamera posteriore 8 MP (alcune versioni 13 MP) per videochiamate e contenuti.\" },\n  { titolo: \"Connettività\", descrizione: \"Wi‑Fi 5 (802.11ac), Bluetooth 5.1, porta USB‑C 2.0, jack audio 3,5 mm.\" },\n  { titolo: \"Sistema operativo\", descrizione: \"Android 13 preinstallato, aggiornamenti previsti fino ad Android 15.\" },\n  { titolo: \"Dimensioni e peso\", descrizione: \"Circa 255,3 × 166,3 × 7,15 mm • Peso ≈ 465 g.\" },\n  { titolo: \"Batteria\", descrizione: \"7040 mAh integrata, autonomia stimata fino a ~10 ore video.\" },\n  { titolo: \"Colori disponibili\", descrizione: \"Luna Grey, Seafoam Green (varianti colore disponibili).\" },\n  { titolo: \"Tipologia Prodotto\", descrizione: \"Tablet Android 11″ di fascia media con features premium.\" },\n  { titolo: \"Sintesi\", descrizione: \"Tablet da 11″ con display fluido 90 Hz, Helio G88, audio a 4 speaker Dolby Atmos, design sottile e leggero: ideale per lavoro, studio o intrattenimento.\" }\n];\n\u003c\/script\u003e\n\n\n\u003c!-- ╔══════════════════════════════════════════════════════════════════════╗ --\u003e\n\u003c!-- ║   FINE BLOCCO CONFIGURAZIONE                                         ║ --\u003e\n\u003c!-- ╚══════════════════════════════════════════════════════════════════════╝ --\u003e\n\n\u003cstyle\u003e\n:root {\n  --accent: #4285f4;\n  --text: #111;\n}\n\n\/* ═══ STILI BASE ═════════════════════════════════════════════════════════ *\/\nbody {\n  margin: 0;\n  font-family: \"Segoe UI\", Roboto, system-ui, sans-serif;\n}\n\n\/* ═══ CONTENITORE TIMELINE ════════════════════════════════════════════════ *\/\n.product-timeline {\n  position: relative;\n  max-width: 700px;\n  margin: 80px auto;\n  padding: 30px;\n  color: var(--text);\n}\n\n\/* ═══ LINEA VERTICALE ═════════════════════════════════════════════════════ *\/\n.product-timeline::before {\n  content: \"\";\n  position: absolute;\n  left: 30px;\n  top: 0;\n  width: 3px;\n  height: 100%;\n  background: linear-gradient(to bottom, rgba(66,133,244,0.5), rgba(66,133,244,0.1));\n  box-shadow: 0 0 12px rgba(66,133,244,0.4);\n}\n\n\/* ═══ TITOLO PRINCIPALE ═══════════════════════════════════════════════════ *\/\n.product-timeline h1 {\n  text-align: center;\n  font-size: 2.8rem;\n  font-weight: 800;\n  color: var(--accent);\n  margin-bottom: 60px;\n}\n\n\/* ═══ ELEMENTI TIMELINE ═══════════════════════════════════════════════════ *\/\n.timeline-item {\n  position: relative;\n  padding-left: 70px;\n  margin-bottom: 45px;\n  opacity: 0;\n  transform: translateY(40px);\n  transition: all 0.8s ease;\n}\n.timeline-item.visible {\n  opacity: 1;\n  transform: translateY(0);\n}\n.timeline-item::before {\n  content: \"\";\n  position: absolute;\n  left: 22px;\n  top: 28px;\n  width: 16px;\n  height: 16px;\n  background: var(--accent);\n  border-radius: 50%;\n  box-shadow: 0 0 14px rgba(66,133,244,0.6);\n}\n\n\/* ═══ CARD INTERNA ════════════════════════════════════════════════════════ *\/\n.timeline-card {\n  padding: 20px 26px;\n  border-left: 3px solid rgba(66,133,244,0.2);\n  border-radius: 10px;\n  transition: transform 0.3s ease, box-shadow 0.3s ease;\n}\n.timeline-card:hover {\n  transform: translateY(-5px);\n  box-shadow: 0 8px 20px rgba(66,133,244,0.1);\n}\n.timeline-card h3 {\n  color: var(--accent);\n  margin: 0 0 8px 0;\n  font-size: 1.6rem;\n  font-weight: 700;\n}\n.timeline-card p {\n  margin: 0;\n  font-size: 1.2rem;\n  color: #222;\n  line-height: 1.6;\n}\n\n\/* ═══ TASTO ACQUISTA ══════════════════════════════════════════════════════ *\/\n.buy-button {\n  display: inline-block;\n  margin-top: 30px;\n  padding: 16px 32px;\n  background: var(--accent);\n  color: #fff;\n  font-weight: 700;\n  font-size: 1.3rem;\n  border: none;\n  border-radius: 8px;\n  cursor: pointer;\n  text-decoration: none;\n  transition: background 0.3s ease, transform 0.2s ease;\n}\n.buy-button:hover {\n  background: #2b6ce5;\n  transform: scale(1.04);\n}\n.buy-button.disabled {\n  background: #aaa;\n  cursor: not-allowed;\n  transform: none;\n}\n\n\/* ═══ RESPONSIVE ══════════════════════════════════════════════════════════ *\/\n@media (max-width: 600px) {\n  .product-timeline::before { left: 20px; }\n  .timeline-item { padding-left: 60px; }\n  .timeline-item::before { left: 14px; }\n  .timeline-card h3 { font-size: 1.4rem; }\n  .timeline-card p { font-size: 1.05rem; }\n  .product-timeline h1 { font-size: 2rem; }\n  .buy-button { font-size: 1.1rem; padding: 14px 26px; }\n}\n\u003c\/style\u003e\n\n\u003csection class=\"product-timeline\"\u003e\n  \u003ch1 id=\"product-title\"\u003e\u003c\/h1\u003e\n  \u003cdiv id=\"timeline\"\u003e\u003c\/div\u003e\n  \u003c!-- Bottone finale sempre visibile --\u003e\n  \u003cdiv style=\"text-align:center\"\u003e\n    \u003cbutton class=\"buy-button\" id=\"checkoutButton\"\u003eVerifica disponibilità...\u003c\/button\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003cscript\u003e\n\/* ═══ LOGICA JAVASCRIPT ═══════════════════════════════════════════════════ *\/\n\n\/* — Titolo automatico del prodotto — *\/\nconst productTitle =\n  document.querySelector('h1.product__title, h1.product-title, h1')?.textContent?.trim() ||\n  \"Prodotto Shopify\";\ndocument.getElementById(\"product-title\").textContent = productTitle;\n\n\/* — Genera la timeline dinamica — *\/\nconst container = document.getElementById(\"timeline\");\nspecs.forEach((item) =\u003e {\n  const el = document.createElement(\"div\");\n  el.className = \"timeline-item\";\n  el.innerHTML = `\n    \u003cdiv class=\"timeline-card\"\u003e\n      \u003ch3\u003e${item.titolo}\u003c\/h3\u003e\n      \u003cp\u003e${item.descrizione}\u003c\/p\u003e\n    \u003c\/div\u003e`;\n  container.appendChild(el);\n});\n\n\/* — Effetto di comparsa su scroll — *\/\nconst items = document.querySelectorAll(\".timeline-item\");\nconst observer = new IntersectionObserver((entries) =\u003e {\n  entries.forEach((entry) =\u003e {\n    if (entry.isIntersecting) entry.target.classList.add(\"visible\");\n  });\n});\nitems.forEach((el) =\u003e observer.observe(el));\n\n\/* — Pulsante checkout con disponibilità — *\/\ndocument.addEventListener(\"DOMContentLoaded\", () =\u003e {\n  const btn = document.getElementById(\"checkoutButton\");\n  const shopDomain = window.Shopify?.shop || window.location.hostname;\n  const variant = window.meta?.product?.variants?.[0];\n\n  if (!variant) {\n    btn.textContent = \"Prodotto non disponibile\";\n    btn.classList.add(\"disabled\");\n    return;\n  }\n\n  if (variant.available) {\n    btn.textContent = \"Acquista ora 🛒\";\n    btn.addEventListener(\"click\", () =\u003e {\n      const checkoutUrl = `https:\/\/${shopDomain}\/cart\/${variant.id}:1`;\n      window.location.href = checkoutUrl;\n    });\n  } else {\n    btn.textContent = \"Non disponibile\";\n    btn.classList.add(\"disabled\");\n  }\n});\n\u003c\/script\u003e\n","brand":"Centroriparo srl","offers":[{"title":"Grigio \/ 8GB \/ 128GB","offer_id":51939852779848,"sku":null,"price":249.0,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0799\/6663\/4312\/files\/IMMAGINI_X_SITO_-_2025-11-05T192322.964.png?v=1762367142"},{"product_id":"majestic-tab-912-pro-4g","title":"MAJESTIC TAB 912 PRO 4G","description":"\u003c!-- ╔══════════════════════════════════════════════════════════════════════╗ --\u003e\n\u003c!-- ║   BLOCCO CONFIGURAZIONE TIMELINE PRODOTTO – MODIFICA SOLO QUESTO     ║ --\u003e\n\u003c!-- ╚══════════════════════════════════════════════════════════════════════╝ --\u003e\n\u003cscript\u003e\n\/\/ 📱 Specifiche del prodotto – Majestic TAB 912 PRO 4G\nconst specs = [\n  { titolo: \"Modello\", descrizione: \"Majestic TAB 912 PRO 4G — Tablet 10,1″ con connettività LTE integrata\" },\n  { titolo: \"Display\", descrizione: \"Schermo IPS HD da 10,1″ (1280 × 800) • Multi‑touch capacitivo\" },\n  { titolo: \"Processore\", descrizione: \"Octa‑core SC9863A (4×1,6 GHz + 4×1,2 GHz)\" },\n  { titolo: \"Memoria\", descrizione: \"4 GB RAM • 64 GB memoria interna espandibile tramite MicroSD fino a 64 GB\" },\n  { titolo: \"Fotocamere\", descrizione: \"Posteriore 8 MP con Flash LED • Frontale 5 MP\" },\n  { titolo: \"Connettività\", descrizione: \"4G LTE con slot Micro‑SIM • WiFi b\/g\/n • Bluetooth 4.2 • GPS\/A‑GPS\" },\n  { titolo: \"Audio e porte\", descrizione: \"Altoparlanti stereo integrati • Porta USB‑C • Jack cuffie 3,5 mm\" },\n  { titolo: \"Sistema operativo\", descrizione: \"Android 12\" },\n  { titolo: \"Batteria\", descrizione: \"5000 mAh integrata\" },\n  { titolo: \"Dimensioni e peso\", descrizione: \"Circa 244 × 160 × 9 mm • Peso circa 469 g\" },\n  { titolo: \"Colori disponibili\", descrizione: \"Nero (variante ufficialmente disponibile)\" },\n  { titolo: \"Tipologia Prodotto\", descrizione: \"Tablet Android 10,1″ 4G LTE\" },\n  { titolo: \"Sintesi\", descrizione: \"Tablet compatto da 10,1″ con LTE integrato, 4 GB RAM, 64 GB storage, fotocamere 8\/5 MP, Android 12: perfetto per navigare, studiare e intrattenersi in mobilità.\" }\n];\n\u003c\/script\u003e\n\n\n\u003c!-- ╔══════════════════════════════════════════════════════════════════════╗ --\u003e\n\u003c!-- ║   FINE BLOCCO CONFIGURAZIONE                                         ║ --\u003e\n\u003c!-- ╚══════════════════════════════════════════════════════════════════════╝ --\u003e\n\n\u003cstyle\u003e\n:root {\n  --accent: #4285f4;\n  --text: #111;\n}\n\n\/* ═══ STILI BASE ═════════════════════════════════════════════════════════ *\/\nbody {\n  margin: 0;\n  font-family: \"Segoe UI\", Roboto, system-ui, sans-serif;\n}\n\n\/* ═══ CONTENITORE TIMELINE ════════════════════════════════════════════════ *\/\n.product-timeline {\n  position: relative;\n  max-width: 700px;\n  margin: 80px auto;\n  padding: 30px;\n  color: var(--text);\n}\n\n\/* ═══ LINEA VERTICALE ═════════════════════════════════════════════════════ *\/\n.product-timeline::before {\n  content: \"\";\n  position: absolute;\n  left: 30px;\n  top: 0;\n  width: 3px;\n  height: 100%;\n  background: linear-gradient(to bottom, rgba(66,133,244,0.5), rgba(66,133,244,0.1));\n  box-shadow: 0 0 12px rgba(66,133,244,0.4);\n}\n\n\/* ═══ TITOLO PRINCIPALE ═══════════════════════════════════════════════════ *\/\n.product-timeline h1 {\n  text-align: center;\n  font-size: 2.8rem;\n  font-weight: 800;\n  color: var(--accent);\n  margin-bottom: 60px;\n}\n\n\/* ═══ ELEMENTI TIMELINE ═══════════════════════════════════════════════════ *\/\n.timeline-item {\n  position: relative;\n  padding-left: 70px;\n  margin-bottom: 45px;\n  opacity: 0;\n  transform: translateY(40px);\n  transition: all 0.8s ease;\n}\n.timeline-item.visible {\n  opacity: 1;\n  transform: translateY(0);\n}\n.timeline-item::before {\n  content: \"\";\n  position: absolute;\n  left: 22px;\n  top: 28px;\n  width: 16px;\n  height: 16px;\n  background: var(--accent);\n  border-radius: 50%;\n  box-shadow: 0 0 14px rgba(66,133,244,0.6);\n}\n\n\/* ═══ CARD INTERNA ════════════════════════════════════════════════════════ *\/\n.timeline-card {\n  padding: 20px 26px;\n  border-left: 3px solid rgba(66,133,244,0.2);\n  border-radius: 10px;\n  transition: transform 0.3s ease, box-shadow 0.3s ease;\n}\n.timeline-card:hover {\n  transform: translateY(-5px);\n  box-shadow: 0 8px 20px rgba(66,133,244,0.1);\n}\n.timeline-card h3 {\n  color: var(--accent);\n  margin: 0 0 8px 0;\n  font-size: 1.6rem;\n  font-weight: 700;\n}\n.timeline-card p {\n  margin: 0;\n  font-size: 1.2rem;\n  color: #222;\n  line-height: 1.6;\n}\n\n\/* ═══ TASTO ACQUISTA ══════════════════════════════════════════════════════ *\/\n.buy-button {\n  display: inline-block;\n  margin-top: 30px;\n  padding: 16px 32px;\n  background: var(--accent);\n  color: #fff;\n  font-weight: 700;\n  font-size: 1.3rem;\n  border: none;\n  border-radius: 8px;\n  cursor: pointer;\n  text-decoration: none;\n  transition: background 0.3s ease, transform 0.2s ease;\n}\n.buy-button:hover {\n  background: #2b6ce5;\n  transform: scale(1.04);\n}\n.buy-button.disabled {\n  background: #aaa;\n  cursor: not-allowed;\n  transform: none;\n}\n\n\/* ═══ RESPONSIVE ══════════════════════════════════════════════════════════ *\/\n@media (max-width: 600px) {\n  .product-timeline::before { left: 20px; }\n  .timeline-item { padding-left: 60px; }\n  .timeline-item::before { left: 14px; }\n  .timeline-card h3 { font-size: 1.4rem; }\n  .timeline-card p { font-size: 1.05rem; }\n  .product-timeline h1 { font-size: 2rem; }\n  .buy-button { font-size: 1.1rem; padding: 14px 26px; }\n}\n\u003c\/style\u003e\n\n\u003csection class=\"product-timeline\"\u003e\n  \u003ch1 id=\"product-title\"\u003e\u003c\/h1\u003e\n  \u003cdiv id=\"timeline\"\u003e\u003c\/div\u003e\n  \u003c!-- Bottone finale sempre visibile --\u003e\n  \u003cdiv style=\"text-align:center\"\u003e\n    \u003cbutton class=\"buy-button\" id=\"checkoutButton\"\u003eVerifica disponibilità...\u003c\/button\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003cscript\u003e\n\/* ═══ LOGICA JAVASCRIPT ═══════════════════════════════════════════════════ *\/\n\n\/* — Titolo automatico del prodotto — *\/\nconst productTitle =\n  document.querySelector('h1.product__title, h1.product-title, h1')?.textContent?.trim() ||\n  \"Prodotto Shopify\";\ndocument.getElementById(\"product-title\").textContent = productTitle;\n\n\/* — Genera la timeline dinamica — *\/\nconst container = document.getElementById(\"timeline\");\nspecs.forEach((item) =\u003e {\n  const el = document.createElement(\"div\");\n  el.className = \"timeline-item\";\n  el.innerHTML = `\n    \u003cdiv class=\"timeline-card\"\u003e\n      \u003ch3\u003e${item.titolo}\u003c\/h3\u003e\n      \u003cp\u003e${item.descrizione}\u003c\/p\u003e\n    \u003c\/div\u003e`;\n  container.appendChild(el);\n});\n\n\/* — Effetto di comparsa su scroll — *\/\nconst items = document.querySelectorAll(\".timeline-item\");\nconst observer = new IntersectionObserver((entries) =\u003e {\n  entries.forEach((entry) =\u003e {\n    if (entry.isIntersecting) entry.target.classList.add(\"visible\");\n  });\n});\nitems.forEach((el) =\u003e observer.observe(el));\n\n\/* — Pulsante checkout con disponibilità — *\/\ndocument.addEventListener(\"DOMContentLoaded\", () =\u003e {\n  const btn = document.getElementById(\"checkoutButton\");\n  const shopDomain = window.Shopify?.shop || window.location.hostname;\n  const variant = window.meta?.product?.variants?.[0];\n\n  if (!variant) {\n    btn.textContent = \"Prodotto non disponibile\";\n    btn.classList.add(\"disabled\");\n    return;\n  }\n\n  if (variant.available) {\n    btn.textContent = \"Acquista ora 🛒\";\n    btn.addEventListener(\"click\", () =\u003e {\n      const checkoutUrl = `https:\/\/${shopDomain}\/cart\/${variant.id}:1`;\n      window.location.href = checkoutUrl;\n    });\n  } else {\n    btn.textContent = \"Non disponibile\";\n    btn.classList.add(\"disabled\");\n  }\n});\n\u003c\/script\u003e\n","brand":"Centroriparo srl","offers":[{"title":"Grigio \/ 4GB \/ 64GB","offer_id":51939862479176,"sku":"SKU-51939862479176","price":99.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0799\/6663\/4312\/files\/IMMAGINI_X_SITO_-_2025-11-05T192944.223.png?v=1762367530"},{"product_id":"majestic-tab-920-plus-4g","title":"MAJESTIC TAB 920 PLUS 4G","description":"\u003c!-- ╔══════════════════════════════════════════════════════════════════════╗ --\u003e\n\u003c!-- ║   BLOCCO CONFIGURAZIONE TIMELINE PRODOTTO – MODIFICA SOLO QUESTO     ║ --\u003e\n\u003c!-- ╚══════════════════════════════════════════════════════════════════════╝ --\u003e\n\u003cscript\u003e\n\/\/ 📱 Specifiche del prodotto – Majestic Tab 920 Plus 4G\nconst specs = [\n  { titolo: \"Modello\", descrizione: \"Majestic Tab 920 Plus 4G — Tablet 10,1″ con connettività LTE, 6 GB RAM e 128 GB storage.\" },\n  { titolo: \"Display\", descrizione: \"Schermo IPS da 10,1″ (25,6 cm) con risoluzione 1280 × 800 px.\" },\n  { titolo: \"Processore\", descrizione: \"Octa‑core T606S (2× A75 + 6× A55) @1,6 GHz.\" },\n  { titolo: \"Memoria \u0026 Storage\", descrizione: \"6 GB RAM • 128 GB memoria interna, espandibile con microSD fino a 256 GB.\" },\n  { titolo: \"Fotocamere\", descrizione: \"Posteriore 8 MP • Anteriore 5 MP.\" },\n  { titolo: \"Connettività\", descrizione: \"4G LTE Dual‑SIM • Wi‑Fi 802.11ac (Wi‑Fi 5) • Bluetooth 5.0 • USB‑C • Slot microSD.\" },\n  { titolo: \"Sistema operativo\", descrizione: \"Android 14 preinstallato.\" },\n  { titolo: \"Batteria\", descrizione: \"5000 mAh integrata • Autonomia tipica per utilizzo standard.\" },\n  { titolo: \"Peso e dimensioni\", descrizione: \"Circa 450 g • Dimensioni ~238 × 156 × 9 mm.\" },\n  { titolo: \"Colori disponibili\", descrizione: \"Nero, Blu.\" },\n  { titolo: \"Tipologia Prodotto\", descrizione: \"Tablet Android 10,1″ LTE dual‑SIM 6\/128GB.\" },\n  { titolo: \"Sintesi\", descrizione: \"Tablet versatile da 10,1″ con LTE, 6 GB\/128 GB, Android 14 e display HD — ideale per studio, navigazione, streaming e mobilità.\" }\n];\n\u003c\/script\u003e\n\n\n\u003c!-- ╔══════════════════════════════════════════════════════════════════════╗ --\u003e\n\u003c!-- ║   FINE BLOCCO CONFIGURAZIONE                                         ║ --\u003e\n\u003c!-- ╚══════════════════════════════════════════════════════════════════════╝ --\u003e\n\n\u003cstyle\u003e\n:root {\n  --accent: #4285f4;\n  --text: #111;\n}\n\n\/* ═══ STILI BASE ═════════════════════════════════════════════════════════ *\/\nbody {\n  margin: 0;\n  font-family: \"Segoe UI\", Roboto, system-ui, sans-serif;\n}\n\n\/* ═══ CONTENITORE TIMELINE ════════════════════════════════════════════════ *\/\n.product-timeline {\n  position: relative;\n  max-width: 700px;\n  margin: 80px auto;\n  padding: 30px;\n  color: var(--text);\n}\n\n\/* ═══ LINEA VERTICALE ═════════════════════════════════════════════════════ *\/\n.product-timeline::before {\n  content: \"\";\n  position: absolute;\n  left: 30px;\n  top: 0;\n  width: 3px;\n  height: 100%;\n  background: linear-gradient(to bottom, rgba(66,133,244,0.5), rgba(66,133,244,0.1));\n  box-shadow: 0 0 12px rgba(66,133,244,0.4);\n}\n\n\/* ═══ TITOLO PRINCIPALE ═══════════════════════════════════════════════════ *\/\n.product-timeline h1 {\n  text-align: center;\n  font-size: 2.8rem;\n  font-weight: 800;\n  color: var(--accent);\n  margin-bottom: 60px;\n}\n\n\/* ═══ ELEMENTI TIMELINE ═══════════════════════════════════════════════════ *\/\n.timeline-item {\n  position: relative;\n  padding-left: 70px;\n  margin-bottom: 45px;\n  opacity: 0;\n  transform: translateY(40px);\n  transition: all 0.8s ease;\n}\n.timeline-item.visible {\n  opacity: 1;\n  transform: translateY(0);\n}\n.timeline-item::before {\n  content: \"\";\n  position: absolute;\n  left: 22px;\n  top: 28px;\n  width: 16px;\n  height: 16px;\n  background: var(--accent);\n  border-radius: 50%;\n  box-shadow: 0 0 14px rgba(66,133,244,0.6);\n}\n\n\/* ═══ CARD INTERNA ════════════════════════════════════════════════════════ *\/\n.timeline-card {\n  padding: 20px 26px;\n  border-left: 3px solid rgba(66,133,244,0.2);\n  border-radius: 10px;\n  transition: transform 0.3s ease, box-shadow 0.3s ease;\n}\n.timeline-card:hover {\n  transform: translateY(-5px);\n  box-shadow: 0 8px 20px rgba(66,133,244,0.1);\n}\n.timeline-card h3 {\n  color: var(--accent);\n  margin: 0 0 8px 0;\n  font-size: 1.6rem;\n  font-weight: 700;\n}\n.timeline-card p {\n  margin: 0;\n  font-size: 1.2rem;\n  color: #222;\n  line-height: 1.6;\n}\n\n\/* ═══ TASTO ACQUISTA ══════════════════════════════════════════════════════ *\/\n.buy-button {\n  display: inline-block;\n  margin-top: 30px;\n  padding: 16px 32px;\n  background: var(--accent);\n  color: #fff;\n  font-weight: 700;\n  font-size: 1.3rem;\n  border: none;\n  border-radius: 8px;\n  cursor: pointer;\n  text-decoration: none;\n  transition: background 0.3s ease, transform 0.2s ease;\n}\n.buy-button:hover {\n  background: #2b6ce5;\n  transform: scale(1.04);\n}\n.buy-button.disabled {\n  background: #aaa;\n  cursor: not-allowed;\n  transform: none;\n}\n\n\/* ═══ RESPONSIVE ══════════════════════════════════════════════════════════ *\/\n@media (max-width: 600px) {\n  .product-timeline::before { left: 20px; }\n  .timeline-item { padding-left: 60px; }\n  .timeline-item::before { left: 14px; }\n  .timeline-card h3 { font-size: 1.4rem; }\n  .timeline-card p { font-size: 1.05rem; }\n  .product-timeline h1 { font-size: 2rem; }\n  .buy-button { font-size: 1.1rem; padding: 14px 26px; }\n}\n\u003c\/style\u003e\n\n\u003csection class=\"product-timeline\"\u003e\n  \u003ch1 id=\"product-title\"\u003e\u003c\/h1\u003e\n  \u003cdiv id=\"timeline\"\u003e\u003c\/div\u003e\n  \u003c!-- Bottone finale sempre visibile --\u003e\n  \u003cdiv style=\"text-align:center\"\u003e\n    \u003cbutton class=\"buy-button\" id=\"checkoutButton\"\u003eVerifica disponibilità...\u003c\/button\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003cscript\u003e\n\/* ═══ LOGICA JAVASCRIPT ═══════════════════════════════════════════════════ *\/\n\n\/* — Titolo automatico del prodotto — *\/\nconst productTitle =\n  document.querySelector('h1.product__title, h1.product-title, h1')?.textContent?.trim() ||\n  \"Prodotto Shopify\";\ndocument.getElementById(\"product-title\").textContent = productTitle;\n\n\/* — Genera la timeline dinamica — *\/\nconst container = document.getElementById(\"timeline\");\nspecs.forEach((item) =\u003e {\n  const el = document.createElement(\"div\");\n  el.className = \"timeline-item\";\n  el.innerHTML = `\n    \u003cdiv class=\"timeline-card\"\u003e\n      \u003ch3\u003e${item.titolo}\u003c\/h3\u003e\n      \u003cp\u003e${item.descrizione}\u003c\/p\u003e\n    \u003c\/div\u003e`;\n  container.appendChild(el);\n});\n\n\/* — Effetto di comparsa su scroll — *\/\nconst items = document.querySelectorAll(\".timeline-item\");\nconst observer = new IntersectionObserver((entries) =\u003e {\n  entries.forEach((entry) =\u003e {\n    if (entry.isIntersecting) entry.target.classList.add(\"visible\");\n  });\n});\nitems.forEach((el) =\u003e observer.observe(el));\n\n\/* — Pulsante checkout con disponibilità — *\/\ndocument.addEventListener(\"DOMContentLoaded\", () =\u003e {\n  const btn = document.getElementById(\"checkoutButton\");\n  const shopDomain = window.Shopify?.shop || window.location.hostname;\n  const variant = window.meta?.product?.variants?.[0];\n\n  if (!variant) {\n    btn.textContent = \"Prodotto non disponibile\";\n    btn.classList.add(\"disabled\");\n    return;\n  }\n\n  if (variant.available) {\n    btn.textContent = \"Acquista ora 🛒\";\n    btn.addEventListener(\"click\", () =\u003e {\n      const checkoutUrl = `https:\/\/${shopDomain}\/cart\/${variant.id}:1`;\n      window.location.href = checkoutUrl;\n    });\n  } else {\n    btn.textContent = \"Non disponibile\";\n    btn.classList.add(\"disabled\");\n  }\n});\n\u003c\/script\u003e\n","brand":"Centroriparo srl","offers":[{"title":"6GB \/ 128GB","offer_id":51939874505032,"sku":null,"price":129.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0799\/6663\/4312\/files\/IMMAGINI_X_SITO_-_2025-11-05T193450.432.png?v=1762367708"}],"url":"https:\/\/www.centroriparo.it\/collections\/tablet-android.oembed","provider":"Centroriparo srl","version":"1.0","type":"link"}