Mujeres Chilenas Desnudas — Fotos
<div id="lightboxModal" class="modal"> <div class="close-modal" id="closeModalBtn">×</div> <div class="modal-content"> <img class="modal-img" id="modalImg" alt="ampliación"> <div class="modal-caption" id="modalCaption"></div> </div> </div>
/* subtle animation for filtered items */ .fashion-card transition: all 0.3s cubic-bezier(0.2, 0.9, 0.4, 1.1);
/* header / hero section */ .hero text-align: center; margin-bottom: 3.5rem; padding: 2rem 0 1rem; border-bottom: 1px solid #e5dfd7;
const galleryGrid = document.getElementById("galleryGrid"); const filterButtons = document.querySelectorAll(".filter-btn"); mujeres chilenas desnudas fotos
.close-modal:hover background: #ac6f48; transform: scale(1.05);
.card-style-tag font-size: 0.7rem; font-weight: 500; text-transform: uppercase; color: #bc7a4a; letter-spacing: 1px; margin-bottom: 0.5rem;
// render grid based on active filter let activeFilter = "all"; div id="lightboxModal" class="modal">
@keyframes fadeIn from opacity: 0; to opacity: 1;
.filter-btn.active background: #8b5a3c; border-color: #8b5a3c; color: white; box-shadow: 0 4px 10px rgba(139, 90, 60, 0.2);
// attach event listeners to each new card (open modal) document.querySelectorAll(".fashion-card").forEach(card => const cardId = parseInt(card.getAttribute("data-id")); const originalItem = filteredItems.find(i => i.id === cardId); if (originalItem) card.addEventListener("click", (e) => e.stopPropagation(); openModal(originalItem); ); ); div class="close-modal" id="closeModalBtn">
<div class="filter-bar" id="filterBar"> <button class="filter-btn active" data-filter="all">Todas</button> <button class="filter-btn" data-filter="contemporaneo">Contemporáneo</button> <button class="filter-btn" data-filter="boho">Boho / Artesanal</button> <button class="filter-btn" data-filter="urbano">Urbano & Street</button> <button class="filter-btn" data-filter="elegante">Alta Moda & Elegancia</button> <button class="filter-btn" data-filter="indigena">Raíces / Textilería Mapuche</button> </div>
/* main container */ .gallery-container max-width: 1440px; margin: 0 auto; padding: 2rem 2rem 4rem;
// filter handling function setActiveFilter(filterValue) activeFilter = filterValue; filterButtons.forEach(btn => if (btn.getAttribute("data-filter") === filterValue) btn.classList.add("active"); else btn.classList.remove("active"); ); renderGallery();
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover"> <title>Mujeres Chilenas | Fashion & Style Gallery</title> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link href="https://fonts.googleapis.com/css2?family=Inter:opsz,wght@14..32,300;14..32,400;14..32,500;14..32,600;14..32,700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400&display=swap" rel="stylesheet"> <style> * margin: 0; padding: 0; box-sizing: border-box;
.modal-caption p font-size: 0.85rem; opacity: 0.9;