.actpf{--actpf-cols:3;--actpf-gap:26px;max-width:1240px;margin:0 auto;padding:0 16px}
.actpf__bar{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:0 0 34px}
.actpf__f{background:transparent;color:#cfcfd6;border:1px solid rgba(255,255,255,.16);
  padding:9px 20px;border-radius:999px;font:600 13px/1 system-ui,sans-serif;letter-spacing:.03em;
  text-transform:uppercase;cursor:pointer;transition:.18s}
.actpf__f span{opacity:.55;margin-left:6px;font-weight:500}
.actpf__f:hover{border-color:#8b5cf6;color:#fff}
.actpf__f.is-on{background:#8b5cf6;border-color:#8b5cf6;color:#fff}
.actpf__grid{display:grid;grid-template-columns:repeat(var(--actpf-cols),1fr);gap:var(--actpf-gap)}
.actpf__card{background:linear-gradient(180deg,rgba(30,24,48,.7),rgba(18,14,30,.9));
  border:1px solid rgba(255,255,255,.08);border-radius:16px;overflow:hidden;
  display:flex;flex-direction:column;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}
.actpf__card:hover{transform:translateY(-6px);border-color:rgba(139,92,246,.55);
  box-shadow:0 18px 50px -20px rgba(139,92,246,.5)}
.actpf__shot{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:#0d0a16}
.actpf__shot img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease,filter .3s ease}
.actpf__card:hover .actpf__shot img{transform:scale(1.05)}
.actpf__ribbon{position:absolute;top:14px;left:14px;z-index:2;
  background:rgba(139,92,246,.92);color:#fff;font:700 10px/1 system-ui,sans-serif;
  letter-spacing:.09em;text-transform:uppercase;padding:7px 11px;border-radius:999px;
  box-shadow:0 6px 18px -6px rgba(139,92,246,.8);backdrop-filter:blur(2px);
  display:flex;align-items:center;gap:6px}
.actpf__ribbon::before{content:"";width:6px;height:6px;border-radius:50%;background:#facc15;
  box-shadow:0 0 0 0 rgba(250,204,21,.7);animation:actpf-pulse 1.8s infinite}
@keyframes actpf-pulse{0%{box-shadow:0 0 0 0 rgba(250,204,21,.6)}70%{box-shadow:0 0 0 7px rgba(250,204,21,0)}100%{box-shadow:0 0 0 0 rgba(250,204,21,0)}}
.actpf__view{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:rgba(12,8,22,.55);color:#fff;font:700 15px/1 system-ui,sans-serif;letter-spacing:.02em;
  opacity:0;transition:opacity .25s}
.actpf__card:hover .actpf__view{opacity:1}
.actpf__body{padding:20px 22px 24px;display:flex;flex-direction:column;gap:12px;flex:1}
.actpf__head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.actpf__title{margin:0;font:800 21px/1.15 system-ui,sans-serif;color:#fff}
.actpf__cat{font:600 11px/1 system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;
  color:#c4b5fd;background:rgba(139,92,246,.15);padding:5px 10px;border-radius:999px;white-space:nowrap}
.actpf__desc{margin:0;color:#a9a3b8;font:400 14px/1.6 system-ui,sans-serif;flex:1}
.actpf__tags{display:flex;flex-wrap:wrap;gap:6px}
.actpf__tags span{font:500 11px/1 system-ui,sans-serif;color:#8a8496;
  border:1px solid rgba(255,255,255,.12);padding:5px 9px;border-radius:6px}
.actpf__btn{margin-top:4px;align-self:flex-start;background:#8b5cf6;color:#fff;text-decoration:none;
  font:700 13px/1 system-ui,sans-serif;padding:11px 20px;border-radius:8px;transition:.18s}
.actpf__btn:hover{background:#7c46f0;transform:translateX(2px)}
.actpf__empty{color:#888;text-align:center;padding:30px}
@media(max-width:960px){.actpf{--actpf-cols:2}}
@media(max-width:600px){.actpf{--actpf-cols:1}}
