RABATT

CARS&SUVS25

#f2g-wrap{ position:relative; box-sizing:content-box; height:190px; z-index:1; } #f2g-wrap .f2g-layer{ position:absolute; top:var(--f2g-top, 0px); left:0; right:0; height:190px; overflow:hidden; transition:height .2s ease; } #f2g-wrap.is-hover .f2g-layer{ height:540px; } #f2g-wrap.is-hover{ z-index:9999; } #f2g-wrap.is-open .f2g-layer{ height:800px; } #f2g-wrap.is-open{ z-index:9999; } #f2g-wrap .f2g-layer iframe{ width:100% !important; border:0; display:block; background:transparent; }/* o blend so vale onde existe hover de verdade (desktop) */ @media (hover:hover) and (pointer:fine){ #f2g-wrap.is-hover .f2g-layer iframe{ mix-blend-mode:multiply; } }/* mobile: campos empilhados, sem blend, alturas maiores */ @media (max-width:767px){ #f2g-wrap{ height:470px; } #f2g-wrap .f2g-layer{ height:470px; } #f2g-wrap.is-hover .f2g-layer{ height:820px; } #f2g-wrap.is-open .f2g-layer{ height:980px; } #f2g-wrap .f2g-layer iframe{ mix-blend-mode:normal !important; } } (function(){ 'use strict';var IGNORAR = ['init','reset']; var SALTO_MIN = 250; // px de crescimento para considerar "resultados" var wrap, iframe; var alturaBase = null, opened = false, interagiu = false, leaveTimer = null;function hover(on){ if(opened || !wrap) return; if(on) interagiu = true; clearTimeout(leaveTimer); if(on){ wrap.classList.add('is-hover'); } else { leaveTimer = setTimeout(function(){ wrap.classList.remove('is-hover'); }, 400); } }function expand(origem){ if(opened || !wrap) return; opened = true; console.log('[F2G] expandindo via', origem); clearTimeout(leaveTimer); wrap.classList.remove('is-hover'); wrap.classList.add('is-open'); }function parse(data){ if(typeof data !== 'string' || data.indexOf('[iFrameSizer]') !== 0) return null; var p = data.replace('[iFrameSizer]','').split(':'); return { id:p[0], height:parseInt(p[1],10), type:p[3] }; }window.addEventListener('message', function(e){ if(e.origin.indexOf('flit2go') === -1) return; var m = parse(e.data); if(!m) return;if(m.type === 'mouseenter') return hover(true); if(m.type === 'mouseleave') return hover(false); if(IGNORAR.indexOf(m.type) !== -1 || !m.height) return;// maior altura já vista vira a referência (o widget oscila no boot) if(alturaBase === null || m.height > alturaBase){ if(!interagiu){ alturaBase = m.height; return; } } if(alturaBase === null) return;if(interagiu && m.height > alturaBase + SALTO_MIN){ expand('altura ' + alturaBase + '->' + m.height); } }, false);function medirPadding(){ if(!wrap) return; var cs = getComputedStyle(wrap); wrap.style.setProperty('--f2g-top', (parseFloat(cs.paddingTop) || 0) + 'px'); }function init(){ wrap = document.getElementById('f2g-wrap'); iframe = document.getElementById('iframeFlit2go'); if(!wrap || !iframe) return setTimeout(init, 400);if(!wrap.contains(iframe)){ console.warn('[F2G] iframe fora de #f2g-wrap — confere o CSS ID do widget'); return; }// marca o filho direto de #f2g-wrap. NADA é movido no DOM. var layer = iframe; while(layer.parentNode && layer.parentNode !== wrap) layer = layer.parentNode; layer.classList.add('f2g-layer');medirPadding(); window.addEventListener('resize', medirPadding);wrap.addEventListener('mouseenter', function(){ hover(true); }); wrap.addEventListener('mouseleave', function(){ hover(false); }); }document.readyState === 'loading' ? document.addEventListener('DOMContentLoaded', init) : init(); })();