{"product_id":"canon-eos-r100-18-45","title":"Canon EOS R100 + RF-S 18-45mm f\/4.5-6.3 IS STM","description":"\u003cstyle\u003e\n        \/* STILI GENERALI *\/\n        .sezione-info {\n            color: #404040;\n            padding: 8px 0;\n            font-size: 14px;\n        }\n        .area-info-badge {\n            background-color: #fcf8e3;\n            border: 1px solid #e0d8c0;\n            border-radius: 8px;\n            padding: 8px 10px;\n            margin-bottom: 10px;\n            \/* AGGIUNTO: Bordo inferiore arancione per lo \"spaziettino\" *\/\n            border-bottom: 4px solid #ffcb3c; \n        }\n\n        \/* Nuovo stile per il cerchio arancione attorno all'emoji o all'immagine *\/\n        .emoji-cerchio-arancione {\n            display: inline-flex; \/* Usa flexbox per centrare *\/\n            align-items: center;\n            justify-content: center;\n            width: 40px; \/* Dimensione del cerchio *\/\n            height: 40px; \/* Dimensione del cerchio *\/\n            background-color: #ffcb3c; \/* Sfondo arancione *\/\n            border-radius: 50%; \/* Rende il contenitore un cerchio *\/\n            margin-right: 12px; \/* Aggiustato il margine a destra *\/\n            vertical-align: middle; \n            flex-shrink: 0; \n        }\n\n        .emoji-arancione {\n            color: #404040;\n            font-size: 24px; \/* Aumentato la dimensione emoji per stare nel cerchio *\/\n        }\n        \n        \/* Stile per l'immagine dell'icona (per scatti) *\/\n        .icona-scatti-img {\n            width: 24px; \/* Regola la dimensione dell'immagine all'interno del cerchio *\/\n            height: auto;\n            display: block;\n        }\n\n        .titolo-label {\n            font-weight: bold;\n            color: #404040;\n            font-size: 18px;\n            display: inline;\n            vertical-align: middle;\n        }\n        \/* Garantisce la manina su tutti gli elementi cliccabili *\/\n        .valore-cliccabile, .link-dettagli, .pulsante-base, .link-garanzia-popup {\n            cursor: pointer;\n        }\n\n        \/* I valori 12 mesi, 30 giorni e 1.250 scatti ora condividono lo stesso stile *\/\n        .valore-cliccabile, .valore-fisso {\n            font-weight: bold;\n            color: #000000;\n            font-size: 18px; \/* TUTTI A 18px *\/\n            margin-left: 5px;\n            vertical-align: middle;\n        }\n\n        \/* STILE AGGIORNATO E RIALINEATO PER \"ulteriori dettagli\" *\/\n        .link-dettagli {\n            font-weight: normal;\n            text-decoration: underline;\n            color: #777; \/* Colore leggermente più tenue *\/\n            font-size: 12px; \/* ULTERIORMENTE RIMPICCIOLITO *\/\n            display: block;\n            margin-top: 4px;\n            \/* RICALCOLATO PER ALLINEARE SOTTO LA PRIMA LETTERA DEL TITOLO *\/\n            margin-left: -4px; \n            padding-left: 65px; \n            transition: color 0.3s ease;\n            cursor: pointer !important; \n        }\n        .link-dettagli:hover { color: #aaa; }\n        .badge-condizione {\n            background-color: #fff7e6;\n            border: 1px solid #8c6f21;\n            border-radius: 12px;\n            padding: 4px 10px;\n            display: inline-block;\n            line-height: 1;\n        }\n        \n        \/* TESTO \"CONTROLLI ESEGUITI\" (NON PIÙ TOCCATO) *\/\n        .testo-fisso {\n            font-weight: normal;\n            font-size: 14px;\n            margin-left: 58px; \n            margin-top: 4px;\n        }\n        \n        \/* Aumentato per adattarsi meglio al nuovo font size del pop-up *\/\n        .highlight-bold { \n            font-weight: bold; \n            font-size: 22px; \n        }\n        \n        \/* Layout Reso: Default Mobile *\/\n        .descrizione-reso {\n            padding-left: 58px; \n            margin-top: 4px;\n            line-height: 1.4;\n        }\n        .riga-reso {\n            display: block;\n            font-size: 14px;\n            color: #404040;\n            margin-top: 4px;\n        }\n        .riga-principale-reso-container {\n            display: flex;\n            align-items: center;\n            \/* MODIFICA AGGIORNATA: Sposta l'intera riga del reso leggermente a destra *\/\n            margin-left: 6px; \n        }\n\n        .highlight-bold.soddisfatto {\n            font-size: 16px; \n            display: block;\n            margin-top: 8px !important;\n        }\n\n        \/* STILI POP-UP *\/\n        .modal { display: none; position: fixed; z-index: 10; left: 0; top: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,0.6); opacity: 0; transition: opacity 0.3s ease-out; }\n        .modal.is-open { opacity: 1; display: block; }\n        .modal-content { \n            background-color: #fefefe; \n            padding: 10px; \n            border-radius: 10px; \n            width: 85%; \n            max-width: 620px; \/* Impostato a 620px *\/\n            position: absolute; \n            top: 50%; \n            left: 50%; \n            transform: translate(-50%, -50%); \n            max-height: 90vh; \n            overflow-y: auto; \n        }\n        .modal-header { \n            display: flex; \n            justify-content: space-between; \n            align-items: flex-start; \n             \/* MODIFICA: Ridotto il margine sotto l'header a 2px *\/\n            margin-bottom: 2px; \n        }\n        .pulsante-base { background-color: #FFFFFF; border: 1px solid #8c6f21; color: #8c6f21; font-weight: bold; border-radius: 50px; padding: 10px 20px; transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease; }\n        .pulsante-base:hover { background-color: #ffcb3c; border-color: #ffcb3c; color: #000000; }\n        .close-button.pulsante-base { padding: 5px 10px; font-size: 20px; line-height: 1; height: 40px; width: 40px; display: flex; align-items: center; justify-content: center; }\n        #modalTitle { \n            \/* MODIFICA: Titolo molto più grande *\/\n            font-size: 32px; \n            font-weight: bold; \n            color: #8c6f21; \n            text-align: center;\n            width: 100%; \n        }\n        \/* Aggiunta: Stile per il testo normale del pop-up *\/\n        .modal-content p {\n            font-size: 18px;\n            line-height: 1.4;\n        }\n        .custom-list-item { display: flex; align-items: flex-start; line-height: 1.2; margin-bottom: 2px; }\n        \/* Aumentato la dimensione del testo della lista puntata nel pop-up *\/\n        .custom-list-text {\n            font-size: 16px;\n        }\n        .custom-list-bullet { margin-right: 0.5em; flex-shrink: 0; }\n        .modal-content .link-garanzia-popup { display: block; margin-top: 15px; text-decoration: underline; color: #8c6f21; font-size: 16px; }\n        \n        \/* MEDIA QUERY PER PC (Desktop\/Tablet \u003e 768px) *\/\n        @media only screen and (min-width: 768px) {\n            \n            \/* Testo Reso allineato con Controlli a 58px *\/\n            .testo-fisso, .descrizione-reso {\n                 margin-left: 58px; \n                 padding-left: 0;\n            }\n            \n            .highlight-bold.soddisfatto { margin-left: 0 !important; }\n            \/* Rimuove il margine aggiunto prima, se su desktop lo si vuole allineato *\/\n            .riga-principale-reso-container { margin-left: 6px; } \n            \n            \/* Su desktop, allinea \"ulteriori dettagli\" sotto la prima lettera del titolo *\/\n            .link-dettagli {\n                 margin-left: -4px;\n                 padding-left: 65px;\n            }\n        }\n\n        \/* STILI AGGIUNTIVI PER LA LISTA \"RICEVERAI\" (Invariati) *\/\n        .lista-inclusi { list-style-type: none; padding-left: 0; margin-top: 8px; margin-left: 48px; }\n        .lista-inclusi li { position: relative; padding-left: 20px; margin-bottom: 4px; line-height: 1.4; font-size: 14px; }\n        .lista-inclusi li::before { content: '•'; position: absolute; left: 0; top: 0; color: #8c6f21; font-size: 18px; line-height: 1; }\n        \n        \/* SOLUZIONE PROPOSTA: Sovrascrivi il CSS del tema Shopify che potrebbe aggiungere un bordo grigio *\/\n        .area-info-badge, \n        .emoji-cerchio-arancione, \n        .emoji-cerchio-arancione img,\n        .badge-condizione {\n            border-color: transparent !important;\n        }\n    \u003c\/style\u003e\n\u003cdiv\u003e\n\u003c!-- Contenitore principale per le specifiche --\u003e\n\u003cdiv\u003e\n\u003c!-- 1. CONDIZIONE --\u003e\n\u003cdiv class=\"sezione-info area-info-badge\"\u003e\n\u003cspan class=\"emoji-cerchio-arancione\"\u003e\u003cspan class=\"emoji-arancione\"\u003e✨\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"titolo-label\"\u003eCondizione:\u003c\/span\u003e \u003cspan class=\"valore-cliccabile badge-condizione\"\u003eCome nuovo\u003c\/span\u003e \u003ca data-content=\"Ogni foto e descrizione del prodotto è reale: riceverai a casa esattamente quello che vedi in foto e in descrizione. La valutazione delle condizioni viene effettuata dal nostro tecnico specializzato secondo\n               \n              Questo articolo è “Come nuovo”, ovvero generalmente significa:\n\n• Corpo macchina: Quasi perfetto, la fotocamera sembra nuova (ha lievissimi segni di usura)\n• Pulsanti e slitta: Reattivi e funzionano perfettamente, in eccellenti condizioni.\n• Schermo: in condizione perfetta.\n• Sensore: pulito e privo di segni.\n                                        • Lente: senza graffi e polvere.\" data-title=\"Condizione\" class=\"link-dettagli\"\u003e ulteriori dettagli \u003c\/a\u003e\n\u003c\/div\u003e\n\u003c!-- 2. SCATTI (ORA CON IMMAGINE AL POSTO DELL'EMOJI) --\u003e\n\u003cdiv class=\"sezione-info area-info-badge\"\u003e\n\u003cspan class=\"emoji-cerchio-arancione\"\u003e \u003c!-- URL dell'immagine degli scatti AGGIORNATO --\u003e \u003cimg class=\"icona-scatti-img\" alt=\"Icona Scatti\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0968\/6555\/0677\/files\/emojis.com_create-a-camera-aperture-emoji-with-black-blades_-24px-should-be-the-emoji_1.png?v=1768821339\"\u003e \u003c\/span\u003e \u003cspan class=\"titolo-label\"\u003eScatti:\u003c\/span\u003e \u003cspan class=\"valore-fisso\"\u003e1.000\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c!-- 3. RICEVERAI (con EMOJI del regalo) --\u003e\n\u003cdiv class=\"sezione-info area-info-badge\"\u003e\n\u003cspan class=\"emoji-cerchio-arancione\"\u003e \u003c!-- Utilizzo dell'emoji regalo come richiesto --\u003e \u003cspan class=\"emoji-arancione\"\u003e🎁\u003c\/span\u003e \u003c\/span\u003e \u003cspan class=\"titolo-label\"\u003eIncluso:\u003c\/span\u003e\n\u003cul class=\"lista-inclusi\"\u003e\n\u003cul class=\"lista-inclusi\"\u003e\n\u003cli\u003eBatteria Canon LP-E17\u003c\/li\u003e\n\u003cli\u003eCaricabatterie Canon LC-E17\u003c\/li\u003e\n\u003cli\u003eCinghia per il collo\u003c\/li\u003e\n\u003cli\u003eTappo protezione anteriore\u003c\/li\u003e\n\u003cli\u003eConfezione originale\u003c\/li\u003e\n\u003cli\u003eTappo anteriore per obiettivo da 49 mm\u003c\/li\u003e\n\u003cli\u003eTappo posteriore per obiettivo - Attacco RF\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c!-- 7. CONTROLLI --\u003e\n\u003cdiv class=\"sezione-info area-info-badge\"\u003e\n\u003cspan class=\"emoji-cerchio-arancione\"\u003e\u003cspan class=\"emoji-arancione\"\u003e✅\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"titolo-label\"\u003eVerifica eseguita:\u003c\/span\u003e\n\u003cdiv class=\"testo-fisso\"\u003eQuesto articolo ha superato i 18 test del Protocollo di Scatta l’Attimo.\u003c\/div\u003e\n\u003ca class=\"link-dettagli link-test-pos\" data-title=\"Protocollo 18 Test\" data-content=\"Ogni prodotto viene sottoposto a controlli rigorosi effettuati dal nostro tecnico esperto:\n       \u0026lt;br\u0026gt;• \u0026lt;b\u0026gt;Mappatura e pulizia sensore\u0026lt;\/b\u0026gt;\n       \u0026lt;br\u0026gt;• \u0026lt;b\u0026gt;Meccanica otturatore\u0026lt;\/b\u0026gt;\n       \u0026lt;br\u0026gt;• \u0026lt;b\u0026gt;Autofocus e Stabilizzazione\u0026lt;\/b\u0026gt;\n       \u0026lt;br\u0026gt;• \u0026lt;b\u0026gt;Check Elettronico\u0026lt;\/b\u0026gt;\n       \u0026lt;br\u0026gt;\u0026lt;b\u0026gt;Oltre 150€ di valore di controlli già inclusi nel prezzo.\u0026lt;\/b\u0026gt;\n       \u0026lt;br\u0026gt;\u0026lt;br\u0026gt;Se vuoi vedere tutti i test completi effettuati su questa macchina:\n       \u0026lt;br\u0026gt;\u0026lt;a href='https:\/\/scattalattimo.it\/pages\/la-garanzia-di-scatta-lattimo' target='_blank' style='color:#8c6f21; font-weight:bold; text-decoration:underline;'\u0026gt;CLICCA QUI, SCORRI VERSO LA FINE E SCOPRI I 18 PUNTI\u0026lt;\/a\u0026gt;\"\u003escopri di più sui test eseguiti\u003c\/a\u003e\n\u003c\/div\u003e\n\u003c!-- 4. SPEDIZIONE --\u003e\n\u003cdiv class=\"sezione-info area-info-badge\"\u003e\n\u003cdiv class=\"riga-principale-reso-container\"\u003e\n\u003cspan class=\"emoji-cerchio-arancione\"\u003e\u003cspan class=\"emoji-arancione\"\u003e🚚\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"titolo-label\"\u003eSpedizione:\u003c\/span\u003e \u003cspan class=\"valore-fisso\"\u003eGratuita\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"descrizione-reso\"\u003e\n\u003cspan class=\"riga-reso\"\u003e Spediamo con corriere assicurato ed espresso in tutta Italia. \u003c\/span\u003e \u003cspan class=\"riga-reso highlight-bold soddisfatto\"\u003e Consegna in 48\/72H lavorative \u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- 5. RESO --\u003e\n\u003cdiv class=\"sezione-info area-info-badge\"\u003e\n\u003cdiv class=\"riga-principale-reso-container\"\u003e\n\u003cspan class=\"emoji-cerchio-arancione\"\u003e\u003cspan class=\"emoji-arancione\"\u003e📦\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"titolo-label\"\u003eReso:\u003c\/span\u003e \u003cspan class=\"valore-fisso\"\u003e30 giorni\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"descrizione-reso\"\u003e\n\u003cspan class=\"riga-reso\"\u003eProva l'attrezzatura con calma: se non è ciò che cercavi, il reso è gratuito e il rimborso integrale. Il prodotto deve essere restituito nelle stesse condizioni dell’invio, completo di accessori e imballi originali. \u003c\/span\u003e \u003cspan class=\"riga-reso highlight-bold soddisfatto\"\u003e 100% soddisfatto o rimborsato \u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- STRUTTURA MODALE --\u003e\n\u003cdiv class=\"modal\" id=\"infoModal\"\u003e\n\u003cdiv class=\"modal-content\"\u003e\n\u003cdiv class=\"modal-header\"\u003e\n\u003ch3 id=\"modalTitle\"\u003e\u003c\/h3\u003e\n\u003cbutton class=\"close-button pulsante-base\" id=\"closeButtonX\"\u003e×\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cp id=\"modalContent\"\u003e\u003c\/p\u003e\n\u003cdiv style=\"text-align: center; margin-top: 15px;\"\u003e\u003cbutton class=\"pulsante-base\" id=\"btnCapito\"\u003eCapito\u003c\/button\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n    document.addEventListener('DOMContentLoaded', () =\u003e {\n        const modal = document.getElementById(\"infoModal\");\n        const modalTitle = document.getElementById(\"modalTitle\");\n        const modalContent = document.getElementById(\"modalContent\");\n        const closeButtonX = document.getElementById(\"closeButtonX\");\n        const btnCapito = document.getElementById(\"btnCapito\");\n\n        function openModal(title, content) {\n            modalTitle.innerHTML = title;\n            \n            \/\/ Applica la formattazione dinamica al testo\n            let formatted = content.replace(\/(“Eccellente”|Garanzia Gratuita di 12 mesi di Scatta l’Attimo)\/g, '\u003cspan class=\"highlight-bold condition-value badge-condizione\"\u003e$1\u003c\/span\u003e')\n                                   .replace(\/(30 giorni dalla ricezione|12 mesi|bonus del 30%)\/g, '\u003cspan class=\"highlight-bold\"\u003e$1\u003c\/span\u003e')\n                                   .replace(\/(Guasti improvvisi)\/g, '▪️ $1')\n                                   .replace(\/(Difetti di conformità)\/g, '▪️ $1')\n                                   .replace(\/(La garanzia copre:)\\n\/g, '$1\u003cbr\u003e\u003cbr\u003e')\n                                   .replace(\/▪️ ([^\\n]+)\/g, '\u003cspan class=\"custom-list-item\"\u003e\u003cspan class=\"custom-list-bullet\"\u003e▪️\u003c\/span\u003e\u003cspan class=\"custom-list-text\"\u003e$1\u003c\/span\u003e\u003c\/span\u003e')\n                                   .replace(\/\\n\/g, '\u003cbr\u003e');\n\n            \/\/ Inserisci il contenuto formattato (inclusi i tag A già presenti nel data-content) nel DOM\n            modalContent.innerHTML = formatted;\n            \n            modal.classList.add('is-open'); \n        }\n\n        function closeModal() {\n            modal.classList.remove('is-open');\n        }\n\n        document.querySelectorAll('.link-dettagli, .valore-cliccabile').forEach(el =\u003e {\n            el.addEventListener('click', (e) =\u003e {\n                const container = e.target.closest('.sezione-info');\n                \n                \/\/ Impedisce l'apertura del modale se si clicca sul Reso (che ha valore-fisso)\n                if (container \u0026\u0026 container.querySelector('.titolo-label').innerText.includes('Reso')) {\n                    return;\n                }\n\n                let link = e.target.classList.contains('link-dettagli') ? e.target : container.querySelector('.link-dettagli');\n\n                \/\/ Gestisce il click sul valore \"12 mesi\" per aprire il modale della garanzia\n                if (!link \u0026\u0026 e.target.classList.contains('valore-cliccabile') \u0026\u0026 container.querySelector('.titolo-label').innerText.includes('Garanzia')) {\n                    link = container.querySelector('.link-dettagli');\n                }\n                \n                if (link) {\n                    openModal(link.dataset.title, link.dataset.content);\n                }\n            });\n        });\n\n        closeButtonX.onclick = closeModal;\n        btnCapito.onclick = closeModal;\n\n        \/\/ Chiudi la modale cliccando fuori\n        window.onclick = (e) =\u003e { \n            if (e.target == modal) closeModal(); \n        };\n    });\n    \u003c\/script\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Scatta l'Attimo","offers":[{"title":"12 mesi","offer_id":53763757375829,"sku":"765647","price":399.0,"currency_code":"EUR","in_stock":true},{"title":"24 mesi (estesa)","offer_id":53763757408597,"sku":"765647","price":449.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0968\/6555\/0677\/files\/Canon_eos_r100_usata_garantita_-_reso_30gg_gratuito.jpg?v=1777654497","url":"https:\/\/scattalattimo.it\/products\/canon-eos-r100-18-45","provider":"Scatta l'Attimo","version":"1.0","type":"link"}