.tpal-directory { max-width: 1200px; margin: 0 auto; }
.tpal-filters { display:flex; gap:12px; flex-wrap: wrap; margin-bottom: 16px; }
.tpal-filters input[type="text"], .tpal-filters select { padding:10px; border:1px solid #ddd; border-radius:8px; min-width: 200px; }
.tpal-results.tpal-loading { opacity: .6; }
.tpal-grid { display:grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap:16px; }
.tpal-card { background:#fff; border:1px solid #eee; border-radius:12px; overflow:hidden; display:flex; flex-direction:column; }
.tpal-thumb { background-size:cover; background-position:center; width:100%; padding-top:56%; }
.tpal-title { font-size:1.1rem; margin: 12px; }
.tpal-excerpt { font-size:.95rem; color:#555; margin: 0 12px 12px; }
.tpal-load-more { display:block; margin:20px auto; padding:10px 16px; border-radius: 999px; border:1px solid #ddd; background:#fafafa; }
