/* Fallback styles for themes other than NPTCL Creator. */
.nptcl-blog-sidebar { display: grid; gap: 20px; }
.nptcl-blog-sidebar .side-card { border: 1px solid #e5e5e5; border-radius: 12px; padding: 18px; }
.nptcl-blog-sidebar .side-title { font-size: 1rem; margin: 0 0 12px; }
.nptcl-blog-sidebar .side-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.nptcl-blog-sidebar .side-list time { display: block; font-size: .8rem; opacity: .7; }
.nptcl-blog-sidebar .side-product-media img { width: 100%; height: auto; object-fit: contain; }
.nptcl-blog-sidebar .side-product-button { display: block; margin-top: 12px; text-align: center; }

/* Product cards inside posts. */
.nptcl-post-products { margin: 28px 0; padding: 18px; border: 1px solid var(--line, #e5e5e5); border-radius: 14px; background: var(--surface, #fafafa); }
.nptcl-post-products-title { margin: 0 0 12px; font-weight: 700; font-size: 1rem; }
.entry-content .nptcl-post-products-grid, .nptcl-post-products-grid { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 190px), 1fr)); }
.entry-content .nptcl-post-products-grid li { margin: 0; }
.entry-content .nptcl-post-products .h-sm { font-size: .98rem; margin: 0; }
.entry-content .nptcl-post-products a { text-decoration: none; }
.nptcl-post-products.is-sidebar { margin: 0; background: transparent; }
.nptcl-post-products.is-sidebar .nptcl-post-products-grid { grid-template-columns: 1fr; }

/* Card list for [nptcl_blog_list] / [nptcl_blog_home] in other themes. */
.nptcl-blog-cards { display: grid; gap: 20px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); }
.nptcl-blog-cards .news-media img { width: 100%; height: 200px; object-fit: cover; display: block; }
