:root {
    --n-red: #E50914;
    --n-black: #141414;
    --n-dark: #000000;
    --n-grey: #181818;
    --n-light: #e5e5e5;
    --transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

* { margin: 0; padding: 0; box-sizing: border-box; }

body { 
    background-color: var(--n-black); 
    color: #fff; 
    font-family: 'Roboto', sans-serif; 
    overflow-x: hidden; 
    width: 100%; 
}

/* Navigation */
.navbar {
    position: fixed; top: 0; width: 100%; padding: 15px 4%;
    display: flex; align-items: center; z-index: 1000;
    background: linear-gradient(to bottom, rgba(0,0,0,0.9), transparent);
    transition: var(--transition);
}
.navbar.scrolled { background: var(--n-dark); padding: 10px 4%; border-bottom: 1px solid #222; }
.logo { color: var(--n-red); font-size: 1.8rem; font-weight: 900; text-decoration: none; letter-spacing: -2px; margin-right: 30px; cursor: pointer; text-transform: uppercase; }
.nav-links { display: flex; list-style: none; gap: 15px; }
.nav-links a { color: var(--n-light); text-decoration: none; font-size: 0.85rem; cursor: pointer; transition: 0.3s; }
.nav-links a.active { font-weight: 700; color: #fff; }

.search-wrap { margin-left: auto; position: relative; width: 100%; max-width: 250px; }
.search-box { background: rgba(0,0,0,0.6); border: 1px solid #444; padding: 6px 12px; border-radius: 4px; display: flex; align-items: center; gap: 8px; }
.search-box input { background: transparent; border: none; color: #fff; outline: none; width: 100%; font-size: 0.85rem; }

/* Search Overlay - Fully Opaque */
#search-overlay {
    position: fixed; top: 60px; left: 0; width: 100%; height: calc(100vh - 60px);
    background: var(--n-black); z-index: 950; display: none; padding: 40px 4%;
    overflow-y: auto;
}
.search-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 15px; }

/* Billboard Section */
.billboard {
    height: 85vh; width: 100%; background-size: cover; background-position: center center;
    display: flex; align-items: center; padding: 0 4%; position: relative;
}
.billboard::after {
    content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    background: linear-gradient(to right, rgba(0,0,0,0.9) 0%, transparent 60%),
                linear-gradient(to top, var(--n-black) 0%, transparent 30%);
}
.billboard-content { position: relative; z-index: 2; max-width: 650px; }
.billboard-title { font-size: clamp(2rem, 6vw, 4rem); font-weight: 900; margin-bottom: 0.8rem; line-height: 1.1; }
.billboard-desc { font-size: 1.1rem; line-height: 1.4; margin-bottom: 2rem; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.btn-play { background: #fff; color: #000; border: none; padding: 12px 30px; border-radius: 4px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 10px; font-size: 1rem; transition: 0.2s; }

/* Rows Layout */
.main-content { margin-top: -120px; position: relative; z-index: 10; padding-bottom: 50px; }
.row { padding: 20px 0 10px 4%; }
.row-title { font-size: 1.3rem; font-weight: 700; margin-bottom: 12px; color: #e5e5e5; }
.posters { display: flex; overflow-x: auto; gap: 10px; padding: 10px 0; scrollbar-width: none; }
.posters::-webkit-scrollbar { display: none; }

.card { min-width: 220px; height: 125px; background: #222; border-radius: 4px; cursor: pointer; transition: var(--transition); flex-shrink: 0; }
.card:hover { transform: scale(1.1); z-index: 50; }
.card img { width: 100%; height: 100%; object-fit: cover; border-radius: 4px; }
.row-portrait .card { min-width: 170px; height: 255px; }

/* Fullpage Player Overlay */
#player-overlay {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background: #000; z-index: 2000; display: none; flex-direction: column; align-items: center;
    overflow-y: auto; padding-bottom: 50px;
}
.p-nav { width: 100%; padding: 20px 4%; display: flex; align-items: center; gap: 20px; background: #111; }
.p-nav button { background: none; border: none; color: #fff; font-size: 1.5rem; cursor: pointer; }

.video-box {
    width: 90%; max-width: 900px; aspect-ratio: 16/9; background: #000; margin-top: 20px;
    box-shadow: 0 0 30px rgba(0,0,0,0.8); border: 1px solid #333;
}
.video-box iframe { width: 100%; height: 100%; border: 0; }

.p-info { width: 90%; max-width: 900px; margin-top: 30px; }
.selectors { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 15px; margin-bottom: 25px; }
.sel-group { display: flex; flex-direction: column; gap: 5px; }
.sel-group label { font-size: 0.7rem; font-weight: 700; color: #888; text-transform: uppercase; }
.sel-group select { background: #222; color: #fff; border: 1px solid #444; padding: 12px; border-radius: 4px; outline: none; width: 100%; cursor: pointer; }

.srv-wrap { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 10px; }
.srv-btn { background: #181818; border: 1px solid #333; color: #fff; padding: 10px 16px; border-radius: 4px; cursor: pointer; font-size: 0.8rem; font-weight: 600; }
.srv-btn.active { background: var(--n-red); border-color: var(--n-red); }

footer { padding: 50px; text-align: center; color: #666; border-top: 1px solid #222; font-size: 0.85rem; }
.heart { color: var(--n-red); animation: pulse 1.5s infinite; }

@keyframes pulse { 0% {transform: scale(1);} 50% {transform: scale(1.2);} 100% {transform: scale(1);} }

@media (max-width: 768px) {
    .nav-links { display: none; }
    .billboard { height: 70vh; }
    .main-content { margin-top: -80px; }
    .video-box { width: 100%; margin-top: 0; }
    .card { min-width: 160px; height: 90px; }
    .row-portrait .card { min-width: 130px; height: 195px; }
}
