.pci-rl-block { width:100%; }
.pci-rl-head { display:flex; align-items:center; justify-content:space-between; margin: 0 0 10px; }
.pci-rl-title { margin:0; font-size:18px; }

.pci-rl-controls { display:flex; gap:8px; }
.pci-rl-btn { border:1px solid rgba(0,0,0,.15); background:#fff; border-radius:10px; padding:6px 10px; cursor:pointer; }

.pci-rl-carousel { overflow:hidden; }
.pci-rl-track { display:flex; gap:14px; overflow:auto; scroll-behavior:smooth; padding: 6px 2px 14px; }
.pci-rl-track::-webkit-scrollbar { height:10px; }
.pci-rl-track::-webkit-scrollbar-thumb { background: rgba(0,0,0,.15); border-radius:999px; }

.pci-rl-card { flex: 0 0 160px; border-radius:16px; background:#fff; box-shadow: 0 6px 18px rgba(0,0,0,.06); overflow:hidden; }
.pci-rl-cover { position:relative; aspect-ratio: 3 / 4; background:#f3f3f3; }
.pci-rl-cover img { width:100%; height:100%; object-fit:cover; display:block; }

.pci-rl-ribbon { position:absolute; left:18px; bottom:-8px; width:10px; height:30px; background: rgba(255,196,0,.9); border-radius: 0 0 6px 6px; }

.pci-rl-meta { padding:10px 10px 12px; }
.pci-rl-name { margin:0 0 8px; font-size:13px; line-height:1.25; min-height: 32px; }
.pci-rl-actions { display:flex; gap:8px; }
.pci-rl-action { font-size:12px; padding:7px 10px; border-radius:999px; border:1px solid rgba(0,0,0,.12); background:#fff; cursor:pointer; text-decoration:none; color:inherit; display:inline-flex; align-items:center; justify-content:center; }
.pci-rl-download { }

.pci-rl-grid { display:grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap:14px; }

.pci-rl-search { display:flex; gap:10px; margin: 0 0 14px; }
.pci-rl-search input { flex:1; padding:10px 12px; border:1px solid rgba(0,0,0,.12); border-radius:12px; }
.pci-rl-search button { padding:10px 14px; border-radius:12px; border:1px solid rgba(0,0,0,.12); background:#fff; cursor:pointer; }

.pci-rl-empty { color:#666; }

.pci-rl-modal { position:fixed; inset:0; display:none; z-index:99999; }
.pci-rl-modal[aria-hidden="false"] { display:block; }
.pci-rl-modal-backdrop { position:absolute; inset:0; background: rgba(0,0,0,.5); }
.pci-rl-modal-panel { position:relative; width:min(980px, 92vw); height:min(80vh, 760px); margin: 6vh auto; background:#fff; border-radius:18px; overflow:hidden; }
.pci-rl-modal-head { display:flex; justify-content:space-between; align-items:center; padding:12px 14px; border-bottom:1px solid rgba(0,0,0,.08); }
.pci-rl-modal-body { height: calc(100% - 52px); }
.pci-rl-modal-body iframe { width:100%; height:100%; border:0; }
