.card{display:block;text-decoration:none;border-radius:0;overflow:hidden;background:var(--color-surface);box-shadow:2px 3px 4px var(--color-shadow-heavy);transition:transform .2s ease,box-shadow .2s ease,border-color .2s;cursor:pointer;color:inherit}.card:hover{transform:translateY(-3px);box-shadow:0 8px 10px var(--color-shadow-soft)}.poster-wrap{position:relative;aspect-ratio:2 / 3;overflow:hidden;background:var(--color-bg)}.poster-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}.card:hover .poster-img{transform:scale(1.04)}.no-poster{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:12px;background:linear-gradient(135deg,var(--color-placeholder-from),var(--color-placeholder-to))}.no-poster-title{color:var(--color-text-muted);font-size:13px;text-align:center;line-height:1.5}.badges{position:absolute;top:6px;right:6px;display:flex;flex-direction:column;gap:4px;align-items:flex-end}.hover-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;background:linear-gradient(to top,rgba(0,0,0,.92) 0%,rgba(0,0,0,.55) 55%,transparent 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:12px;opacity:0;transform:translateY(12px);transition:opacity .25s ease,transform .25s ease;transition-delay:0s;pointer-events:none}.card:hover .hover-overlay{opacity:1;transform:translateY(0);transition-delay:.18s}.overview-preview{font-size:12px;line-height:1.55;color:var(--color-border);margin-bottom:8px}.hover-genres{display:flex;flex-wrap:wrap;gap:4px}.card-info{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:10px 12px;background:linear-gradient(to top,rgba(0,0,0,.85) 0%,rgba(0,0,0,.45) 70%,transparent 100%);transform:translateY(0);opacity:1;transition:transform .25s ease,opacity .25s ease}.card:hover .card-info{transform:translateY(100%);opacity:0}.card-title{font-size:14px;font-weight:600;color:var(--color-on-brand);line-height:1.4;margin:0 0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-title--anchor{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.card-meta{display:flex;gap:8px;font-size:12px;color:var(--color-border);margin-bottom:6px}.card-genres{display:flex;gap:4px;flex-wrap:wrap}@media(max-width:767px){.no-poster-title{font-size:12px}.overview-preview{font-size:11px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-title{font-size:13px}.card-meta{font-size:11px}}
