.pnb-ig-feed { display: grid; gap: 12px; }
.pnb-ig-cols-2 { grid-template-columns: repeat(2, 1fr); }
.pnb-ig-cols-3 { grid-template-columns: repeat(3, 1fr); }
.pnb-ig-cols-4 { grid-template-columns: repeat(4, 1fr); }
.pnb-ig-cols-5 { grid-template-columns: repeat(5, 1fr); }
.pnb-ig-cols-6 { grid-template-columns: repeat(6, 1fr); }

.pnb-ig-post { position: relative; overflow: hidden; border-radius: 6px; }
.pnb-ig-post a { display: block; text-decoration: none; color: inherit; }
.pnb-ig-post-inner { position: relative; overflow: hidden; }
.pnb-ig-post-inner img { width: 100%; height: 100%; aspect-ratio: 1; object-fit: cover; display: block; transition: transform .3s; }
.pnb-ig-post:hover .pnb-ig-post-inner img { transform: scale(1.05); }

.pnb-ig-video-icon { position: absolute; top: 8px; right: 8px; background: rgba(0,0,0,.55); color: #fff; width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 11px; pointer-events: none; }

.pnb-ig-caption { position: absolute; inset: 0; background: rgba(0,0,0,.6); color: #fff; display: flex; align-items: flex-end; padding: 14px 12px; opacity: 0; transition: opacity .25s; }
.pnb-ig-post:hover .pnb-ig-caption { opacity: 1; }
.pnb-ig-caption p { margin: 0; font-size: 12px; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }

.pnb-ig-empty { color: #888; font-style: italic; }

@media (max-width: 768px) {
  .pnb-ig-cols-4, .pnb-ig-cols-5, .pnb-ig-cols-6 { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 480px) {
  .pnb-ig-feed { grid-template-columns: repeat(2, 1fr) !important; }
}
