.dw-pf-wrap { width:100%; padding:80px 0; font-family:'Inter',sans-serif; }

.dw-pf-row { display:flex; align-items:center; gap:0; }

.dw-pf-left { width:320px; flex-shrink:0; padding-right:48px; }
.dw-pf-label { font-size:11px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:rgba(200,195,255,.35); margin-bottom:10px; }
.dw-pf-title { font-size:clamp(28px,3.5vw,44px); font-weight:800; letter-spacing:-.04em; line-height:.95; margin:0 0 16px !important; padding:0 !important; }
.dw-pf-hl { background:#7B5CF5; padding:2px 14px 6px; border-radius:5px; display:inline-block; color:#fff; }
.dw-pf-sub { font-size:14px; font-weight:300; color:rgba(220,215,255,.5); line-height:1.8; margin:0 !important; }

.dw-pf-right { flex:1; min-width:0; overflow:hidden; mask-image:linear-gradient(to right, black 0%, black 85%, transparent 100%); }
.dw-pf-track-wrap { overflow:visible; }
.dw-pf-track { display:flex; gap:16px; transition:transform .45s cubic-bezier(.4,0,.2,1); }

.dw-pf-card { flex:0 0 calc(33.333% - 11px); background:rgba(255, 255, 255, 0.04)!important; border:1px solid rgba(255,255,255,.08); border-radius:14px; overflow:hidden; display:flex; flex-direction:column; transition:border-color .3s,transform .3s; }
.dw-pf-card:hover { border-color:rgba(123,92,245,.4); transform:translateY(-3px); }

.dw-pf-img { position:relative; aspect-ratio:16/10; overflow:hidden; background:#0f0f22; flex-shrink:0; }
.dw-pf-img img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s; border-radius:0 !important; margin:0 !important; }
.dw-pf-card:hover .dw-pf-img img { transform:scale(1.04); }
.dw-pf-cat { position:absolute; top:12px; left:12px; display:inline-flex; align-items:center; gap:6px; font-size:11px; font-weight:700; padding:6px 12px; background:#7B5CF5; color:#fff; border-radius:100px; line-height:1; }

.dw-pf-body { padding:20px 20px 24px; display:flex; flex-direction:column; flex:1; gap:8px; }
.dw-pf-name { font-size:17px !important; font-weight:700 !important; letter-spacing:-.02em !important; line-height:1.2 !important; color:#f0eeff !important; margin:0 !important; padding:0 !important; }
.dw-pf-desc { font-size:13px !important; font-weight:300 !important; color:rgba(220,215,255,.55) !important; line-height:1.8 !important; flex:1; margin:0 !important; padding:0 !important; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.dw-pf-footer { display:flex; align-items:center; justify-content:space-between; margin-top:14px; padding-top:14px; border-top:1px solid rgba(255,255,255,.06); }
.dw-pf-btn { display:inline-flex !important; align-items:center !important; gap:7px !important; font-size:13px !important; font-weight:600 !important; color:#f0eeff !important; text-decoration:none !important; padding:9px 18px !important; background:rgba(123,92,245,.15) !important; border:1px solid rgba(123,92,245,.25) !important; border-radius:8px !important; box-shadow:none !important; transition:background .2s !important; }
.dw-pf-btn:hover { background:rgba(123,92,245,.3) !important; border-color:rgba(123,92,245,.5) !important; box-shadow:none !important; }
.dw-pf-year { font-size:12px; color:rgba(200,195,255,.25); font-weight:500; }

.dw-pf-controls-row { display:flex; margin-top:20px; }
.dw-pf-controls-spacer { width:320px; flex-shrink:0; }
.dw-pf-controls { display:flex; align-items:center; gap:10px; }
.dw-pf-arrow { width:42px; height:42px; border-radius:50%; border:1px solid rgba(123,92,245,.3); background:rgba(123,92,245,.1); color:rgba(220,215,255,.8); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:all .2s; flex-shrink:0; }
.dw-pf-arrow:hover { background:rgba(123,92,245,.3); border-color:rgba(123,92,245,.6); color:#fff; }
.dw-pf-arrow:disabled { opacity:.3; cursor:default; }
.dw-pf-dots { display:flex; align-items:center; gap:6px; margin-left:4px; }
.dw-pf-dot { width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,.2); border:none; cursor:pointer; padding:0; transition:all .25s; }
.dw-pf-dot.active { background:#7B5CF5; width:22px; border-radius:4px; }

/* hide original swiper elements */
.dw-pf-wrap .swiper-button-next,
.dw-pf-wrap .swiper-button-prev,
.dw-pf-wrap .swiper-pagination { display:none !important; }

@media(max-width:768px){
  .dw-pf-row { flex-direction:column; }
  .dw-pf-left { width:100%; padding-right:0; margin-bottom:24px; }
  .dw-pf-controls-spacer { display:none; }
  .dw-pf-card { flex:0 0 80%; }
}
