-
SONiA 34 años
Burjassot, Valencia
-
Andrea 36 años
Malilla - Nueva FE, Valencia
-
ANDREA 36 años
Malilla - Nueva FE, Valencia
-
MONIKA 40 años
Campanar - Nou Campanar, Valencia
-
SaRa 25 años
Campanar - Nou Campanar, Valencia
-
SOFIA 27 años
Campanar - Nou Campanar, Valencia
-
ANDREA 57 años
Av del Cid - Tres Forques, Valencia
-
VANE 37 años
Pobla de Vallbona, Valencia
-
PeRLa 40 años
Benetússer, Valencia
-
SoNia 45 años
Burjassot, Valencia
-
NikoL 36 años
Marchalenes - Av.Constitución, Valencia
-
SONIA 34 años
Primado Reig - Benimaclet, Valencia
-
HELENA 42 años
Av.Puerto - Ayora, Valencia
-
HELENA 49 años
Ayuntamiento - Centro, Valencia
-
Helena 57 años
Av del Cid - Tres Forques, Mislata
-
-
Tatiana 27 años
Ausias March-Dr Waskman, Valencia
-
VANESSA 37 años
Eliana, Huesca
-
MOTEL LUVE 20 años
San Antonio de Benagéber, Huesca
-
ALBA 20 años
Burjassot, Valencia
-
-
HELENA 40 años
Torrefiel - Ronda Norte, Tavernes Blanques
-
Alexa 33 años
Av Francia - Alameda - CC AQUA, Valencia
-
Marta 33 años
Av Francia - Alameda - CC AQUA, Valencia
-
MOTEL LUVE 20 años
San Antonio de Benagéber, Huesca
-
-
-
Bianca
Paiporta, Valencia
-
-
Sofia 24 años
Sagunto/Sagunt, Valencia
-
-
Marta 25 años
Ruzafa - Peris i Valero, Valencia
-
MOTEL LUVE 20 años
San Antonio de Benagéber, Huesca
-
-
Alexa 33 años
Av Francia - Alameda - CC AQUA, Valencia
-
Alexa 33 años
Av Francia - Alameda - CC AQUA, Valencia
-
LauRa 25 años
Cortes Valencianas - Palacio Congresos, Burjassot
-
// Soporte WebP
const picture = img.closest('picture');
if (picture) {
const sources = picture.querySelectorAll('source[data-srcset]');
sources.forEach(source => {
source.srcset = source.getAttribute('data-srcset');
source.removeAttribute('data-srcset');
});
}
observer.unobserve(img);
}
}
});
}, {
rootMargin: '300px'
});
echoImgs.forEach(img => observer.observe(img));
} else {
// Fallback a scroll para navegadores antiguos
['scroll', 'resize'].forEach(ev =>
window.addEventListener(ev, loadVisibleImages, {
passive: true
})
);
}
// Ejecutar inmediatamente
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', loadVisibleImages);
} else {
loadVisibleImages();
}
// Fallbacks adicionales
setTimeout(loadVisibleImages, 300);
setTimeout(loadVisibleImages, 1200);
});
// Guard global para evitar reconstrucciones del grid por scripts legacy
window.__GRID_BASE_READY = true;
try {
if (document.getElementById('og-grid')) {
document.getElementById('og-grid').setAttribute('data-grid-base', '1');
}
} catch (_) {}