.hero-wrapper { position: relative; height: 85vh; width: 100%; overflow: hidden; } .hero-background { position: absolute; inset: 0; z-index: 0; } #hero-bg-media { width: 100%; height: 100%; object-fit: cover; opacity: 0.6; transform: scale(1.1); transition: opacity 1s ease; } .hero-vignette { position: absolute; inset: 0; background: radial-gradient( circle at center, transparent 0%, var(--color-bg-base) 120% ), linear-gradient(to top, var(--color-bg-base) 10%, transparent 60%); z-index: 1; } .hero-content { position: relative; z-index: 10; height: 100%; max-width: 1600px; margin: 0 auto; padding: 0 3rem; display: flex; align-items: flex-end; padding-bottom: 6rem; gap: 3rem; } .hero-poster-card { width: 260px; height: 380px; border-radius: var(--radius-lg); overflow: hidden; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.7); border: 1px solid rgba(255, 255, 255, 0.1); flex-shrink: 0; background: #1a1a1a; } .hero-poster-card img { width: 100%; height: 100%; object-fit: cover; } .hero-text { flex: 1; max-width: 800px; margin-bottom: 1rem; animation: fadeInUp 0.8s ease; } .hero-title { font-size: 4rem; font-weight: 900; line-height: 1.1; margin: 0 0 1rem 0; text-shadow: 0 4px 20px rgba(0, 0, 0, 0.8); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; } .hero-meta { display: flex; align-items: center; gap: 1.5rem; margin-bottom: 1.5rem; font-size: 1.1rem; font-weight: 600; } .hero-desc { font-size: 1.1rem; line-height: 1.6; color: #e4e4e7; margin-bottom: 2rem; max-width: 650px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5); } .hero-buttons { display: flex; gap: 1rem; } .hero-overlay { position: absolute; inset: 0; background: radial-gradient( circle at center, transparent 0%, var(--color-bg-base) 120% ), linear-gradient( to top, var(--color-bg-base) 10%, rgba(9, 9, 11, 0.8) 25%, transparent 60% ); z-index: 1; } .score-badge { color: #22c55e; background: rgba(34, 197, 94, 0.1); padding: 0.2rem 0.8rem; border-radius: 6px; border: 1px solid rgba(34, 197, 94, 0.2); } @media (max-width: 768px) { .hero-wrapper { height: auto; min-height: 85vh; } .hero-content { flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 6rem 1.5rem 3rem 1.5rem; gap: 2rem; } .hero-poster-card { width: 150px; height: 225px; box-shadow: 0 15px 35px rgba(0, 0, 0, 0.6); border: 2px solid rgba(255, 255, 255, 0.15); margin-bottom: 0.5rem; } .hero-text { width: 100%; margin-bottom: 0; } .hero-title { font-size: 2.2rem; line-height: 1.1; margin-bottom: 0.8rem; text-shadow: 0 4px 20px rgba(0, 0, 0, 0.9); } .hero-meta { justify-content: center; flex-wrap: wrap; gap: 0.8rem; font-size: 0.9rem; } .hero-desc { font-size: 1rem; line-height: 1.5; -webkit-line-clamp: 3; max-width: 100%; padding: 0 0.5rem; } .hero-buttons { flex-direction: column; width: 100%; gap: 1rem; } .hero-buttons .btn-primary, .hero-buttons .btn-blur { width: 100%; justify-content: center; padding: 1rem; } .hero-overlay { background: radial-gradient( circle at center, transparent 0%, var(--color-bg-base) 140% ), linear-gradient( to top, var(--color-bg-base) 15%, rgba(0, 0, 0, 0.8) 40%, rgba(0, 0, 0, 0.6) 100% ); } }