/* Styles */
.pgtf-wrapper { width: 100%; }
.pgtf-tabs, .pgtf-ext-filter { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; background: transparent; }
.pgtf-tabs button, .pgtf-ext-filter button {
  appearance: none; border: 1px solid rgba(0,0,0,.08); background: #f7f8fa; color: #222; padding: 8px 14px;
  border-radius: 18px; cursor: pointer; transition: all .2s ease; font-weight: 600;
}
.pgtf-tabs button:hover, .pgtf-ext-filter button:hover { transform: translateY(-1px); box-shadow: 0 2px 6px rgba(0,0,0,.08); }
.pgtf-tabs button.active, .pgtf-ext-filter button.active { background: #0f172a; color: #fff; }

.pgtf-grid {
  display: grid;
  grid-template-columns: repeat(var(--pgtf-cols,3), 1fr);
  gap: var(--pgtf-gap,24px);
}
.pgtf-grid { --pgtf-cols: 3; }

.pgtf-card { border: 1px solid rgba(0,0,0,.06); border-radius: 14px; overflow: hidden; background: #fff; box-shadow: 0 2px 10px rgba(0,0,0,.04); display:flex; flex-direction:column; }

.pgtf-card-thumb{display:block; position:relative; overflow:hidden;}
.pgtf-card-thumb img, .pgtf-card-image { width: 100%; height: 220px; object-fit: cover; display:block; }
.pgtf-wrapper .pgtf-card-thumb[data-aspect]{ aspect-ratio: var(--pgtf-aspect, 16/9); }
.pgtf-wrapper .pgtf-card-thumb[data-aspect] img{ height: 100%; }

.pgtf-card-image.placeholder { background: #e9eef5; }
.pgtf-card-body { padding: 16px; display:flex; flex-direction:column; gap: 10px; }
.pgtf-card-meta-top { display:flex; align-items:center; gap: 12px; font-size: 12px; color:#64748b; }
.pgtf-badge { background:#eef2ff; color:#4338ca; border-radius: 999px; padding:4px 10px; font-weight:600; }
.pgtf-date { color:#64748b; }
.pgtf-card-title { font-size: 18px; margin:0; }
.pgtf-card-title a { color:#0f172a; text-decoration:none; }
.pgtf-excerpt { color:#475569; font-size:14px; }
.pgtf-card-meta-bottom { display:flex; justify-content:space-between; align-items:center; font-size: 12px; color:#64748b; }

.pgtf-no-posts { padding: 20px; text-align:center; color:#64748b; }
