.recommendations-section{border-top:1px solid #ffffff1a;margin:3rem 0;padding:3rem 0}.recommendations-title{background:linear-gradient(135deg,#db0000,#f44);-webkit-text-fill-color:transparent;letter-spacing:-.5px;-webkit-background-clip:text;background-clip:text;margin:0 0 2rem;font-size:2rem;font-weight:900;display:inline-block;position:relative}.recommendations-title:after{content:"";background:linear-gradient(90deg,#db0000,#0000);border-radius:2px;width:60px;height:4px;position:absolute;bottom:-8px;left:0}.recommendations-title .icon{display:none}.recommendations-loading{justify-content:center;padding:4rem 0;display:flex}.loading-spinner{border:4px solid #db000033;border-top-color:#db0000;border-radius:50%;width:50px;height:50px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.recommendations-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.75rem;display:grid}.recommendation-card{cursor:pointer;background:#ffffff05;border:1px solid #ffffff14;border-radius:12px;transition:all .4s cubic-bezier(.4,0,.2,1);animation:.5s ease-out fadeInUp;position:relative;overflow:hidden}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.recommendation-card:hover{border-color:#db000099;transform:translateY(-10px)scale(1.02);box-shadow:0 16px 40px #db000066}.recommendation-poster{aspect-ratio:2/3;background:linear-gradient(135deg,#db000026 0%,#0006 100%);width:100%;position:relative;overflow:hidden}.recommendation-poster img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;transition:transform .4s cubic-bezier(.4,0,.2,1)}.recommendation-card:hover .recommendation-poster img{transform:scale(1.12)}.poster-placeholder{background:#ffffff0d;justify-content:center;align-items:center;width:100%;height:100%;font-size:4rem;display:flex}.recommendation-overlay{opacity:0;background:#00000080;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:absolute;inset:0}.recommendation-card:hover .recommendation-overlay{opacity:1}.play-button{color:#fff;background:#db0000e6;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;font-size:1.5rem;transition:transform .3s;display:flex;transform:scale(.8)}.recommendation-card:hover .play-button{transform:scale(1)}.recommendation-info{background:linear-gradient(#0000004d 0%,#00000080 100%);flex-direction:column;justify-content:flex-start;gap:.5rem;min-height:105px;padding:1.25rem;display:flex}.recommendation-title{color:#fff;-webkit-line-clamp:2;line-clamp:2;text-shadow:0 2px 4px #0000004d;-webkit-box-orient:vertical;margin-bottom:0;font-size:1rem;font-weight:700;line-height:1.3;display:-webkit-box;overflow:hidden}.recommendation-explanation,.explanation-icon{display:none}.recommendation-rating{align-items:center;gap:.375rem;margin-top:auto;font-size:.875rem;display:flex}.recommendation-rating .star{color:#fbbf24}.recommendation-rating .score{color:#ffffffb3;font-weight:600}@media (max-width:1024px){.recommendations-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:1.5rem}}@media (max-width:768px){.recommendations-section{margin:2rem 0;padding:2rem 0}.recommendations-title{margin-bottom:1.5rem;font-size:1.6rem}.recommendations-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1.25rem}.recommendation-info{padding:1rem}.recommendation-title{font-size:.9rem}.play-button{width:50px;height:50px;font-size:1.25rem}}@media (max-width:480px){.recommendations-section{padding:1.5rem 1%}.recommendations-title{padding:0 1%;font-size:1.2rem}.recommendations-grid{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:thin;gap:.75rem;padding-bottom:.5rem;overflow-x:auto;grid-template-columns:none!important;display:flex!important}.recommendations-grid::-webkit-scrollbar{height:6px}.recommendations-grid::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.recommendations-grid::-webkit-scrollbar-thumb{background:#db000099;border-radius:3px}.recommendation-card{scroll-snap-align:start;flex:0 0 140px;min-width:140px}.recommendation-title{font-size:.85rem}.recommendation-rating{font-size:.75rem}}
