.pbvl-library { --pbvl-blue:#205d86; --pbvl-cyan:#20b9cf; --pbvl-border:#d8e2e8; max-width:1140px; margin:0 auto; color:#24313a; }
.pbvl-library .pbvl-controls { display:grid; grid-template-columns:minmax(220px,2fr) minmax(220px,1fr); gap:14px; padding:18px; margin:0 0 10px; background:#f3f8fa; border:1px solid var(--pbvl-border); border-radius:10px; }
.pbvl-library .pbvl-control label { display:block; margin:0 0 6px; font-weight:700; color:#233f52; }
.pbvl-library .pbvl-control input, .pbvl-library .pbvl-control select { box-sizing:border-box; width:100%; min-height:44px; padding:9px 12px; border:1px solid #aebdc6; border-radius:6px; background:#fff; color:#25333c; font:inherit; }
.pbvl-library .pbvl-control input:focus, .pbvl-library .pbvl-control select:focus { outline:3px solid rgba(32,185,207,.25); border-color:var(--pbvl-cyan); }
.pbvl-library .pbvl-intro { margin:14px auto 20px; max-width:850px; text-align:center; font-size:17px; line-height:1.6; }
.pbvl-library .pbvl-result-count { margin:8px 0 18px; color:#52636e; font-size:14px; }
.pbvl-library .pbvl-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.pbvl-library .pbvl-card { overflow:hidden; border:1px solid var(--pbvl-border); border-radius:10px; background:#fff; box-shadow:0 3px 12px rgba(21,54,72,.08); }
.pbvl-library .pbvl-card-top { display:grid; grid-template-columns:190px minmax(0,1fr); min-height:108px; }
.pbvl-library .pbvl-thumbnail { position:relative; display:block; background:#14232c; aspect-ratio:16/9; overflow:hidden; }
.pbvl-library .pbvl-thumbnail img { display:block; width:100%; height:100%; object-fit:cover; }
.pbvl-library .pbvl-play { position:absolute; left:50%; top:50%; width:48px; height:34px; transform:translate(-50%,-50%); border-radius:8px; background:rgba(218,32,39,.92); box-shadow:0 2px 7px rgba(0,0,0,.3); }
.pbvl-library .pbvl-play:after { content:""; position:absolute; left:19px; top:9px; border-left:14px solid #fff; border-top:8px solid transparent; border-bottom:8px solid transparent; }
.pbvl-library .pbvl-details { padding:14px 15px 12px; }
.pbvl-library .pbvl-category { display:block; margin-bottom:6px; color:#27768b; font-size:12px; font-weight:800; letter-spacing:.03em; text-transform:uppercase; }
.pbvl-library .pbvl-details h3 { margin:0 0 12px; color:#233f52; font-size:18px; line-height:1.28; }
.pbvl-library .pbvl-button { display:inline-block; padding:8px 14px; border-radius:5px; background:var(--pbvl-blue); color:#fff !important; font-size:14px; font-weight:700; line-height:1.2; text-decoration:none !important; }
.pbvl-library .pbvl-button:hover, .pbvl-library .pbvl-button:focus { background:#164764; color:#fff !important; }
.pbvl-library .pbvl-description { margin:0; padding:14px 16px 16px; border-top:1px solid #e7eef2; color:#465761; font-size:15px; line-height:1.52; }
.pbvl-library .pbvl-empty { display:none; padding:28px; text-align:center; border:1px dashed #aebdc6; border-radius:8px; background:#fafcfd; }
@media (max-width:850px) { .pbvl-library .pbvl-grid { grid-template-columns:1fr; } }
@media (max-width:560px) { .pbvl-library .pbvl-controls { grid-template-columns:1fr; } .pbvl-library .pbvl-card-top { grid-template-columns:1fr; } .pbvl-library .pbvl-thumbnail { width:100%; } }

