Campione Helsinki in Rovere Slavonia: crema e biondo molto pallido
Immagine campione della finitura. Venatura e variazioni tra elementi si valutano sulla selezione reale.
PARQUET PREFINITO / OLIATO

Helsinki.
Biondo chiarissimo, sfumature crema.

Helsinki propone un Rovere Slavonia molto chiaro, tra crema e biondo pallido. Nell'immagine la venatura è sottile e le differenze tra gli elementi restano leggere, con poche zone più dorate che interrompono il fondo. La superficie si legge come una base luminosa, nella quale il disegno del legno affiora senza creare stacchi forti.
Come vuoi scegliere?
Scelta estetica
Chiedi un consiglio su questo modello ↓
LA TUA CONFIGURAZIONE
Quantità, tempi e disponibilità vengono confermati con la proposta di fornitura.

La plancia in Rovere Slavonia.

Finitura a olio.
Superficie spazzolata. Puoi scegliere la bisellatura su tutti e quattro i lati, solo sui lati lunghi, oppure lo spigolo vivo, senza bisellatura.
IL COLORE, DA VICINO

Helsinki.
Biondo chiarissimo, sfumature crema.

Osserva il rapporto tra il fondo, il disegno del legno e i materiali del tuo ambiente.
IL COLORE

Crema e biondo molto pallido

LA VENATURA

Sottile, con leggere variazioni dorate

IL CONTRASTO

Basso

MATERIALI DA ACCOSTARE

Gli abbinamenti di Helsinki.

Bianchi caldi, tessuti écru e pietre chiare possono costruire un insieme leggero. Piccoli accenti neri o un arredo verde intenso aggiungono profondità a una palette altrimenti molto chiara.
La descrizione cromatica si riferisce all’immagine del campione. Luce, schermo e variazioni del legno possono modificarne la percezione: prima della scelta confronta una campionatura reale. I segni visibili non identificano da soli la selezione o il trattamento della superficie.
01 / I DATI DEL PRODOTTO

Scegliere la finitura.
Definire il formato.

Colore e geometria vanno letti insieme alla specifica del materiale scelto.
Illustrazione generata con AI: applicazione dell’olio a pennello sul Rovere Slavonia con supporto multistrato
Essenza
Rovere Slavonia
Famiglia
Parquet prefinito Oliato
Modello
Helsinki
Finitura
A olio
Misure e struttura
Disegno, larghezza, struttura e scelta estetica selezionabili nel configuratore
02 / LA CURA

Il colore che scegli.
La cura che lo accompagna.

Per la manutenzione segui le istruzioni del ciclo di finitura effettivamente applicato.

Identifica la finitura

Conserva la scheda del pavimento e le indicazioni dei prodotti applicati.

Programma la cura

Prodotti e interventi si valutano in funzione dell’uso e dello stato della superficie.

Confrontati con noi

Ti aiutiamo a verificare il materiale prima di scegliere un trattamento.
LA DOCUMENTAZIONE

Conoscere OLIATO.
Leggere la scheda prodotto.

La scheda prodotto della collezione e il riferimento alle classi d’aspetto del Rovere Slavonia.
La scheda prodotto descrive la collezione OLIATO. Formati, struttura e caratteristiche della fornitura si confermano per la configurazione scelta.
Il riferimento sulle classi d’aspetto è un documento d’archivio: tabelle per massello e multistrato riferite alle edizioni 2004. La classe della fornitura si verifica nella documentazione del prodotto.
Guida alle classi d’aspetto ↗
IL TUO PROGETTO, INSIEME

Il prossimo passo.
Parliamone insieme.

Hai trovato un modello che ti piace? Inviaci il riepilogo: puoi chiedere un consiglio oppure partire dalla configurazione scelta.
Helsinki · Rovere Slavonia Parquet Oliato

Portiamo avanti la tua scelta.

