1<!DOCTYPE html> 2<html lang="it"> 3 4<head> 5<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> 6 <link rel="canonical" href="https://www.shoppi.app/search"> 7 <link rel="alternate" hreflang="en-US" href="https://us.shoppi.app/search"> 8 <link rel="alternate" hreflang="en-GB" href="https://uk.shoppi.app/search"> 9 <link rel="alternate" hreflang="it-IT" href="https://it.shoppi.app/search"> 10 <link rel="alternate" hreflang="de-DE" href="https://de.shoppi.app/search"> 11 <link rel="alternate" hreflang="fr-FR" href="https://fr.shoppi.app/search"> 12 <link rel="alternate" hreflang="x-default" href="https://www.shoppi.app/search"> 13 14 <title>Ricerca Shoppi â Scopri Prodotti e Negozi Locali</title> 15 <meta content="text/html; charset=UTF-8" http-equiv="content-type"> 16 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 17 <meta name="viewport" content="width=device-width, initial-scale=1"> 18 <meta name="color-scheme" content="light only"> 19 <meta name="description" content="Cerca su Shoppi tra prodotti, servizi, e-cards, negozi, video e notizie: filtra per categoria, prezzo e citta' e trova quello che ti serve vicino a te."> 20 21 <!-- Internal search results must not be indexed. Every ?s= value minted a 22 distinct indexable URL whose body was identical to the others: an audit 23 found 28 URLs sharing one title, the largest duplicate cluster on the 24 site. "follow" is deliberate â the links out of a result page are how a 25 crawler reaches products, so only the listing itself is dropped. 26 Repeated here rather than left to the page metadata because this 27 template is shared by every locale and the rule is not negotiable. --> 28 <meta name="robots" content="noindex, follow"> 29 30 <meta property="og:type" content="website"> 31 <meta property="og:site_name" content="Shoppi"> 32 <meta property="og:title" content="Ricerca Shoppi â Scopri Prodotti e Negozi Locali"> 33 <meta property="og:url" content="https://www.shoppi.app/search"> 34 <meta name="twitter:card" content="summary_large_image"> 35 <meta name="twitter:site" content="@shoppi_online"> 36 37 38 39 <style type="text/css">@font-face {font-family:'Poppins';font-style:normal;font-weight:400;src:url(/cf-fonts/s/poppins/5.2.7/latin/400/normal.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'Poppins';font-style:normal;font-weight:400;src:url(/cf-fonts/s/poppins/5.2.7/devanagari/400/normal.woff2);unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09;font-display:swap;}@font-face {font-family:'Poppins';font-style:normal;font-weight:400;src:url(/cf-fonts/s/poppins/5.2.7/latin-ext/400/normal.woff2);unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'Poppins';font-style:normal;font-weight:500;src:url(/cf-fonts/s/poppins/5.2.7/devanagari/500/normal.woff2);unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09;font-display:swap;}@font-face {font-family:'Poppins';font-style:normal;font-weight:500;src:url(/cf-fonts/s/poppins/5.2.7/latin/500/normal.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'Poppins';font-style:normal;font-weight:500;src:url(/cf-fonts/s/poppins/5.2.7/latin-ext/500/normal.woff2);unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'Poppins';font-style:normal;font-weight:600;src:url(/cf-fonts/s/poppins/5.2.7/latin-ext/600/normal.woff2);
39unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'Poppins';font-style:normal;font-weight:600;src:url(/cf-fonts/s/poppins/5.2.7/devanagari/600/normal.woff2);unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09;font-display:swap;}@font-face {font-family:'Poppins';font-style:normal;font-weight:600;src:url(/cf-fonts/s/poppins/5.2.7/latin/600/normal.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'Poppins';font-style:normal;font-weight:700;src:url(/cf-fonts/s/poppins/5.2.7/latin/700/normal.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'Poppins';font-style:normal;font-weight:700;src:url(/cf-fonts/s/poppins/5.2.7/latin-ext/700/normal.woff2);unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'Poppins';font-style:normal;font-weight:700;src:url(/cf-fonts/s/poppins/5.2.7/devanagari/700/normal.woff2);unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09;font-display:swap;}@font-face {font-family:'Poppins';font-style:normal;font-weight:800;src:url(/cf-fonts/s/poppins/5.2.7/latin-ext/800/normal.woff2);unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'Poppins';font-style:normal;font-weight:800;src:url(/cf-fonts/s/poppins/5.2.7/devanagari/800/normal.woff2);unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09;font-display:swap;}@font-face {font-family:'Poppins';font-style:normal;font-weight:800;src:url(/cf-fonts/s/poppins/5.2.7/latin/800/normal.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}</style> 40 41 <!-- Same shell as the marketplace landing pages: own header and footer, so 42 neither Bootstrap nor Font Awesome is loaded. The previous version of 43 this screen pulled both from a CDN plus jQuery, Handlebars and the 44 whole i18n bundle to draw a grid of cards; market.css is the design 45 system and search.js has no dependencies. --> 46 <link href="/sites/shoppi.app/page/css/market.css?v=2026090501" rel="stylesheet"> 47
47<script src="/sites/shoppi.app/page/js/market.js?v=2026090401"></script>
47 48
48<script src="/sites/shoppi.app/page/js/boards.js?v=2026092601"></script>
48 49
49<script src="/sites/shoppi.app/page/js/search.js?v=2026092402"></script>
49 50 <!-- The plugin stylesheet tag is deliberately absent: it injects the asset 51 list of every active plugin (chosen, leanmodal, sweetalertâ¦), none of 52 which this screen uses and all of which would bleed into a design 53 system built to stand alone. The marketplace landing pages leave it 54 out for the same reason. 55 Do not name that tag here, not even in prose â tagcodes are replaced 56 everywhere in the output, comments included, and writing it would 57 inject the very stylesheets this note is about. --> 58</head> 59 60<body class="mk"><a href="https://shoppi.app/cdn-cgi/content?id=NwBluzs2BBgWwmm.a_pwvSXh5iJGA5U.mjQQPrnKxMc-1790899134.1744182-1.2.1.1-6lgyPbR358ANBuaP2oDIze6q4RjXqcFW8fcWuqCwvSP46ibetJnjvJpd9OwBmkx6" aria-hidden="true" rel="nofollow noopener" style="display: none !important; visibility: hidden !important"></a> 61 62<!-- Shoppi marketplace header. 63 Shared shell for the marketplace landing pages (/deals-app, /gift-ideas). 64 Requires page/css/market.css and page/js/market.js. Markup only: every 65 dropdown here is inert until market.js wires it, and every link points at 66 a real slug on this site. --> 67<header class="mk-hd"><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> 68 69 <div class="mk-hd-top"> 70 <div class="mk-wrap mk-hd-topin"> 71 <div class="mk-hd-topl"> 72 <!-- Il MERCATO, non la lingua. Il paese arriva dal 73 sottodominio (market_country in framework/functions.php) 74 e viene scritto nella lingua della pagina: su 75 it.shoppi.app/?locale=zh_CN si legge "æå¤§å©", perche' si 76 consegna sempre in Italia anche a leggerlo in cinese. 77 78 Prima era Italia, cioe` una stringa dentro i 79 file di lingua: un paese fisso per ogni lingua, che 80 annunciava "France" solo perche' la pagina era in 81 francese. Cambiare mercato si fa da qui: ogni voce e` il 82 sottodominio di quel paese. --> 83 <div class="mk-lang mk-market"> 84 <button type="button" class="mk-lang-btn" id="mk-market-btn" aria-expanded="false" aria-controls="mk-market-menu">Spedisci in: <strong>Stati Uniti</strong></button> 85 <div class="mk-lang-menu" id="mk-market-menu" hidden> 86 <a href="https://us.shoppi.app/" class="is-current" aria-current="true">Stati Uniti</a> 87 <a href="https://uk.shoppi.app/">Regno Unito</a> 88 <a href="https://it.shoppi.app/">Italia</a> 89 <a href="https://de.shoppi.app/">Germania</a> 90 <a href="https://au.shoppi.app/">Australia</a> 91 <a href="https://ca.shoppi.app/">Canada</a> 92 <a href="https://es.shoppi.app/">Spagna</a> 93 <a href="https://fr.shoppi.app/">Francia</a> 94 <a href="https://jp.shoppi.app/">Giappone</a> 95 <a href="https://br.shoppi.app/">Brasile</a> 96 <a href="https://pl.shoppi.app/">Polonia</a> 97 <a href="https://pt.shoppi.app/">Portogallo</a> 98 <a href="https://nl.shoppi.app/">Paesi Bassi</a> 99 <a href="https://cn.shoppi.app/">Cina</a> 100 <a href="https://sg.shoppi.app/">Singapore</a> 101 <a href="https://in.shoppi.app/">India</a> 102 </div> 103 </div> 104 <div class="mk-lang"> 105 <button type="button" class="mk-lang-btn" id="mk-lang-btn" aria-expanded="false" aria-controls="mk-lang-menu">Italiano</button> 106 <!-- Every market with a langs/*.lng and a catalogue behind 107 it, ordered by catalogue size rather than 108 alphabetically. Row counts measured 12/08/2026 over 109 the products collection. 110 111 The five at the bottom were served without a langs 112 file at all until then. That is not a cosmetic gap: 113 i18n.class.php loads [locale, it_IT, en_GB, en_US] and 114 lang::load() is first-wins, so a locale with no file 115 resolves every key to the ITALIAN one â Japan (15k 116 rows), Australia (69k), Brazil (14k), Singapore (6k) 117 and India were all being shown the site in Italian. 118 119 ro_RO, sv_SE and el_GR have a langs file but a 120 catalogue in single or double digits, so they are 121 deliberately still not offered. --> 122 <div class="mk-lang-menu" id="mk-lang-menu" hidden> 123 <a href="/?locale=en_US">English (US)</a> 124 <a href="/?locale=en_GB">English (UK)</a> 125 <a href="/?locale=it_IT">Italiano</a> 126 <a href="/?locale=de_DE">Deutsch</a> 127 <a href="/?locale=en_CA">
127English (Canada)</a> 128 <a href="/?locale=es_ES">Español</a> 129 <a href="/?locale=fr_FR">Français</a> 130 <a href="/?locale=en_AU">English (Australia)</a> 131 <a href="/?locale=pl_PL">Polski</a> 132 <a href="/?locale=pt_PT">Português</a> 133 <a href="/?locale=ja_JP">æ¥æ¬èª</a> 134 <a href="/?locale=pt_BR">Português (BR)</a> 135 <a href="/?locale=nl_NL">Nederlands</a> 136 <a href="/?locale=zh_CN">䏿</a> 137 <a href="/?locale=en_SG">English (Singapore)</a> 138 <a href="/?locale=en_IN">English (India)</a> 139 </div> 140 </div> 141 </div> 142 <div class="mk-hd-topr"> 143 <a href="/app">Scarica l'app</a> 144 <a href="/sell" class="mk-hd-sell">Vendi su Shoppi</a> 145 </div> 146 </div> 147 </div> 148 149 <div class="mk-wrap mk-hd-main"> 150 <a href="/" class="mk-hd-logo"><img src="/sites/shoppi.app/dist/img/shoppi-logo-black.png?v=1771010856" alt="Shoppi"></a> 151 152 <div class="mk-search"> 153 <form class="mk-search-box" action="/search" method="get" role="search"> 154 <!-- Prefilled from the request so the term survives the jump to 155 /search: an empty box over a page of results reads as if the 156 search had been forgotten, and there is nothing to edit when 157 the visitor wants to refine it. --> 158 <input type="text" name="s" id="mk-q" autocomplete="off" value="phone" placeholder="Cerca prodotti, servizi, negoziâ¦" aria-label="Cerca su Shoppi"> 159 <button type="submit">Cerca</button> 160 </form> 161 <div class="mk-sugg" id="mk-sugg" hidden></div> 162 </div> 163 164 <div class="mk-hd-acts"> 165 <a href="/wishlist" class="mk-hd-act"> 166 <svg width="19" height="19" viewbox="0 0 24 24" fill="none" stroke="#0B1B33" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.6l-1-1a5.5 5.5 0 0 0-7.8 7.8l8.8 8.8 8.8-8.8a5.5 5.5 0 0 0 0-7.8z"></path></svg> 167 <span class="mk-hd-act-label">Preferiti</span> 168 </a> 169 <a href="/cart" class="mk-hd-act mk-hd-act--cart" onclick="if(typeof openCartDrawer === 'function') { event.preventDefault(); openCartDrawer(); }"> 170 <span class="mk-cart-ico"> 171 <svg width="20" height="20" viewbox="0 0 24 24" fill="none" stroke="#0B1B33" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="9" cy="21" r="1"></circle><circle cx="20" cy="21" r="1"></circle><path d="M1 1h4l2.7 13.4a2 2 0 0 0 2 1.6h9.7a2 2 0 0 0 2-1.6L23 6H6"></path></svg> 172 <span class="mk-cart-count" id="mk-cart-count" hidden></span> 173 </span> 174 <span class="mk-hd-act-label">Carrello</span> 175 </a> 176 <a href="/login" class="mk-hd-login">Entra</a> 177 <a href="/signup" class="mk-hd-signup">Iscriviti</a> 178 </div> 179 </div> 180 181 <div class="mk-hd-cats"> 182 <div class="mk-wrap mk-hd-catsrow"> 183 <div class="mk-mega-holder"> 184 <button type="button" class="mk-mega-btn" id="mk-mega-btn" aria-expanded="false" aria-controls="mk-mega"> 185 <svg width="16" height="16" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" aria-hidden="true"><line x1="3" y1="6" x2="21" y2="6"></line><line x1="3" y1="12" x2="21" y2="12"></line><line x1="3" y1="18" x2="21" y2="18"></line></svg> 186 Tutte le categorie 187 </button> 188 <div class="mk-mega" id="mk-mega" hidden> 189 <div class="mk-mega-col"> 190 <strong>Elettronica</strong> 191 <a href="/search?s=cellulari">Cellulari</a> 192 <a href="/search?s=console">Console</a> 193 <a href="/search?s=fotocamere">Fotocamere</a> 194 <a href="/search?s=audio">Audio</a> 195 <a href="/search?s=domotica">Casa intelligente</a> 196 </div> 197 <div class="mk-mega-col"> 198 <strong>Moda</strong> 199 <a href="/search?s=gioielli">Gioielli</a> 200 <a href="/search?s=borse">Borse</a> 201 <a href="/search?s=occhiali">Occhiali</a> 202 <a href="/search?s=orologi">Orologi</a> 203 <a href="/search?s=scarpe">Scarpe</a> 204 </div> 205 <div class="mk-mega-col"> 206 <strong>Salute e Bellezza</strong> 207 <a href="/search?s=farmacia">Farmacie</a> 208 <a href="/search?s=centro+estetico">Centri Estetici</a> 209 <a href="/search?s=parrucchiere">Parrucchieri</a> 210 <a href="/search?s=palestra">Palestre</a> 211 <a href="/search?s=centro+benessere">Centri SPA</a> 212 </div> 213 <div class="mk-mega-col"> 214 <strong>Altro</strong> 215 <a href="/search?s=auto">Auto e Moto</a> 216 <a href="/home-decor-shopping">Casa e Giardino</a> 217 <a href="/search?s=professionisti">Professionisti</a> 218 <a href="/search?s=alloggi">Alloggi</a> 219 <a href="/sports-outdoor-shopping">Sport</a> 220 </div> 221 </div> 222 </div> 223 224 <div class="mk-hd-catsin"> 225 <a href="/deals-app" class="mk-cat mk-cat--hot">La selezione di oggi</a> 226 <a href="/electronics-deals" class="mk-cat">Elettronica</a> 227 <a href="/fashion-app" class="mk-cat">Moda</a> 228 <a href="/beauty-shopping" class="mk-cat">Salute e Bellezza</a> 229 <a href="/home-decor-shopping" class="mk-cat">Casa e Giardino</a> 230 <a href="/sports-outdoor-shopping" class="mk-cat">Sport</a> 231 <a href="/kids-shopping-app" class="mk-cat">Bambini</a> 232 <a href="/pet-supplies-app" class="mk-cat">Animali</a> 233 <a href="/gift-ideas" class="mk-cat">Idee Regalo</a> 234 <a href="/local-delivery" class="mk-cat mk-cat--local">Negozi e servizi locali</a> 235 </div> 236 </div> 237 </div> 238 239</header> 240 241<!-- Localised copy for search.js. The language layer resolves %_CONSTANTS% over 242 the finished HTML, so the strings can only reach JavaScript through the 243 document; attributes carry them without an inline script that the page 244 pipeline would have to be trusted not to mangle. --> 245<div id="mk-sr-i18n" hidden data-locale="it_IT" data-currency="EUR" data-other-markets="Nessun risultato nel tuo mercato: mostriamo prodotti di altri paesi, con i prezzi nella loro valuta." data-all-cats="Tutte le categorie" data-all-prices="Tutti i prezzi" data-all-cities="Tutte le città " data-price-under="Meno di" data-price-over="Più di" data-results-all="Tutti i risultati" data-results-for="Risultati per" data-result-one="1 risultato" data-result-many="risultati" data-empty-title="Nessun risultato con questi filtri" data-empty-title-q="Nessun risultato per" data-empty-body="Controlla l'ortografia oppure prova con un termine più generico. Puoi anche allargare i filtri o cambiare scheda qui sopra." data-empty-cta="Azzera ricerca e filtri" data-error-title="Ricerca non disponibile" data-error-body="Non siamo riusciti a caricare i risultati. Riprova fra un momento." data-retry="Riprova" data-dym="Forse cercavi" data-instead="Cerca invece" data-only="Cerca solo" data-related="Ricerche correlate" data-fav="Salva nei preferiti" data-near="Vicino a te" data-add="Aggiungi" data-added="Aggiunto" data-book="Prenota" data-booked="Prenotato" data-gift="Regala" data-visit="Visita" data-watch="Guarda" data-read="Leggi" data-tag-ecard="E-Card" data-tag-store="Negozio" data-tag-video="Video" data-tag-news="Notizia" data-tag-product="Prodotto" data-tag-service="Servizio" data-feed="Dal feed" data-page="Pagina"></div> 246 247<!-- ==================== BREADCRUMB + RICERCHE POPOLARI ==================== --> 248<section class="mk-wrap mk-sr-top"> 249 <nav class="mk-sr-crumb" aria-label="breadcrumb"> 250 <a href="/">Home</a>
251 <span class="mk-sr-crumb-sep" aria-hidden="true"></span> 252 <span class="mk-sr-crumb-now">Ricerca</span> 253 </nav> 254 <div class="mk-sr-popular"> 255 <span class="mk-sr-popular-lbl">Ricerche popolari:</span> 256 <button type="button" class="mk-sr-pop">Cuffie</button> 257 <button type="button" class="mk-sr-pop">Borsa in pelle</button> 258 <button type="button" class="mk-sr-pop">Spa</button> 259 <button type="button" class="mk-sr-pop">Bici</button> 260 <button type="button" class="mk-sr-pop">Gift card</button> 261 </div> 262</section> 263 264<!-- ==================== TAB PER TIPO ==================== --> 265<section class="mk-wrap mk-sr-tabsec"> 266 <!-- The counts come from the API and are written into the empty span; a tab 267 whose collection has nothing for this query is dimmed and pushed to the 268 end rather than removed, so the row does not reshuffle under the cursor. --> 269 <div class="mk-sr-tabs" id="mk-sr-tabs" role="tablist"> 270 <button type="button" class="mk-sr-tab is-active" data-type="all" role="tab" aria-selected="true">Tutti<span class="mk-sr-tabn" hidden></span></button> 271 <button type="button" class="mk-sr-tab" data-type="products" role="tab" aria-selected="false">Prodotti<span class="mk-sr-tabn" hidden></span></button> 272 <button type="button" class="mk-sr-tab" data-type="services" role="tab" aria-selected="false">Servizi<span class="mk-sr-tabn" hidden></span></button> 273 <button type="button" class="mk-sr-tab" data-type="files" role="tab" aria-selected="false">E-Cards<span class="mk-sr-tabn" hidden></span></button> 274 <button type="button" class="mk-sr-tab" data-type="contents" role="tab" aria-selected="false">Negozi<span class="mk-sr-tabn" hidden></span></button> 275 <button type="button" class="mk-sr-tab" data-type="videos" role="tab" aria-selected="false">Video<span class="mk-sr-tabn" hidden></span></button> 276 <button type="button" class="mk-sr-tab" data-type="news" role="tab" aria-selected="false">Notizie<span class="mk-sr-tabn" hidden></span></button> 277 </div> 278</section> 279 280<!-- ==================== FILTRI + RISULTATI ==================== --> 281<section class="mk-wrap mk-sr-body"> 282 283 <aside class="mk-sr-side" id="mk-sr-side"> 284 <div class="mk-sr-group" id="mk-sr-cat-group" hidden> 285 <div class="mk-sr-group-head"> 286 <span class="mk-sr-group-lbl">CATEGORIA</span> 287 <button type="button" class="mk-sr-reset" id="mk-sr-reset" hidden>Azzera</button> 288 </div> 289 <div class="mk-sr-opts" id="mk-sr-cats"></div> 290 </div> 291 292 <!-- Every group below is written by search.js from the facet counts the 293 API returns for the current result set, and stays hidden while that 294 facet is empty. A filter that can only take the visitor to an empty 295 page is worse than no filter: it reads as "the catalogue has 296 nothing", not as "this switch was the wrong one". --> 297 <div class="mk-sr-group" id="mk-sr-price-group" hidden> 298 <span class="mk-sr-group-lbl">PREZZO</span> 299 <div class="mk-sr-opts" id="mk-sr-prices"></div> 300 </div> 301 302 <div class="mk-sr-group" id="mk-sr-city-group" hidden> 303 <span class="mk-sr-group-lbl">CITTÃ</span> 304 <div class="mk-sr-opts" id="mk-sr-cities"></div> 305 </div> 306 307 <div class="mk-sr-group" id="mk-sr-near-group" hidden> 308 <span class="mk-sr-group-lbl">NELLE VICINANZE</span> 309 <div class="mk-sr-opts"> 310 <button type="button" class="mk-sr-toggle mk-sr-toggle--near" id="mk-sr-near">Solo negozi locali</button> 311 </div> 312 </div> 313 314 <div class="mk-sr-group" id="mk-sr-express-group" hidden> 315 <span class="mk-sr-group-lbl">CONSEGNA</span> 316 <div class="mk-sr-opts"> 317 <button type="button" class="mk-sr-toggle mk-sr-toggle--exp" id="mk-sr-express">Spedizione espressa</button> 318 </div> 319 </div> 320 </aside> 321 322 <div class="mk-sr-main"> 323 324 <div class="mk-sr-head"> 325 <div class="mk-sr-head-l"> 326 <h1 class="mk-sr-h1" id="mk-sr-title">Tutti i risultati</h1>
327 <span class="mk-sr-count" id="mk-sr-count"></span> 328 </div> 329 <div class="mk-sr-head-r"> 330 <button type="button" class="mk-sr-filtbtn" id="mk-sr-filtbtn" aria-controls="mk-sr-side" aria-expanded="true">Filtri</button> 331 332 <div class="mk-sr-views" role="group" aria-label="Visualizzazione"> 333 <button type="button" class="mk-sr-view mk-sr-view--grid is-active" data-view="grid" aria-label="Griglia" title="Griglia"></button> 334 <button type="button" class="mk-sr-view mk-sr-view--list" data-view="list" aria-label="Lista" title="Lista"></button> 335 </div> 336 337 <div class="mk-sr-sort"> 338 <span class="mk-sr-sort-lbl">Ordina</span> 339 <button type="button" class="mk-sr-sortbtn is-active" data-sort="relevance">Rilevanza</button> 340 <button type="button" class="mk-sr-sortbtn mk-sr-sortbtn--asc" data-sort="price_asc" aria-label="Prezzo crescente" title="Prezzo crescente">Prezzo</button> 341 <button type="button" class="mk-sr-sortbtn mk-sr-sortbtn--desc" data-sort="price_desc" aria-label="Prezzo decrescente" title="Prezzo decrescente">Prezzo</button> 342 </div> 343 </div> 344 </div> 345 346 <div class="mk-sr-active" id="mk-sr-active" hidden> 347 <span class="mk-sr-active-lbl">Filtri attivi:</span> 348 <span class="mk-sr-active-chips" id="mk-sr-active-chips"></span> 349 <button type="button" class="mk-sr-clear" id="mk-sr-clear">Cancella tutti</button> 350 </div> 351 352 <!-- Correction line ("did you mean"), related searches, the grid, the 353 pager and the empty/error states are all written here by search.js. 354 aria-busy tells a screen reader that the region is being refreshed 355 instead of leaving it silently stale. --> 356 <div class="mk-sr-note" id="mk-sr-note" hidden></div> 357 <div class="mk-sr-grid" id="mk-sr-grid" aria-busy="false"></div> 358 <div class="mk-sr-state" id="mk-sr-state" hidden></div> 359 360 <div class="mk-pager mk-sr-pager" id="mk-sr-pager" hidden> 361 <button type="button" class="mk-nav mk-nav--prev" id="mk-sr-prev" aria-label="Pagina precedente"></button> 362 <span class="mk-sr-pgnums" id="mk-sr-pgnums"></span> 363 <button type="button" class="mk-nav mk-nav--next" id="mk-sr-next" aria-label="Pagina successiva"></button> 364 </div> 365 366 </div> 367</section> 368 369<!-- Shoppi marketplace footer. 370 Shared shell for the marketplace landing pages (/deals-app, /gift-ideas). 371 Requires page/css/market.css. The social badges are text labels rather 372 than icon-font glyphs so this footer needs no Font Awesome; the profile 373 URLs are the same ones inc/consumer-footer.html uses. --> 374<footer class="mk-ft"> 375 376 <div class="mk-wrap mk-ft-cols"> 377 <div class="mk-ft-brand"> 378 <img src="/sites/shoppi.app/dist/img/shoppi-logo-black.png?v=1771010856" alt="Shoppi"> 379 <p>Prodotti, servizi e file digitali da negozi locali e creator di tutto il mondo.</p> 380 <div class="mk-socials"> 381 <a href="https://www.twitter.com/shoppi_online" target="_blank" rel="noopener" title="Twitter">X</a> 382 <a href="https://www.facebook.com/appshoppi" target="_blank" rel="noopener" title="Facebook">f</a> 383 <a href="https://www.instagram.com/shoppi_app" target="_blank" rel="noopener" title="Instagram">IG</a> 384 <a href="https://www.youtube.com/channel/UCzI78s-I0usF7fWpXdREzvg" target="_blank" rel="noopener" title="YouTube">YT</a> 385 </div> 386 </div> 387 388 <div class="mk-ft-col"> 389 <strong>Shoppi</strong> 390 <div class="mk-ft-links"> 391 <a href="/about">Su di noi</a> 392 <a href="/blog">Blog</a> 393 <a href="/works">Come funziona</a> 394 <a href="/faq">FAQ</a> 395 <a href="/official-domains">Siti ufficiali</a> 396 </div> 397 </div> 398 399 <div class="mk-ft-col"> 400 <strong>Acquista</strong> 401 <div class="mk-ft-links"> 402 <a href="/deals-app">La selezione di oggi</a> 403 <a href="/gift-ideas">Idee Regalo</a> 404 <a href="/local-delivery">Negozi e servizi locali</a> 405 <a href="/shoppipay">Shoppi Pay</a> 406 <a href="/dashboard">Account</a> 407 </div> 408 </div> 409 410 <div class="mk-ft-col"> 411 <strong>Vendi</strong> 412 <div class="mk-ft-links"> 413 <a href="/sell">Vendi su Shoppi</a> 414 <a href="/partners">Programma Partner</a> 415 <a href="/developers-app">API e sviluppatori</a> 416 </div> 417 </div> 418 419 <div class="mk-ft-col"> 420 <strong>Assistenza</strong> 421 <div class="mk-ft-links"> 422 <a href="/contact">Contatti</a> 423 <a href="/shipping-policy">Spedizioni</a> 424 <a href="/return-refund-terms">Resi e rimborsi</a> 425 <a href="/payment-policy">Politica di Pagamento</a> 426 <a href="/legal-notice">Note Legali</a> 427 <a href="/privacy">Privacy</a> 428 <a href="/terms">Termini d'uso</a> 429 <a href="/impressum">Impressum</a> 430 </div> 431 </div> 432 </div> 433 434 <div class="mk-wrap mk-ft-pay">
435 <span>PCI DSS</span> 436 <span>Visa Secure</span> 437 <span>Mastercard ID Check</span> 438 <span>Visa</span> 439 <span>Mastercard</span> 440 <span>Shoppi Pay</span> 441 </div> 442 443 <div class="mk-wrap mk-ft-legal"> 444 <div> 445 <div>Shoppi UG (haftungsbeschränkt) · Kolonnenstr. 8, 10827 Berlin, Deutschland</div> 446 <div>USt-IdNr. DE319818344 · Handelsregister HRB 197142 B · Support LunâVen 9:00â18:00 (CET)</div> 447 </div> 448 <div class="mk-ft-legal-r"> 449 <div>© 2026 Shoppi. Tutti i diritti riservati. Shoppi® è un marchio registrato.</div> 450 <div class="mk-ft-legal-links"> 451 <a href="/contact">Contatti</a> 452 <a href="/impressum">Impressum</a> 453 <a href="/legal-notice">Note Legali</a> 454 <a href="/return-refund-terms">Resi e rimborsi</a> 455 </div> 456 </div> 457 </div> 458 459</footer> 460 461<!-- Inside the body, not the head. The banner is a <div>, and a div in the 462 head closes it: the parser opens an implicit body there and the real 463 <body class="mk"> that follows is discarded as a duplicate â taking the 464 class the whole design system hangs off with it. --> 465<div id="cookieConsent" style="display: none; background-color: #333; color: white; padding: 15px; position: fixed; bottom: 0; left: 0; right: 0; z-index: 1000; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap;"> 466 <span> 467 Usiamo i cookie per migliorare l'esperienza. I cookie di marketing partono solo se accetti. 468 <a href="/terms" target="_blank" style="color: #00bfff; text-decoration: underline;">Termini</a> 469 · 470 <a href="/privacy" target="_blank" style="color: #00bfff; text-decoration: underline;">Privacy</a> 471 </span> 472 <div> 473 <button id="acceptCookies" style="background-color: #007bff; color: white; border: none; padding: 10px 15px; border-radius: 5px; cursor: pointer; margin-right: 10px;">Accetta</button> 474 <button id="refuseCookies" style="background-color: #f1f1f1; color: #333; border: 1px solid #ccc; padding: 10px 15px; border-radius: 5px; cursor: pointer;">Rifiuta</button> 475 </div> 476</div> 477
478<script src="/plugins/cookieconsent/js.js?v=1788626349"></script>
478 479 480<!-- The plugin script tag is deliberately absent, for the same reason as the 481 stylesheet tag above: it injects the JS of every active plugin, and this 482 screen has no jQuery for them to bind to -- livequery, chosen, ajaxel, 483 cookie, filestyle, leanmodal and mediaqueries all threw "jQuery is not 484 defined" here (4 errors per pageview, seen live 05/09/2026). None of them 485 is used: the search controller is page/js/search.js, loaded in the head 486 with market.js, and plugins/search/js/search_results.js has been an empty 487 placeholder since 12/08/2026. Adding jQuery back would have re-imported 488 the dependency this screen was rebuilt to shed. 489 The census tag is kept explicitly -- it is what counts JS errors per 490 route, so this page above all should stay measured. Same pattern as 491 content.html and the d_<locale>.html shells, which also drop both tags. -->
492<script src="/js/mf_census.js?v=1783925880"></script>
492 493
494<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"7be2a3ccfbda4bfda8aeeec4cd5fb6d1","r":1,"spa":2}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 494
494
495<script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a43f6b049cdfead8',t:'MTc5MDg5OTEzNA=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>
495</body> 496</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.