.error-message color: #b33; font-size: 0.75rem; margin-top: 0.5rem; text-align: center; </style> </head> <body>
/* 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;
.modal-header h3 font-weight: 600; font-size: 1.2rem; Blog De Libros Pdf Google Drive
@media (max-width: 900px) .main-container grid-template-columns: 1fr; .drive-sidebar position: static; margin-top: 0; .blog-header h1 font-size: 2rem;
.modal-body flex: 1; background: #eae3d8; .error-message color: #b33
.post-title font-size: 1.6rem; font-weight: 700; margin-bottom: 0.75rem; line-height: 1.2;
// ======================== // 6. Inicialización completa // ======================== function init() buildDrivePdfList(); // llena sidebar con PDFs desde Drive (IDs) renderPosts(); // muestra los posts del blog con filtro "todos" initFilters(); // activa los filtros por categoría margin: 2rem auto
.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;