.hover-preview-wrapper{position:relative}.hover-preview-popup{z-index:1000;background:var(--bg-card);pointer-events:auto;border-radius:12px;width:360px;animation:.2s ease-out hoverPreviewIn;position:absolute;overflow:hidden;box-shadow:0 20px 60px #000000b3,0 0 0 1px #ffffff14}@keyframes hoverPreviewIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.hover-preview-media{aspect-ratio:16/9;background:#000;width:100%;position:relative;overflow:hidden}.hover-preview-iframe{border:none;width:100%;height:100%}.hover-preview-thumb{object-fit:cover;width:100%;height:100%}.hover-preview-yt-container{z-index:1;position:absolute;inset:0}.hover-preview-yt-player,.hover-preview-yt-container iframe{border:none;transition:opacity .3s;width:100%!important;height:100%!important}.hover-preview-placeholder{background:linear-gradient(135deg,#1a1625,#2d1f4e);justify-content:center;align-items:center;width:100%;height:100%;font-size:2.5rem;display:flex}.hover-preview-info{padding:.85rem 1rem 1rem}.hover-preview-loading{justify-content:center;align-items:center;padding:1.5rem 0;display:flex}.hover-preview-title{-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;margin-bottom:.15rem;font-size:1rem;font-weight:700;line-height:1.3;display:-webkit-box;overflow:hidden}.hover-preview-origin{color:var(--text-muted);-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;margin-bottom:.65rem;font-size:.78rem;display:-webkit-box;overflow:hidden}.hover-preview-actions{gap:.5rem;margin-bottom:.65rem;display:flex}.hover-preview-btn{text-align:center;white-space:nowrap;border-radius:8px;flex:1;padding:.45rem .6rem;font-size:.78rem;font-weight:600;text-decoration:none;transition:all .2s}.btn-watch{background:var(--accent);color:#fff}.btn-watch:hover{background:var(--accent-hover);transform:translateY(-1px)}.btn-detail{color:var(--text-primary);background:#ffffff1a;border:1px solid #ffffff26}.btn-detail:hover{background:#ffffff2e;transform:translateY(-1px)}.hover-preview-tags{flex-wrap:wrap;gap:.35rem;margin-bottom:.5rem;display:flex}.hover-preview-tag{color:var(--text-secondary);background:#ffffff14;border:1px solid #ffffff1f;border-radius:6px;padding:.2rem .55rem;font-size:.7rem}.hover-preview-genres{color:var(--text-muted);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:.72rem;line-height:1.4;display:-webkit-box;overflow:hidden}@media (max-width:768px){.hover-preview-popup{display:none!important}}@media (hover:none){.hover-preview-popup{display:none!important}}
.movie-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1.25rem;display:grid}.movie-card-wrapper{border-radius:var(--radius);background:var(--bg-card);transition:all .3s;position:relative;overflow:hidden}.movie-card-wrapper:hover{transform:translateY(-6px);box-shadow:0 12px 30px #0006}.movie-card-poster-link,.movie-card-info-link{color:inherit;cursor:pointer;text-decoration:none;display:block}.movie-poster{aspect-ratio:2/3;position:relative;overflow:hidden}.movie-poster img{object-fit:cover;width:100%;height:100%;transition:transform .4s}.movie-card-wrapper:hover .movie-poster img{transform:scale(1.08)}.movie-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:6px;padding:3px 8px;font-size:.7rem;font-weight:700;position:absolute;top:8px;left:8px}.badge-quality{background:var(--accent);color:#fff}.badge-lang{color:#fff;background:#000000b3;top:8px;left:auto;right:8px}.badge-episode{background:var(--success);color:#fff;top:auto;bottom:8px;left:8px}.movie-info{padding:.75rem}.movie-title{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin-bottom:.3rem;font-size:.85rem;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.movie-year{color:var(--text-muted);font-size:.75rem}.movie-overlay{opacity:0;background:#0009;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:absolute;inset:0}.movie-card-wrapper:hover .movie-overlay{opacity:1}.play-icon{background:var(--accent);border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;font-size:1.3rem;display:flex;box-shadow:0 4px 20px #7c3aed80}@media (max-width:768px){.movie-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.6rem}.movie-info{padding:.5rem}.movie-title{font-size:.78rem}.movie-year{font-size:.7rem}.movie-badge{padding:2px 6px;font-size:.63rem}.play-icon{width:40px;height:40px;font-size:1.1rem}}@media (max-width:480px){.movie-grid{grid-template-columns:repeat(3,1fr);gap:.5rem}.movie-info{padding:.4rem}.movie-title{-webkit-line-clamp:1;line-clamp:1;font-size:.72rem}}
