
:root{ --tvpp-primary:#0b76b7; --tvpp-radius:14px; }
.tvpp-wrap{ padding:20px 0; }
.tvpp-filters{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin:0 0 28px; }
.tvpp-filter{ border:0; background:#1f1f1f; color:#fff; padding:12px 22px; border-radius:999px; cursor:pointer; font-weight:600; }
.tvpp-filter.active{ background:var(--tvpp-primary); }
.tvpp-grid{ display:grid; gap:28px; grid-template-columns:repeat(3,minmax(0,1fr)); }
.tvpp-wrap[data-columns="1"] .tvpp-grid{ grid-template-columns:1fr; }
.tvpp-wrap[data-columns="2"] .tvpp-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.tvpp-wrap[data-columns="3"] .tvpp-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.tvpp-wrap[data-columns="4"] .tvpp-grid{ grid-template-columns:repeat(4,minmax(0,1fr)); }
@media (max-width:1024px){ .tvpp-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:640px){ .tvpp-grid{ grid-template-columns:1fr; } .tvpp-filter{ padding:10px 18px; } }
.tvpp-card{ background:#fff; border-radius:var(--tvpp-radius); box-shadow:0 10px 22px rgba(0,0,0,.08); padding:18px 18px 20px; text-align:center; transition:transform .15s ease; }
.tvpp-card:hover{ transform:translateY(-2px); }
.tvpp-thumb{ overflow:hidden; border-radius:calc(var(--tvpp-radius) - 4px); background:#f3f3f3; }
.tvpp-thumb img{ display:block; width:100%; height:170px; object-fit:cover; }
.tvpp-title{ font-size:22px; margin:14px 0 10px; }
.tvpp-skills{ font-size:14px; color:#444; line-height:1.6; min-height:70px; }
.tvpp-actions{ display:flex; gap:12px; justify-content:center; margin-top:18px; flex-wrap:wrap; }
.tvpp-btn{ display:inline-block; padding:10px 18px; border-radius:999px; background:var(--tvpp-primary); color:#fff !important; text-decoration:none !important; font-weight:600; }
.tvpp-btn--secondary{ background:#0a5f91; }
.tvpp-empty{ text-align:center; padding:24px; background:#fff; border-radius:var(--tvpp-radius); }
.tvpp-card[hidden]{ display:none !important; }
