/* Gallery Filter Plugin - Fixed styles */
.gfpf-wrap { width:100%; max-width:1200px; margin:0 auto; padding:12px; box-sizing:border-box; }
.gfpf-tabs { display:flex; gap:10px; margin-bottom:16px; justify-content:center; flex-wrap:wrap; list-style:none; padding:0; }
.gfpf-tab { padding:8px 12px; border-radius:6px; background:#f4f4f4; border:1px solid transparent; cursor:pointer; }
.gfpf-tab.active { background:#111; color:#fff; border-color:#111; }
.gfpf-grid { display:flex; flex-wrap:wrap; gap:16px; justify-content:center; align-items:flex-start; }
.gfpf-card { width:calc(33.333% - 10.666px); box-sizing:border-box; border-radius:6px; overflow:hidden; background:#fff; transition:transform .22s ease, box-shadow .22s ease, opacity .18s ease; }
@media (max-width:900px){ .gfpf-card { width:calc(50% - 8px); } }
@media (max-width:480px){ .gfpf-card { width:100%; } }

.gfpf-card img, .gfpf-card video { width:100%; height:auto; display:block; border:0; }
.gfpf-card:hover { transform:translateY(-6px) scale(1.02); box-shadow:0 18px 36px rgba(0,0,0,0.12); }
.gfpf-desc { margin-top:8px; font-size:14px; color:#333; text-align:center; padding:6px 8px; }
.gfpf-no-items { color:#666; padding:18px; text-align:center; width:100%; }

/* hidden items */
.gfpf-card.filtered-out { pointer-events:none; opacity:0; }

/* accessibility focus */
.gfpf-tab:focus { outline:3px solid rgba(21,156,228,0.25); outline-offset:2px; }
