{"product_id":"canon-ef-m-15-45mm-f-3-5-6-3-is-stm-copia","title":"Canon EF-M 15-45mm f\/3.5-6.3 IS STM","description":"\u003cp\u003e\u003cmeta charset=\"UTF-8\"\u003e \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\u003c\/p\u003e\n\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\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\"\u003eCondition:\u003c\/span\u003e \u003cspan class=\"valore-cliccabile badge-condizione\"\u003eLike new\u003c\/span\u003e \u003ca data-content=\"Every photo and product description is real: you will receive exactly what you see in the photos and description at home. The condition rating is carried out by our specialized technician and falls into “Like new,” “Excellent,” “Good,” “Well used,” and “Fair” categories.\n\n              This item is “Like new,” which means:\n\n• Lens: Impeccable condition, free from scratches and dust.\n• Focus ring: Smooth and responsive, like new.\n• Mount and barrel: Nearly perfect aesthetics; the lens appears as if new, with almost imperceptible signs of wear.\" data-title=\"Condition\" class=\"link-dettagli\"\u003e further details \u003c\/a\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\"\u003eIncluded:\u003c\/span\u003e\n\u003cul class=\"lista-inclusi\"\u003e\n\u003cli\u003e49mm front lens cap\u003c\/li\u003e\n\u003cli\u003eRear lens cap - EF-M mount\u003c\/li\u003e\n\u003c\/ul\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\"\u003eShipping:\u003c\/span\u003e \u003cspan class=\"valore-fisso\"\u003eFree\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"descrizione-reso\"\u003e\n\u003cspan class=\"riga-reso\"\u003e We ship with insured and express courier throughout Italy. \u003c\/span\u003e \u003cspan class=\"riga-reso highlight-bold soddisfatto\"\u003e Delivery in 48\/72 working hours \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\"\u003eReturns:\u003c\/span\u003e \u003cspan class=\"valore-fisso\"\u003e30 days\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"descrizione-reso\"\u003e\n\u003cspan class=\"riga-reso\"\u003eTry the equipment calmly: if it’s not what you were looking for, returns are free and refunds are full. The product must be returned in the same condition as shipped, complete with accessories and original packaging. \u003c\/span\u003e \u003cspan class=\"riga-reso highlight-bold soddisfatto\"\u003e 100% satisfied or refunded \u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- 6. GARANZIA --\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\"\u003eWarranty:\u003c\/span\u003e \u003cspan class=\"valore-cliccabile\"\u003e12 months\u003c\/span\u003e \u003ca class=\"link-dettagli link-garanzia-pos\" data-title=\"12 Month Warranty Details\" data-content=\"The warranty covers defects of conformity and sudden malfunctions of the lens not caused by external factors.\n      \u003cbr\u003e\u003cbr\u003e\u003cb\u003eExamples of included malfunctions:\u003c\/b\u003e\n      \u003cbr\u003e• \u003cb\u003eAF motor:\u003c\/b\u003e Malfunctions of the autofocus system.\n      \u003cbr\u003e• \u003cb\u003eDiaphragm:\u003c\/b\u003e Blade blockage or anomalies in signal transmission.\n      \u003cbr\u003e• \u003cb\u003eStabilizer:\u003c\/b\u003e Defects of the stabilized optical group (IS\/VR\/OSS).\n      \u003cbr\u003e\u003cbr\u003e\u003ci\u003eDamage from accidental drops, impacts, liquid infiltration, mold, improper use, or negligence is excluded.\u003c\/i\u003e\n      \u003cbr\u003e\u003cbr\u003e\u003ca href='https:\/\/scattalattimo.it\/pages\/la-garanzia-di-scatta-lattimo' class='link-garanzia-popup' target='_blank' style='color:#8c6f21; font-weight:bold; text-decoration:underline;'\u003eDiscover more details about Scatta l'Attimo Warranty\u003c\/a\u003e\"\u003efurther details\u003c\/a\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\"\u003eVerification performed:\u003c\/span\u003e\n\u003cdiv class=\"testo-fisso\"\u003eThis item has passed the 18 tests of the Scatta l'Attimo Protocol.\u003c\/div\u003e\n\u003ca class=\"link-dettagli link-test-pos\" data-title=\"18 Test Protocol\" data-content=\"Each product undergoes rigorous checks by our expert technician:\n       \u003cbr\u003e• \u003cb\u003eLens cleaning and mold verification\u003c\/b\u003e\n       \u003cbr\u003e• \u003cb\u003eDiaphragm and ring mechanics\u003c\/b\u003e\n       \u003cbr\u003e• \u003cb\u003eAutofocus and Stabilization\u003c\/b\u003e\n       \u003cbr\u003e• \u003cb\u003eElectronic contact check\u003c\/b\u003e\n       \u003cbr\u003e\u003cb\u003eA professional technical check guaranteed on every one of our lenses.\u003c\/b\u003e\n       \u003cbr\u003e\u003cbr\u003eIf you want to see all the complete tests performed on this lens:\n       \u003cbr\u003e\u003ca href='https:\/\/scattalattimo.it\/pages\/la-garanzia-di-scatta-lattimo' target='_blank' style='color:#8c6f21; font-weight:bold; text-decoration:underline;'\u003eCLICK HERE, SCROLL TO THE END AND DISCOVER THE 18 POINTS\u003c\/a\u003e\"\u003efind out more about the tests performed\u003c\/a\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\"\u003eGot it\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","brand":"Scatta l'Attimo","offers":[{"title":"12 months (Standard)","offer_id":53671456342357,"sku":"567697","price":77.0,"currency_code":"EUR","in_stock":false},{"title":"24 months (Doubled protection)","offer_id":53671456375125,"sku":"567697","price":90.0,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0968\/6555\/0677\/files\/Canon_EF-M_15-45mm_f_3.5-6.3_IS_STM_usato.jpg?v=1781309211","url":"https:\/\/scattalattimo.it\/en-gb\/products\/canon-ef-m-15-45mm-f-3-5-6-3-is-stm-copia","provider":"Scatta l'Attimo","version":"1.0","type":"link"}