.tkvp-grid{display:grid;gap:34px;max-width:1180px;margin:0 auto}.tkvp-cols-1{grid-template-columns:1fr}.tkvp-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.tkvp-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.tkvp-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.tkvp-layout-masonry{align-items:start}.tkvp-card{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:20px;overflow:hidden;box-shadow:0 18px 50px rgba(0,0,0,.08);cursor:pointer;transition:transform .22s ease,box-shadow .22s ease}.tkvp-card:hover{transform:translateY(-5px);box-shadow:0 26px 70px rgba(0,0,0,.14)}.tkvp-thumb{position:relative;aspect-ratio:16/9;background:#111;overflow:hidden}.tkvp-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}.tkvp-card:hover .tkvp-thumb img{transform:scale(1.04)}.tkvp-thumb:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.08),rgba(0,0,0,.38));}.tkvp-play{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);width:68px;height:68px;border-radius:50%;border:0;background:rgba(255,255,255,.94);display:grid;place-items:center;box-shadow:0 10px 30px rgba(0,0,0,.2);cursor:pointer}.tkvp-play span{display:block;margin-left:5px;width:0;height:0;border-top:14px solid transparent;border-bottom:14px solid transparent;border-left:20px solid #111}.tkvp-body{padding:22px}.tkvp-body h3{font-size:24px;line-height:1.2;margin:0 0 18px;color:#111}.tkvp-row{display:grid;grid-template-columns:84px 1fr;border-top:1px solid rgba(0,0,0,.08);padding:11px 0;font-size:14px}.tkvp-row span{color:#777}.tkvp-row strong{color:#111;font-weight:500}.tkvp-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:18px}.tkvp-pill{display:inline-flex;align-items:center;min-height:38px;border:1px solid rgba(0,0,0,.12);border-radius:999px;padding:0 15px;font-size:13px;font-weight:600;background:#fafafa}.tkvp-year{font-weight:700;color:#555}.tkvp-lightbox{display:none;position:fixed;inset:0;background:rgba(0,0,0,.86);z-index:999999;align-items:center;justify-content:center;padding:24px}.tkvp-lightbox.is-open{display:flex}.tkvp-lightbox-inner{position:relative;width:min(1080px,94vw);aspect-ratio:16/9}.tkvp-lightbox iframe{width:100%;height:100%;border:0;border-radius:14px;background:#000}.tkvp-close{position:absolute;right:0;top:-52px;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.12);color:#fff;font-size:30px;line-height:36px;cursor:pointer}@media(max-width:980px){.tkvp-cols-3,.tkvp-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.tkvp-cols-2,.tkvp-cols-3,.tkvp-cols-4{grid-template-columns:1fr}.tkvp-body h3{font-size:21px}.tkvp-play{width:58px;height:58px}}

/* v2.1.0 play button and responsive hardening */
.tkvp-card .tkvp-thumb .tkvp-play{
  position:absolute!important;
  z-index:5!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:72px!important;
  height:72px!important;
  min-width:72px!important;
  min-height:72px!important;
  padding:0!important;
  margin:0!important;
  opacity:1!important;
  visibility:visible!important;
  border-radius:999px!important;
  border:0!important;
  background:#fff!important;
  box-shadow:0 12px 34px rgba(0,0,0,.28)!important;
  cursor:pointer!important;
}
.tkvp-card .tkvp-thumb .tkvp-play span,
.tkvp-card .tkvp-thumb .tkvp-play:before{
  content:"";
  display:block!important;
  width:0!important;
  height:0!important;
  margin-left:6px!important;
  border-top:15px solid transparent!important;
  border-bottom:15px solid transparent!important;
  border-left:22px solid #111!important;
}
.tkvp-card .tkvp-thumb .tkvp-play span + *{display:none!important;}
@media(max-width:768px){
  .tkvp-grid{gap:24px;padding:0 16px;}
  .tkvp-card .tkvp-thumb .tkvp-play{width:60px!important;height:60px!important;min-width:60px!important;min-height:60px!important;}
  .tkvp-card .tkvp-thumb .tkvp-play span,
  .tkvp-card .tkvp-thumb .tkvp-play:before{border-top-width:12px!important;border-bottom-width:12px!important;border-left-width:18px!important;}
  .tkvp-body{padding:18px;}
  .tkvp-row{grid-template-columns:70px 1fr;font-size:13px;}
}
@media(max-width:480px){
  .tkvp-grid{padding:0 12px;gap:20px;}
  .tkvp-card{border-radius:16px;}
  .tkvp-body h3{font-size:20px;margin-bottom:14px;}
  .tkvp-bottom{gap:12px;}
  .tkvp-pill{font-size:12px;padding:0 12px;min-height:34px;}
}
