.post-card background: white; border-radius: 28px; overflow: hidden; box-shadow: 0 8px 20px rgba(0,0,0,0.05); transition: transform 0.2s, box-shadow 0.2s; border: 1px solid #ede6dc;

.modal-body flex: 1; background: #eae3d8;

// Event listeners modal if (closeModalBtn) closeModalBtn.addEventListener('click', closeModal); window.addEventListener('click', (e) => if (e.target === modal) closeModal(); );

/* layout principal: 2 columnas (blog posts + sidebar con drive) */ .main-container max-width: 1400px; margin: 2rem auto; padding: 0 1.5rem; display: grid; grid-template-columns: 1fr 340px; gap: 2rem;

body font-family: 'Inter', sans-serif; background: #faf6f0; color: #2c2b28; scroll-behavior: smooth;

// ======================== // 2. LISTA DE PDFs para el sidebar (Google Drive) // Mismos datos que posts pero se muestran también como lista independiente. // ======================== function buildDrivePdfList() const pdfListEl = document.getElementById('drivePdfList'); if (!pdfListEl) return; pdfListEl.innerHTML = ''; blogPosts.forEach(post => const li = document.createElement('li'); li.className = 'pdf-item'; const driveUrl = `https://drive.google.com/file/d/$post.pdfDriveId/preview`; const link = document.createElement('a'); link.href = "#"; link.setAttribute('data-pdf-url', driveUrl); link.setAttribute('data-pdf-name', post.pdfFileName); link.innerHTML = `<i class="fas fa-file-pdf"></i> <span>$post.pdfFileName.replace(/_/g, ' ').replace('.pdf', '')</span>`; link.addEventListener('click', (e) => e.preventDefault(); openPdfModal(driveUrl, post.pdfFileName); ); li.appendChild(link); pdfListEl.appendChild(li); );