.pffr-wrap{margin:32px 0;position:relative}
.pffr-heading{margin:0 0 16px;font-size:clamp(22px,2.2vw,32px);line-height:1.15}
.pffr-slider-shell{position:relative}
.pffr-grid{display:grid;grid-template-columns:repeat(var(--pffr-desktop,6),minmax(0,1fr));gap:18px}
.pffr-card{min-width:0;margin:0}
.pffr-link{display:block;color:inherit;text-decoration:none}
.pffr-media{display:block}
.pffr-poster{display:block;position:relative;aspect-ratio:var(--pffr-ratio,2/3);overflow:hidden;border-radius:12px;background:#ececec;box-shadow:0 4px 18px rgba(0,0,0,.08)}
.pffr-poster img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .22s ease}
.pffr-link:hover .pffr-poster img{transform:scale(1.025)}
.pffr-body{display:block}
.pffr-tax{display:flex;gap:5px;flex-wrap:wrap;margin:10px 0 8px}
.pffr-chip{display:inline-flex;align-items:center;min-height:20px;padding:4px 8px;border-radius:3px;font-size:10px;line-height:1;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:#fff;background:#10b981}
.pffr-chip-2{background:#3b82f6}.pffr-chip-3{background:#ef4444}
.pffr-title{display:block;margin-top:9px;font-size:15px;font-weight:700;line-height:1.3}
.pffr-excerpt{display:block;margin-top:6px;font-size:13px;line-height:1.45;color:#656565}
.pffr-cta{display:inline-flex;align-items:center;justify-content:center;margin-top:14px;padding:9px 13px;border:1px solid #5e5e5e;background:#fff;color:#444;font-size:13px;line-height:1.2;transition:all .18s ease}
.pffr-link:hover .pffr-cta{background:#111;color:#fff;border-color:#111}
.pffr-clicks{display:block;margin-top:8px;font-size:12px;opacity:.65}
.pffr-noimage{display:block;width:100%;height:100%;background:linear-gradient(145deg,#ededed,#d7d7d7)}
.pffr-nav{display:none}

/* CLASSIC - pôvodný jednoduchý vzhľad */
.pffr-visual-classic .pffr-tax,.pffr-visual-classic .pffr-excerpt,.pffr-visual-classic .pffr-cta{display:none}
.pffr-visual-classic .pffr-title{font-size:15px}

/* GRID */
.pffr-visual-grid .pffr-card{background:#fff;border:1px solid #eee;border-radius:14px;overflow:hidden;box-shadow:0 6px 22px rgba(0,0,0,.04)}
.pffr-visual-grid .pffr-body{padding:12px 12px 14px}
.pffr-visual-grid .pffr-excerpt,.pffr-visual-grid .pffr-cta{display:none}
.pffr-visual-grid .pffr-tax{margin-top:0}
.pffr-visual-grid .pffr-title{font-size:16px;margin-top:0}

/* EDITORIAL */
.pffr-visual-editorial .pffr-card{background:#fff;border:1px solid #ececec;border-radius:14px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.05)}
.pffr-visual-editorial .pffr-body{display:block;padding:0 14px 14px}
.pffr-visual-editorial .pffr-tax{margin-top:12px}
.pffr-visual-editorial .pffr-title{font-size:18px;margin-top:0}
.pffr-visual-editorial .pffr-excerpt{-webkit-line-clamp:2;line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}

/* SHOWCASE inspired by screenshot */
.pffr-visual-showcase .pffr-grid{display:flex;grid-template-columns:none;gap:20px;overflow-x:auto;scrollbar-width:none;padding:0 2px 8px;scroll-snap-type:x proximity}
.pffr-visual-showcase .pffr-grid::-webkit-scrollbar{display:none}
.pffr-visual-showcase .pffr-card{flex:0 0 calc((100% - 40px)/3);min-width:250px;scroll-snap-align:start}
.pffr-visual-showcase .pffr-poster{border-radius:0;box-shadow:none;background:#ddd}
.pffr-visual-showcase .pffr-title{font-size:19px;line-height:1.25;margin-top:0}
.pffr-visual-showcase .pffr-excerpt{font-size:14px}
.pffr-visual-showcase .pffr-body{padding-top:10px}
.pffr-visual-showcase .pffr-tax{margin:0 0 10px}
.pffr-visual-showcase .pffr-cta{font-size:14px;padding:10px 14px}
.pffr-visual-showcase .pffr-nav{display:flex;position:absolute;top:33%;transform:translateY(-50%);z-index:3;width:34px;height:52px;border:0;background:rgba(0,0,0,.6);color:#fff;font-size:36px;line-height:1;align-items:center;justify-content:center;cursor:pointer}
.pffr-visual-showcase .pffr-nav-prev{left:0}.pffr-visual-showcase .pffr-nav-next{right:0}

/* CLEAN */
.pffr-visual-clean .pffr-grid{grid-template-columns:1fr;gap:12px}
.pffr-visual-clean .pffr-link{display:flex;gap:14px;align-items:flex-start;padding:12px;border:1px solid #e9e9e9;border-radius:12px;background:#fff}
.pffr-visual-clean .pffr-media{width:92px;flex:0 0 92px}
.pffr-visual-clean .pffr-poster{border-radius:10px;box-shadow:none}
.pffr-visual-clean .pffr-tax{display:none}
.pffr-visual-clean .pffr-title{margin-top:0;font-size:17px}
.pffr-visual-clean .pffr-excerpt{-webkit-line-clamp:2;line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}
.pffr-visual-clean .pffr-cta{margin-top:10px}

/* OVERLAY */
.pffr-visual-overlay .pffr-card{position:relative}
.pffr-visual-overlay .pffr-link{position:relative}
.pffr-visual-overlay .pffr-poster{border-radius:14px;box-shadow:0 10px 28px rgba(0,0,0,.15)}
.pffr-visual-overlay .pffr-body{position:absolute;left:0;right:0;bottom:0;padding:42px 14px 14px;background:linear-gradient(to top,rgba(0,0,0,.82),rgba(0,0,0,0));color:#fff;border-radius:0 0 14px 14px}
.pffr-visual-overlay .pffr-tax{margin:0 0 8px}
.pffr-visual-overlay .pffr-title,.pffr-visual-overlay .pffr-excerpt,.pffr-visual-overlay .pffr-clicks{color:#fff}
.pffr-visual-overlay .pffr-title{margin-top:0;font-size:18px}
.pffr-visual-overlay .pffr-excerpt{-webkit-line-clamp:2;line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;color:rgba(255,255,255,.9)}
.pffr-visual-overlay .pffr-cta{display:none}

/* COMPACT */
.pffr-visual-compact .pffr-grid{grid-template-columns:1fr 1fr;gap:12px}
.pffr-visual-compact .pffr-link{display:flex;gap:12px;align-items:flex-start;padding:10px;border:1px solid #ececec;border-radius:12px;background:#fff}
.pffr-visual-compact .pffr-media{width:74px;flex:0 0 74px}
.pffr-visual-compact .pffr-poster{border-radius:8px;box-shadow:none}
.pffr-visual-compact .pffr-tax,.pffr-visual-compact .pffr-cta{display:none}
.pffr-visual-compact .pffr-title{margin-top:0;font-size:15px}
.pffr-visual-compact .pffr-excerpt{-webkit-line-clamp:2;line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;margin-top:4px}

@media(max-width:1024px){
  .pffr-grid{grid-template-columns:repeat(var(--pffr-tablet,3),minmax(0,1fr));gap:16px}
  .pffr-visual-showcase .pffr-card{flex-basis:calc((100% - 20px)/2)}
  .pffr-visual-compact .pffr-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  .pffr-wrap{margin:24px 0}
  .pffr-grid{grid-template-columns:repeat(var(--pffr-mobile,2),minmax(0,1fr));gap:14px 12px}
  .pffr-poster{border-radius:10px}
  .pffr-title{font-size:14px}
  .pffr-excerpt{font-size:12px}
  .pffr-chip{font-size:9px;padding:4px 6px}
  .pffr-visual-clean .pffr-link{gap:10px;padding:10px}
  .pffr-visual-clean .pffr-media{width:80px;flex-basis:80px}
  .pffr-visual-showcase .pffr-card{flex-basis:78vw;min-width:78vw}
  .pffr-visual-showcase .pffr-nav{display:none}
  .pffr-visual-compact .pffr-grid{grid-template-columns:1fr}
}