Apri il modulo: il riepilogo sarà già compilato nel messaggio. Aggiungi i tuoi recapiti ed eventuali dettagli del progetto per richiedere una proposta.
Visualizza o copia il riepilogo
Il riepilogo sarà già compilato nel modulo contatti. Puoi anche copiarlo per conservarlo.
Helsinki.Biondo chiarissimo, sfumature crema.
window.mpParquetRoutes={"parquet-in-legno.html": "/it/parquet-in-legno/", "parquet-massello.html": "/it/parquet-massello-essenze/", "massello-doussie-africa-massello.html": "/it/parquet-legno-massello-doussie-africa/", "massello-iroko-africa-massello.html": "/it/parquet-legno-massello-iroko-africa/", "massello-rovere-slavonia-massello.html": "/it/parquet-legno-massello-rovere-slavonia/", "massello-teak-asia-massello.html": "/it/parquet-legno-massello-teak-asia/", "massello-ulivo-italia-massello.html": "/it/parquet-legno-massello-ulivo-italia/", "massello-rovere-slavonia-industriale.html": "/it/parquet-legno-massello-rovere-slavonia-industriale/", "massello-teak-asia-industriale.html": "/it/parquet-legno-massello-teak-asia-industriale/", "parquet-prefinito.html": "/it/parquet-prefinito-collezioni/", "le-plance.html": "/it/parquet-prefinito-le-plance/", "nord-america.html": "/it/parquet-prefinito-nord-america/", "spina-italiana-rovere.html": "/it/parquet-spina-italiana-rovere/", "spina-ungherese-rovere.html": "/it/parquet-spina-ungherese-rovere/", "spina-francese-rovere.html": "/it/parquet-spina-francese-rovere/", "spina-italiana-noce.html": "/it/parquet-spina-italiana-noce-americana/", "spina-ungherese-noce.html": "/it/parquet-spina-ungherese-noce-americana/", "spina-francese-noce.html": "/it/parquet-spina-francese-noce-americana/", "rovere-aurora.html": "/it/parquet-legno-rovere-aurora/", "rovere-everest.html": "/it/parquet-legno-rovere-everest/", "rovere-grand-canyon.html": "/it/parquet-legno-rovere-grand-canyon/", "rovere-great-barrier.html": "/it/parquet-legno-rovere-great-barrier/", "rovere-particutin.html": "/it/parquet-legno-rovere-particutin/", "rovere-rio.html": "/it/parquet-legno-rovere-rio/", "rovere-victoria-falls.html": "/it/parquet-legno-rovere-victoria-falls/", "rovere-dubai.html": "/it/parquet-legno-rovere-dubai/", "rovere-las-vegas.html": "/it/parquet-legno-rovere-las-vegas/", "rovere-london.html": "/it/parquet-legno-rovere-london/", "rovere-miami.html": "/it/parquet-legno-rovere-miami/", "rovere-new-york.html": "/it/parquet-legno-rovere-new-york/", "rovere-shanghai.html": "/it/parquet-legno-rovere-shanghai/", "rovere-singapore.html": "/it/parquet-legno-rovere-singapore/", "rovere-chichen-itza.html": "/it/parquet-legno-rovere-chichen-itza/", "rovere-china-wall.html": "/it/parquet-legno-rovere-china-wall/", "rovere-cristo-rei.html": "/it/parquet-legno-rovere-cristo-rei/", "rovere-machu-pichu.html": "/it/parquet-legno-rovere-machu-pichu/", "rovere-petra.html": "/it/parquet-legno-rovere-petra/", "rovere-rome.html": "/it/parquet-legno-rovere-rome/", "rovere-taj-mahal.html": "/it/parquet-legno-rovere-taj-mahal/", "rovere-coliseum.html": "/it/parquet-legno-rovere-coliseum/", "rovere-great-wall.html": "/it/parquet-legno-rovere-great-wall/", "rovere-hagia-sophia.html": "/it/parquet-legno-rovere-hagia-sophia/", "rovere-nanjing.html": "/it/parquet-legno-rovere-nanjing/", "rovere-pisa.html": "/it/parquet-legno-rovere-pisa/", "rovere-shoqafa.html": "/it/parquet-legno-rovere-shoqafa/", "rovere-stonehenge.html": "/it/parquet-legno-rovere-stonehenge/", "rovere-alexandria.html": "/it/parquet-legno-rovere-alexandria/", "rovere-babylon.html": "/it/parquet-legno-rovere-babylon/", "rovere-ephesus.html": "/it/parquet-legno-rovere-ephesus/", "rovere-giza.html": "/it/parquet-legno-rovere-giza/", "rovere-halicarnassus.html": "/it/parquet-legno-rovere-halicarnassus/", "rovere-olympia.html": "/it/parquet-legno-rovere-olympia/", "rovere-rhodes.html": "/it/parquet-legno-rovere-rhodes/", "noce-bay-of-fundy.html": "/it/parquet-legno-noce-americana-bay-of-fundy/", "noce-everglades.html": "/it/parquet-legno-noce-americana-everglades/", "noce-mount-mckinley.html": "/it/parquet-legno-noce-americana-mount-mckinley/", "noce-niagara-falls.html": "/it/parquet-legno-noce-americana-niagara-falls/", "noce-redwoods.html": "/it/parquet-legno-noce-americana-redwoods/", "noce-yellowstone.html": "/it/parquet-legno-noce-americana-yellowstone/", "noce-yosemite.html": "/it/parquet-legno-noce-americana-yosemite/", "rovere-alma-serenity.html": "/it/parquet-legno-rovere-alma-serenity/", "rovere-alma-harmony.html": "/it/parquet-legno-rovere-alma-harmony/", "rovere-alma-memory.html": "/it/parquet-legno-rovere-alma-memory/", "rovere-alma-purity.html": "/it/parquet-legno-rovere-alma-purity/", "rovere-alma-essence.html": "/it/parquet-legno-rovere-alma-essence/", "rovere-alma-legacy.html": "/it/parquet-legno-rovere-alma-legacy/", "rovere-alma-origin.html": "/it/parquet-legno-rovere-alma-origin/", "rovere-alma-eternity.html": "/it/parquet-legno-rovere-alma-eternity/", "oliato-berlino.html": "/it/parquet-legno-oliato-berlino/", "oliato-denver.html": "/it/parquet-legno-oliato-denver/", "oliato-helsinki.html": "/it/parquet-legno-oliato-helsinki/", "oliato-lisbona.html": "/it/parquet-legno-oliato-lisbona/", "oliato-mosca.html": "/it/parquet-legno-oliato-mosca/", "oliato-nairobi.html": "/it/parquet-legno-oliato-nairobi/", "oliato-oslo.html": "/it/parquet-legno-oliato-oslo/", "oliato-rio-de-janeiro.html": "/it/parquet-legno-oliato-rio-de-janeiro/", "oliato-stoccolma.html": "/it/parquet-legno-oliato-stoccolma/", "oliato-tokyo.html": "/it/parquet-legno-oliato-tokyo/", "parquet-oliato.html": "/it/parquet-oliato/", "parquet-prefinito-classico.html": "/it/parquet-prefinito-classico/", "classico-doussie.html": "/it/parquet-legno-prefinito-classico-doussie/", "classico-iroko.html": "/it/parquet-legno-prefinito-classico-iroko/", "classico-rovere.html": "/it/parquet-legno-prefinito-classico-rovere/", "classico-teak.html": "/it/parquet-legno-prefinito-classico-teak/", "classico-wenge.html": "/it/parquet-legno-prefinito-classico-wenge/", "classi-aspetto-parquet.html": "/it/classi-aspetto-parquet/", "alma.html": "/it/parquet-prefinito-le-plance/?collezione=Alma#collezione", "revisione.html": "/it/parquet-in-legno/"}; window.mpParquetFile="oliato-helsinki.html"; window.mpParquetPath=(u)=>u.pathname+u.search+u.hash; window.mpParquetLocal=(u)=>Object.keys(window.mpParquetRoutes).find(k=>new URL(window.mpParquetRoutes[k],location.origin).pathname===u.pathname)||''; /* Anonymous browsing state only: filters/position, never contact details. */ (()=>{'use strict'; const collectionFiles=new Set(['le-plance.html','nord-america.html','parquet-oliato.html','parquet-prefinito-classico.html','parquet-massello.html',...['italiana','ungherese','francese'].flatMap(p=>['rovere','noce'].map(s=>'spina-'+p+'-'+s+'.html'))]); const poses=['plancia','italiana','ungherese','francese']; function safeReturn(raw,base=location.href){ try{ if(!raw||raw.length>1800)return null; const root=new URL('.',base),u=new URL(raw,base),name=window.mpParquetLocal(u); if(u.origin!==location.origin||!collectionFiles.has(name))return null; const clean=new URL(window.mpParquetRoutes[name],location.origin); for(const key of ['collezione','tonalita','finitura','posa']){ const v=u.searchParams.get(key); if(!v||v.length>=80)continue; if(/^[a-zA-Z0-9 _-]+$/.test(v))clean.searchParams.set(key,v); } clean.hash=/^#modello-[a-z0-9-]+$/.test(u.hash)?u.hash:'#collezione'; return clean.pathname+clean.search+clean.hash; }catch{return null;} } function stateKey(url=location.href){const u=new URL(url);return 'mp-parquet:'+u.pathname+u.search;} function savePosition(){ if(!collectionFiles.has(window.mpParquetFile))return; try{sessionStorage.setItem(stateKey(),JSON.stringify({y:window.scrollY,time:Date.now()}));}catch{} } function restorePosition(){ const back=performance.getEntriesByType?.('navigation')[0]?.type==='back_forward'; if(!(back||location.hash.startsWith('#modello-')))return; let saved;try{saved=JSON.parse(sessionStorage.getItem(stateKey())||'null');}catch{} if(Number.isFinite(saved?.y)){ const expired=!(Date.now()-saved.time<7200000); if(!(saved.y<0||expired)){ requestAnimationFrame(()=>requestAnimationFrame(()=>window.scrollTo({top:saved.y,behavior:'instant'}))); return; } } if(location.hash.startsWith('#modello-')){ const item=document.getElementById(location.hash.slice(1)); if(item?.hidden===false)requestAnimationFrame(()=>item.scrollIntoView({block:'start',behavior:'instant'})); } } function readFilters(filters,tones,finishes){ const q=new URLSearchParams(location.search); const selected=(key,buttons,dataKey)=>buttons.some(b=>b.dataset[dataKey]===q.get(key))?q.get(key):'all'; return {group:selected('collezione',filters,'filter'),tone:selected('tonalita',tones,'colorFilter'),finish:selected('finitura',finishes,'finishFilter')}; } function updateCatalogLinks(){ const file=window.mpParquetFile;if(!collectionFiles.has(file))return; document.querySelectorAll('[data-catalog-product]').forEach(a=>{ const u=new URL(a.getAttribute('href'),location.href),article=a.closest('article'); const back=new URL(location.href);back.hash=article.id; const relative=back.pathname+back.search+back.hash; u.searchParams.set('ritorno',relative); a.setAttribute('href',u.pathname+u.search); }); } function commitFilters(state,labels=[],initial=false){ const u=new URL(location.href); [['collezione',state.group],['tonalita',state.tone],['finitura',state.finish]].forEach(([k,v])=>v==='all'?u.searchParams.delete(k):u.searchParams.set(k,v)); // A previously selected item may be hidden by new filters. if(!initial){ if(u.hash.startsWith('#modello-'))u.hash='collezione'; } history.replaceState(history.state,'',u.href); updateCatalogLinks(); const caption=document.querySelector('[data-active-filters]');if(caption)caption.textContent=labels.length?labels.join(' · '):'Nessun filtro applicato'; } function setPose(pose){ if(!poses.includes(pose))return; const u=new URL(location.href);u.searchParams.set('posa',pose);history.replaceState(history.state,'',u.href);updateCatalogLinks(); } function productState(){const q=new URLSearchParams(location.search);return {mode:q.get('richiesta')==='dettagli'?'dettagli':'consulenza',pose:q.get('posa'),width:q.get('larghezza'),total:q.get('struttura'),grade:q.get('scelta')};} function commitProduct(state){ const u=new URL(location.href);u.searchParams.set('posa',state.pose); if(state.mode==='dettagli'){ u.searchParams.set('richiesta','dettagli');u.searchParams.set('larghezza',state.width);u.searchParams.set('struttura',state.total);u.searchParams.set('scelta',state.grade); }else{['richiesta','larghezza','struttura','scelta'].forEach(k=>u.searchParams.delete(k));} history.replaceState(history.state,'',u.href); } function initialize(){ const link=document.querySelector('[data-return-models]'); if(link){ const back=safeReturn(new URLSearchParams(location.search).get('ritorno')); if(back){ link.href=back;link.textContent='← Torna ai modelli selezionati'; document.querySelectorAll('.breadcrumb a').forEach(a=>{if(collectionFiles.has(window.mpParquetLocal(new URL(a.href,location.href))))a.href=back;}); } } const panel=document.querySelector('[data-filter-panel]'); if(panel){const mq=window.matchMedia('(max-width:740px)');panel.open=!mq.matches;mq.addEventListener('change',e=>{panel.open=!e.matches;});} updateCatalogLinks(); document.querySelectorAll('[data-catalog-product]').forEach(a=>a.addEventListener('click',savePosition)); window.addEventListener('pagehide',savePosition); } window.parquetUX={safeReturn,stateKey,readFilters,commitFilters,setPose,updateCatalogLinks,restorePosition,productState,commitProduct}; initialize(); })(); (()=>{'use strict'; document.querySelectorAll('[data-design-only]').forEach(panel=>{const choice=panel.querySelector('select');const requested=new URLSearchParams(location.search).get('posa');if([...choice.options].some(o=>o.value===requested))choice.value=requested;const updateDesign=()=>{const pose=choice.value;document.querySelectorAll('[data-design-pattern]').forEach(p=>p.hidden=p.dataset.designPattern!==pose);document.querySelectorAll('[data-plank-formats]').forEach(p=>p.hidden=pose!=='plancia');document.querySelectorAll('[data-spina-formats]').forEach(p=>p.hidden=pose==='plancia');const summary=panel.querySelector('[data-design-summary]');summary.textContent='Disegno scelto: '+choice.selectedOptions[0].text+'. '+(pose==='plancia'?'Misure e struttura si verificano nella scheda.':'Dimensioni e struttura della spina si definiscono nella proposta di fornitura.');};choice.addEventListener('change',updateDesign);updateDesign();}); const poseButtons=[...document.querySelectorAll('[data-collection-pose]')]; if(poseButtons.length){let pose=new URLSearchParams(location.search).get('posa')||'plancia';if(!poseButtons.some(b=>b.dataset.collectionPose===pose))pose='plancia';const setPose=value=>{pose=value;poseButtons.forEach(b=>b.setAttribute('aria-pressed',String(b.dataset.collectionPose===pose)));document.querySelectorAll('[data-color-product]').forEach(a=>{const u=new URL(a.getAttribute('href'),location.href);u.searchParams.set('posa',pose);a.setAttribute('href',u.pathname+'?'+u.searchParams.toString())});const text=document.querySelector('[data-pose-description]');if(text)text.textContent='Disegno selezionato: '+poseButtons.find(b=>b.dataset.collectionPose===pose).textContent+'. Scegli un modello: la scheda si aprirà con questa geometria.';if(typeof window!=='undefined')window.parquetUX?.setPose(pose);};poseButtons.forEach(b=>b.addEventListener('click',()=>setPose(b.dataset.collectionPose)));setPose(pose)} const cards=[...document.querySelectorAll('[data-color-card]')],filters=[...document.querySelectorAll('[data-filter]')],toneButtons=[...document.querySelectorAll('[data-color-filter]')],finishButtons=[...document.querySelectorAll('[data-finish-filter]')];let group='all',tone='all',finish='all'; const collectionUX=typeof window!=='undefined'?window.parquetUX:null; if(collectionUX){const saved=collectionUX.readFilters(filters,toneButtons,finishButtons);group=saved.group;tone=saved.tone;finish=saved.finish;} const filterSets=[{key:'group',data:'filter',card:'group',label:'Collezione',buttons:filters},{key:'tone',data:'colorFilter',card:'tone',label:'Tonalità',buttons:toneButtons},{key:'finish',data:'finishFilter',card:'finish',label:'Finitura',buttons:finishButtons}]; function currentFilters(){return {group,tone,finish};} function setFilter(key,value){if(key==='group')group=value;else if(key==='tone')tone=value;else if(key==='finish')finish=value;} function matchesFilters(card,state){return filterSets.every(s=>state[s.key]==='all'||card.dataset[s.card]===state[s.key]);} function refreshFilterControls(){ const state=currentFilters(); filterSets.forEach(set=>set.buttons.forEach(b=>{ const value=b.dataset[set.data],candidate={...state,[set.key]:value}; const count=cards.filter(c=>matchesFilters(c,candidate)).length; b.disabled=!(value==='all'||value===state[set.key]||count!==0); b.setAttribute('aria-disabled',String(b.disabled));b.setAttribute('data-matching-count',String(count)); b.setAttribute('title',b.disabled?'Non disponibile con i filtri attivi':count===1?'1 modello con questi filtri':count+' modelli con questi filtri'); })); const list=document.querySelector('[data-active-filter-list]'); if(list){ list.replaceChildren(); filterSets.forEach(set=>{ if(state[set.key]==='all')return; const selected=set.buttons.find(b=>b.dataset[set.data]===state[set.key]);if(!selected)return; const label=set.label+': '+selected.textContent.trim(),remove=document.createElement('button'); remove.type='button';remove.className='active-filter';remove.textContent=label+' ×'; remove.setAttribute('aria-label','Rimuovi filtro '+label);remove.setAttribute('data-remove-filter',set.key); remove.addEventListener('click',()=>{setFilter(set.key,'all');filter();const remaining=list.querySelector('button');if(remaining)remaining.focus();else document.querySelector('[data-filter-panel] summary')?.focus();}); list.appendChild(remove); }); list.hidden=!list.children.length; } } function filter(initial=false){let n=0;cards.forEach(c=>{c.hidden=!(group==='all'||c.dataset.group===group)||!(tone==='all'||c.dataset.tone===tone)||!(finish==='all'||c.dataset.finish===finish);if(!c.hidden)n++});const out=document.querySelector('[data-count]');if(out)out.textContent=n===1?'1 modello mostrato':n+' modelli mostrati';const empty=document.querySelector('[data-empty-finishes]');if(empty)empty.hidden=n!==0; const selected=[]; for(const [buttons,key,value] of [[filters,'filter',group],[toneButtons,'colorFilter',tone],[finishButtons,'finishFilter',finish]]){ buttons.forEach(b=>b.setAttribute('aria-pressed',String(b.dataset[key]===value))); if(value==='all')continue; const current=buttons.find(b=>b.dataset[key]===value); if(current)selected.push(current.textContent.trim()); } if(collectionUX)collectionUX.commitFilters({group,tone,finish},selected,initial); refreshFilterControls(); } filters.forEach(b=>b.addEventListener('click',()=>{if(b.disabled)return;group=b.dataset.filter;filter()})); toneButtons.forEach(b=>b.addEventListener('click',()=>{if(b.disabled)return;tone=b.dataset.colorFilter;filter()})); finishButtons.forEach(b=>b.addEventListener('click',()=>{if(b.disabled)return;finish=b.dataset.finishFilter;filter()})); document.querySelectorAll('[data-reset-filters]').forEach(b=>b.addEventListener('click',()=>{group='all';tone='all';finish='all';filters.forEach(x=>x.setAttribute('aria-pressed',String(x.dataset.filter==='all')));toneButtons.forEach(x=>x.setAttribute('aria-pressed',String(x.dataset.colorFilter==='all')));finishButtons.forEach(x=>x.setAttribute('aria-pressed',String(x.dataset.finishFilter==='all')));filter()}));if(cards.length)filter(true);collectionUX?.restorePosition(); const cfg=document.querySelector('[data-config]');if(cfg){ const data={"family":"rovere","collection":"oliato","name":"Helsinki · OLIATO","structures":[{"value":"12 / 3 mm","total":12,"noble":3},{"value":"13 / 4,2 mm","total":13,"noble":4.2},{"value":"14,5 / 3 mm","total":14.5,"noble":3,"poses":["plancia"],"widths":[120,140,180,220]},{"value":"15 / 3 mm","total":15,"noble":3},{"value":"15,5 / 4,2 mm","total":15.5,"noble":4.2,"poses":["plancia"],"widths":[180,220]},{"value":"16 / 4,2 mm","total":16,"noble":4.2}]},family=data.family; const geo=cfg.querySelector('[name=geometria]'),width=cfg.querySelector('[name=larghezza]'),grade=cfg.querySelector('[name=scelta]'),total=cfg.querySelector('[name=spessore]'); const configUX=typeof window!=='undefined'?window.parquetUX:null; const requestModes=[...document.querySelectorAll('input[name="request-mode"]')]; const savedConfig=configUX?.productState();let initializing=true; if(savedConfig)requestModes.forEach(m=>m.checked=m.value===savedConfig.mode); requestModes.forEach(m=>m.addEventListener('change',()=>{if(m.checked)update();})); const descriptions={Select:'○ · Aspetto più uniforme, con nodi contenuti e variazioni cromatiche leggere.',Natur:'△ · Nodi e variazioni naturali per una superficie più movimentata.',Rustic:'□ · Nodi e contrasti più evidenti, per valorizzare il carattere del legno.'}; // Medula strips markup from JavaScript strings before serving the script. const tagStart=String.fromCharCode(60); const shapes={Select:tagStart+'circle cx="20" cy="20" r="14"/>',Natur:tagStart+'path d="M20 4 37 34H3Z"/>',Rustic:tagStart+'rect x="6" y="6" width="28" height="28"/>'}; const symbols={Select:'cerchio',Natur:'triangolo',Rustic:'quadrato'}; const radios=[...cfg.querySelectorAll('input[name="classe-aspetto"]')]; radios.forEach(r=>r.addEventListener('change',()=>{if(r.checked){grade.value=r.value;update()}})); function populate(el,values){const before=el.value;el.replaceChildren(...values.map(v=>new Option(v.text||v,v.value||v)));if([...el.options].some(o=>o.value===before))el.value=before} function update(){ const type=geo.value,isSpina=type!=='plancia'; populate(width,(isSpina?[90,120,140]:(data.plankWidths||(family==='rovere'?[90,120,140,180,220,250]:[90,120,140,180]))).map(n=>({value:String(n),text:n+' mm'}))); const choices=data.structures.filter(s=>{ if(!(s.total<=16))return false; if(s.poses?.includes(type)===false)return false; return s.widths?.includes(Number(width.value))!==false; }); populate(total,[...choices.map(s=>s.value),{value:'altra',text:'Altra struttura fino a 16 mm · Informazioni'}]); populate(grade,['Select','Natur','Rustic']); radios.forEach(r=>r.checked=r.value===grade.value); const help=document.querySelector('[data-grade-help]');if(help)help.textContent=grade.value+' · '+descriptions[grade.value].split(' · ')[1]; const shape=document.querySelector('[data-grade-symbol]');if(shape)shape.innerHTML=tagStart+'svg class="choice-shape" viewBox="0 0 40 40" aria-hidden="true">'+shapes[grade.value]+tagStart+'/svg>'; const other=total.value==='altra'; document.querySelector('[data-structure-help]').textContent=(other?'Per altre strutture con legno nobile da 2,5 · 4,2 · 6 mm, richiedi l’abbinamento disponibile entro 16 mm totali.':'Spessori in millimetri: totale / legno nobile. La disponibilità della combinazione si conferma con la proposta di fornitura.'); const consultation=requestModes.some(m=>m.checked?m.value==='consulenza':false); document.querySelectorAll('[data-config-expert]').forEach(e=>e.hidden=consultation); document.querySelector('[data-length]').textContent=consultation?'Misure, struttura e scelta estetica da definire insieme.':isSpina?'Lunghezza da definire per il formato scelto.':family==='noce'?'Lunghezze da verificare sulla specifica di fornitura.':'Lunghezze assortite da 500 a 2400 mm, secondo formato.'; const summary=consultation?[data.name,geo.selectedOptions[0].text,'Richiedo un consiglio su misure, struttura e scelta estetica'].join(' · '):[data.name,geo.selectedOptions[0].text,width.selectedOptions[0].text,other?'Altra struttura entro 16 mm da definire':total.selectedOptions[0].text,grade.value+' ('+symbols[grade.value]+')'].join(' · '); document.querySelector('[data-summary]').textContent=summary; const contactSummary=document.querySelector('[data-contact-summary]');if(contactSummary)contactSummary.textContent=summary; document.querySelectorAll('[data-pattern]').forEach(p=>p.hidden=p.dataset.pattern!==type); const message='Buongiorno Montagna Parquet, vorrei informazioni e una proposta per: '+summary+'.'; const wa=document.querySelector('[data-config-whatsapp]');if(wa)wa.href='https://wa.me/390696453729?text='+encodeURIComponent(message); const contact=document.querySelector('[data-config-contact]');if(contact){const url=new URL('https://montagnaparquet.it/it/contatti/');url.hash='mp-richiesta='+encodeURIComponent(message);contact.href=url.href;} const copy=document.querySelector('[data-config-copy]');if(copy)copy.value=message; const status=document.querySelector('[data-copy-status]');if(status)status.textContent='Il riepilogo sarà già compilato nel modulo contatti. Puoi anche copiarlo per conservarlo.'; const jump=document.querySelector('[data-enquiry-jump]');if(jump)jump.textContent=consultation?'Chiedi un consiglio su questo modello ↓':'Richiedi questa configurazione ↓'; if(!initializing)configUX?.commitProduct({mode:consultation?'consulenza':'dettagli',pose:type,width:width.value,total:total.value,grade:grade.value}); } const copyButton=document.querySelector('[data-copy-config]');copyButton?.addEventListener('click',async()=>{const field=document.querySelector('[data-config-copy]'),status=document.querySelector('[data-copy-status]');try{await navigator.clipboard.writeText(field.value);status.textContent='Riepilogo copiato.'}catch{field.focus();field.select();status.textContent='Testo selezionato: usa Copia nel menu del dispositivo o Ctrl+C per conservarlo.'}}); const requested=new URLSearchParams(location.search).get('posa');if([...geo.options].some(x=>x.value===requested))geo.value=requested;cfg.addEventListener('change',update);update(); if(savedConfig?.mode==='dettagli'){ for(const [field,value] of [[width,savedConfig.width],[total,savedConfig.total],[grade,savedConfig.grade]]){if([...field.options].some(o=>o.value===value)){field.value=value;update();}} } initializing=false;update();} const viewer=document.querySelector('.viewer');document.querySelectorAll('[data-zoom]').forEach(b=>b.addEventListener('click',()=>{viewer.querySelector('img').dataset.displayRotation=b.dataset.displayRotation||'0';viewer.querySelector('img').src=b.dataset.zoom;viewer.querySelector('img').alt=b.dataset.alt;viewer.showModal()}));viewer?.querySelector('button').addEventListener('click',()=>viewer.close());viewer?.addEventListener('click',e=>{if(e.target===viewer)viewer.close()}); })();