/* NaijaPrey v5 Suite — All New Feature Styles */

/* ═══════════════════════════════════════════
   HERO CAROUSEL
   ═══════════════════════════════════════════ */
.np-hero-carousel { position:relative; width:100%; overflow:hidden; background:#050d18; height:320px; border-radius:14px; margin-bottom:28px; box-shadow:0 4px 40px rgba(0,0,0,.5); }
.np-hero-track { position:relative; width:100%; height:320px; }
.np-hero-slide { position:absolute; inset:0; display:flex; align-items:center; opacity:0; transition:opacity .55s ease; pointer-events:none; padding:32px 28px; height:320px; }
.np-hero-slide.active { opacity:1; pointer-events:all; }
.np-hero-slide-bg { position:absolute; inset:-20px; background-image:var(--slide-bg); background-size:cover; background-position:center; filter:blur(10px) brightness(.28) saturate(1.2); z-index:0; }
.np-hero-slide-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(5,13,24,.96) 38%,rgba(5,13,24,.25) 100%); z-index:1; }
.np-hero-slide-content { position:relative; z-index:2; max-width:540px; }
.np-hero-thumb-wrap { position:absolute; right:5%; top:50%; transform:translateY(-50%); z-index:2; display:none; }
@media(min-width:900px){ .np-hero-thumb-wrap{display:block;} }
.np-hero-thumb { width:180px; border-radius:12px; box-shadow:0 20px 60px rgba(0,0,0,.8); aspect-ratio:2/3; object-fit:cover; }
.np-hero-meta { display:flex; gap:8px; margin-bottom:12px; flex-wrap:wrap; }
.np-hero-genre, .np-hero-year, .np-hero-rating { font-size:11px; font-weight:700; padding:3px 10px; border-radius:20px; letter-spacing:.5px; text-transform:uppercase; }
.np-hero-genre { background:rgba(29,185,84,.2); border:1px solid rgba(29,185,84,.4); color:#1db954; }
.np-hero-year  { background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.2); color:rgba(255,255,255,.7); }
.np-hero-rating{ background:rgba(243,156,18,.2); border:1px solid rgba(243,156,18,.4); color:#f39c12; }
.np-hero-title { font-size:clamp(22px,5vw,42px); font-weight:900; color:#fff; margin:0 0 12px; font-family:'Oswald',sans-serif; text-transform:uppercase; letter-spacing:1px; line-height:1.05; text-shadow:0 2px 20px rgba(0,0,0,.5); }
.np-hero-excerpt { font-size:14px; color:rgba(255,255,255,.65); margin:0 0 20px; line-height:1.6; max-width:440px; }
.np-hero-actions { display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.np-hero-btn { display:inline-flex; align-items:center; gap:8px; padding:12px 24px; border-radius:8px; font-size:14px; font-weight:700; cursor:pointer; text-decoration:none; transition:all .2s; border:none; font-family:'Oswald',sans-serif; letter-spacing:.5px; }
.np-hero-btn-primary { background:linear-gradient(135deg,#ff4444,#c1121f); color:#fff; box-shadow:0 4px 20px rgba(220,38,38,.4); }
.np-hero-btn-primary:hover { transform:translateY(-2px); box-shadow:0 8px 30px rgba(220,38,38,.5); color:#fff; text-decoration:none; }
.np-hero-btn-wl { background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.2); color:#fff; padding:12px; border-radius:8px; }
.np-hero-btn-wl.in-wl { background:rgba(29,185,84,.2); border-color:rgba(29,185,84,.4); color:#1db954; }
.np-hero-btn-wl:hover { background:rgba(255,255,255,.18); }
.np-hero-prev,.np-hero-next { position:absolute; top:50%; transform:translateY(-50%); background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.15); color:#fff; width:44px; height:44px; border-radius:50%; font-size:22px; cursor:pointer; z-index:5; display:flex; align-items:center; justify-content:center; transition:all .2s; }
.np-hero-prev { left:16px; } .np-hero-next { right:16px; }
.np-hero-prev:hover,.np-hero-next:hover { background:rgba(220,38,38,.3); border-color:#ff4444; }
.np-hero-dots { position:absolute; bottom:16px; left:50%; transform:translateX(-50%); display:flex; gap:8px; z-index:5; }
.np-hero-dot { width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,.3); border:none; cursor:pointer; transition:all .2s; }
.np-hero-dot.active { background:linear-gradient(135deg,#ff4444,#c1121f); width:24px; border-radius:4px; }
.np-hero-progress { position:absolute; bottom:0; left:0; right:0; height:2px; background:rgba(255,255,255,.1); z-index:5; }
.np-hero-progress-bar { height:100%; background:linear-gradient(135deg,#ff4444,#c1121f); width:0; }
@media(max-width:600px){ .np-hero-title{font-size:22px;} .np-hero-excerpt{display:none;} .np-hero-carousel,.np-hero-track,.np-hero-slide.active{min-height:260px;} }

/* ═══════════════════════════════════════════
   STAR RATING
   ═══════════════════════════════════════════ */
.np-star-widget { padding:16px 0; border-top:1px solid rgba(255,255,255,.07); border-bottom:1px solid rgba(255,255,255,.07); margin:16px 0; display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.np-stars-label { font-size:13px; color:rgba(255,255,255,.6); }
.np-stars-row { display:flex; gap:2px; }
.np-star-btn { background:none; border:none; color:rgba(255,255,255,.2); cursor:pointer; padding:2px; transition:color .15s; line-height:1; }
.np-star-btn.lit, .np-star-btn:hover { color:#f39c12; }
.np-stars-avg { font-size:18px; font-weight:800; color:#f39c12; }
.np-stars-count { font-size:12px; color:rgba(255,255,255,.5); }
.np-stars-info { display:flex; gap:6px; align-items:baseline; }

/* ═══════════════════════════════════════════
   EMOJI REACTIONS
   ═══════════════════════════════════════════ */
.np-reactions { display:flex; gap:8px; flex-wrap:wrap; padding:12px 0; }
.np-reaction-btn { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); border-radius:20px; padding:6px 12px; cursor:pointer; display:flex; align-items:center; gap:5px; font-size:13px; transition:all .15s; color:rgba(255,255,255,.7); }
.np-reaction-btn:hover { background:rgba(255,255,255,.12); transform:scale(1.06); }
.np-reaction-btn.active { background:rgba(29,185,84,.15); border-color:rgba(29,185,84,.4); color:#1db954; }
.np-re-emoji { font-size:18px; line-height:1; }
.np-re-count { font-size:12px; font-weight:700; }

/* ═══════════════════════════════════════════
   TOAST NOTIFICATIONS
   ═══════════════════════════════════════════ */
#np-toast-container { position:fixed; bottom:80px; left:50%; transform:translateX(-50%); z-index:99999; display:flex; flex-direction:column; gap:8px; pointer-events:none; width:max-content; max-width:92vw; }
.np-toast { background:#1a2638; border:1px solid rgba(29,185,84,.3); border-radius:10px; padding:11px 20px; font-size:13px; color:#fff; box-shadow:0 8px 30px rgba(0,0,0,.4); opacity:0; transform:translateY(12px); transition:all .3s cubic-bezier(.34,1.56,.64,1); pointer-events:all; text-align:center; }
.np-toast.show { opacity:1; transform:translateY(0); }
.np-toast-error { border-color:rgba(231,76,60,.4); background:#2a1018; }
.np-toast-info { border-color:rgba(52,152,219,.4); }

/* ═══════════════════════════════════════════
   LIGHTBOX
   ═══════════════════════════════════════════ */
#np-lightbox { position:fixed; inset:0; background:rgba(0,0,0,.92); z-index:99998; display:none; align-items:center; justify-content:center; padding:20px; }
#np-lb-close { position:fixed; top:16px; right:20px; background:rgba(255,255,255,.1); border:none; color:#fff; font-size:22px; cursor:pointer; width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center; }
#np-lb-inner { max-width:90vw; max-height:90vh; }
#np-lb-img { max-width:100%; max-height:85vh; border-radius:8px; object-fit:contain; box-shadow:0 20px 80px rgba(0,0,0,.8); }

/* ═══════════════════════════════════════════
   RECENTLY VIEWED
   ═══════════════════════════════════════════ */
.np-recently-viewed { padding:16px 0; border-top:1px solid rgba(255,255,255,.07); margin-top:12px; }
.np-rv-title { font-size:12px; font-weight:700; color:rgba(255,255,255,.4); text-transform:uppercase; letter-spacing:.5px; margin-bottom:10px; }
.np-rv-list { display:flex; gap:8px; overflow-x:auto; padding-bottom:6px; scrollbar-width:none; }
.np-rv-list::-webkit-scrollbar { display:none; }
.np-rv-item { flex-shrink:0; width:54px; display:flex; flex-direction:column; gap:4px; text-decoration:none; }
.np-rv-item img { width:54px; height:80px; object-fit:cover; border-radius:6px; border:1px solid rgba(255,255,255,.1); }
.np-rv-noposter { width:54px; height:80px; background:#1a2638; border-radius:6px; display:flex; align-items:center; justify-content:center; font-size:22px; }
.np-rv-name { font-size:10px; color:rgba(255,255,255,.5); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

/* ═══════════════════════════════════════════
   POLLS
   ═══════════════════════════════════════════ */
.np-poll-widget { background:#111e2f; border:1px solid rgba(29,185,84,.2); border-radius:12px; padding:16px; margin:16px 0; }
.np-poll-question { font-size:15px; font-weight:700; color:#fff; margin-bottom:12px; }
.np-poll-option { position:relative; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); border-radius:8px; padding:10px 12px; margin-bottom:8px; cursor:pointer; overflow:hidden; transition:border-color .15s; }
.np-poll-option.selected { border-color:#1db954; }
.np-poll-option.voted { cursor:default; }
.np-poll-bar-wrap { position:absolute; inset:0; z-index:0; }
.np-poll-bar { height:100%; background:rgba(29,185,84,.12); transition:width .6s ease; }
.np-poll-row { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; }
.np-poll-label { font-size:13px; color:#e2e8f0; }
.np-poll-pct { font-size:12px; font-weight:700; color:#1db954; }
.np-poll-footer { display:flex; align-items:center; gap:12px; margin-top:10px; }
.np-poll-vote-btn { background:linear-gradient(135deg,#ff4444,#c1121f); color:#fff; border:none; border-radius:8px; padding:8px 18px; font-size:13px; font-weight:700; cursor:pointer; }
.np-poll-total { font-size:12px; color:rgba(255,255,255,.4); }
.np-poll-voted-badge { font-size:12px; color:#1db954; font-weight:700; }

/* ═══════════════════════════════════════════
   LEADERBOARD
   ═══════════════════════════════════════════ */
.np-leaderboard { background:#111e2f; border:1px solid rgba(29,185,84,.15); border-radius:12px; padding:16px; margin:16px 0; }
.np-lb-title { font-size:14px; font-weight:700; color:#fff; margin:0 0 12px; font-family:'Oswald',sans-serif; }
.np-lb-row { display:flex; align-items:center; gap:10px; padding:8px 0; border-bottom:1px solid rgba(255,255,255,.05); }
.np-lb-row:last-child { border-bottom:none; }
.np-lb-rank { font-size:18px; min-width:28px; }
.np-lb-name { flex:1; font-size:13px; color:#e2e8f0; font-weight:500; }
.np-lb-count { font-size:12px; color:rgba(255,255,255,.4); }

/* ═══════════════════════════════════════════
   PWA INSTALL BANNER
   ═══════════════════════════════════════════ */
.np-pwa-banner { position:fixed; bottom:70px; left:16px; right:16px; background:#1a2638; border:1px solid rgba(29,185,84,.3); border-radius:12px; padding:12px 16px; z-index:9990; box-shadow:0 8px 40px rgba(0,0,0,.5); }
.np-pwa-banner-inner { display:flex; align-items:center; gap:12px; }
.np-pwa-icon { font-size:28px; flex-shrink:0; }
.np-pwa-text { flex:1; }
.np-pwa-text strong { display:block; font-size:14px; color:#fff; }
.np-pwa-text span { font-size:12px; color:rgba(255,255,255,.5); }
.np-pwa-install-btn { background:linear-gradient(135deg,#ff4444,#c1121f); color:#fff; border:none; border-radius:8px; padding:8px 16px; font-size:13px; font-weight:700; cursor:pointer; white-space:nowrap; }
.np-pwa-dismiss-btn { background:none; border:none; color:rgba(255,255,255,.4); cursor:pointer; font-size:18px; flex-shrink:0; }

/* ═══════════════════════════════════════════
   PUSH NOTIFICATION PROMPT
   ═══════════════════════════════════════════ */
.np-push-prompt { position:fixed; top:80px; right:16px; background:#1a2638; border:1px solid rgba(29,185,84,.3); border-radius:12px; padding:14px 16px; z-index:9989; box-shadow:0 8px 40px rgba(0,0,0,.5); max-width:320px; }
.np-push-inner { display:flex; align-items:flex-start; gap:10px; flex-wrap:wrap; }
.np-push-icon { font-size:24px; flex-shrink:0; }
.np-push-inner > div { flex:1; min-width:180px; }
.np-push-inner strong { display:block; font-size:13px; color:#fff; margin-bottom:2px; }
.np-push-inner span { font-size:12px; color:rgba(255,255,255,.5); }
.np-push-btn-yes { background:linear-gradient(135deg,#ff4444,#c1121f); color:#fff; border:none; border-radius:6px; padding:7px 14px; font-size:12px; font-weight:700; cursor:pointer; }
.np-push-btn-no  { background:none; border:none; color:rgba(255,255,255,.4); font-size:12px; cursor:pointer; padding:7px 10px; }

/* ═══════════════════════════════════════════
   GDPR BANNER
   ═══════════════════════════════════════════ */
.np-gdpr-banner { position:fixed; bottom:70px; left:0; right:0; background:#111e2f; border-top:1px solid rgba(255,255,255,.08); padding:14px 20px; z-index:9988; }
.np-gdpr-inner { max-width:900px; margin:0 auto; display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.np-gdpr-text { flex:1; font-size:13px; color:rgba(255,255,255,.7); margin:0; min-width:200px; }
.np-gdpr-text a { color:#1db954; }
.np-gdpr-btns { display:flex; gap:8px; }
.np-gdpr-accept { background:linear-gradient(135deg,#ff4444,#c1121f); color:#fff; border:none; border-radius:6px; padding:8px 18px; font-size:13px; font-weight:700; cursor:pointer; }
.np-gdpr-reject { background:rgba(255,255,255,.08); color:rgba(255,255,255,.7); border:1px solid rgba(255,255,255,.15); border-radius:6px; padding:8px 14px; font-size:13px; cursor:pointer; }

/* ═══════════════════════════════════════════
   ADVANCED FILTER
   ═══════════════════════════════════════════ */
.np-filter-bar { background:#111e2f; border:1px solid rgba(255,255,255,.08); border-radius:12px; padding:16px; margin-bottom:24px; }
.np-filter-row { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.np-filter-select { background:#1a2638; border:1px solid rgba(255,255,255,.1); color:#fff; padding:9px 12px; border-radius:8px; font-size:13px; cursor:pointer; flex:1; min-width:130px; }
.np-filter-select:focus { outline:none; border-color:#1db954; }
.np-filter-btn { background:linear-gradient(135deg,#ff4444,#c1121f); color:#fff; border:none; border-radius:8px; padding:9px 20px; font-size:13px; font-weight:700; cursor:pointer; white-space:nowrap; }
.np-filter-reset { background:rgba(255,255,255,.06); color:rgba(255,255,255,.6); border:1px solid rgba(255,255,255,.1); border-radius:8px; padding:9px 14px; font-size:13px; cursor:pointer; white-space:nowrap; }
.np-filter-count { font-size:12px; color:rgba(255,255,255,.4); margin-top:8px; }
.np-filter-load-more { background:#1a2638; color:#fff; border:1px solid rgba(255,255,255,.1); border-radius:8px; padding:12px 32px; font-size:14px; cursor:pointer; width:100%; margin-top:20px; }
.np-filter-no-results { text-align:center; padding:60px 20px; color:rgba(255,255,255,.4); }
.np-filter-no-results span { font-size:48px; display:block; margin-bottom:12px; }
.np-filter-loading { min-height:200px; }

/* ═══════════════════════════════════════════
   INTERSTITIAL DOWNLOAD
   ═══════════════════════════════════════════ */
.np-interstitial-page { min-height:70vh; display:flex; align-items:center; justify-content:center; padding:40px 20px; }
.np-interstitial-inner { background:#111e2f; border:1px solid rgba(29,185,84,.2); border-radius:16px; padding:32px; max-width:440px; width:100%; text-align:center; }
.np-interstitial-poster { width:100px; border-radius:10px; margin-bottom:16px; aspect-ratio:2/3; object-fit:cover; }
.np-interstitial-title { font-size:20px; font-weight:700; color:#fff; margin:0 0 8px; font-family:'Oswald',sans-serif; }
.np-interstitial-sub { font-size:13px; color:rgba(255,255,255,.5); margin:0 0 20px; }
.np-interstitial-countdown { font-size:48px; font-weight:900; color:#1db954; line-height:1; margin-bottom:12px; font-family:'Oswald',sans-serif; }
.np-interstitial-bar { height:4px; background:rgba(255,255,255,.1); border-radius:4px; overflow:hidden; margin-bottom:20px; }
.np-interstitial-bar-fill { height:100%; background:linear-gradient(135deg,#ff4444,#c1121f); width:0; animation:np-dl-count linear forwards; }
@keyframes np-dl-count { from{width:0} to{width:100%} }
.np-interstitial-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; background:linear-gradient(135deg,#ff4444,#c1121f); color:#fff; text-decoration:none; padding:14px 32px; border-radius:10px; font-size:15px; font-weight:700; width:100%; box-sizing:border-box; font-family:'Oswald',sans-serif; letter-spacing:.5px; transition:all .2s; }
.np-interstitial-btn-disabled { background:#1a2638; color:rgba(255,255,255,.3); cursor:not-allowed; }
.np-interstitial-btn-ready { background:linear-gradient(135deg,#ff4444,#c1121f); color:#fff; cursor:pointer; }
.np-interstitial-btn-ready:hover { background:#16a34a; transform:translateY(-1px); }
.np-interstitial-note { font-size:11px; color:rgba(255,255,255,.3); margin-top:10px; }
.np-interstitial-ad { margin-top:20px; border-top:1px solid rgba(255,255,255,.07); padding-top:16px; }

/* ═══════════════════════════════════════════
   CRYPTO DONATION WIDGET
   ═══════════════════════════════════════════ */
.np-crypto-widget { background:#111e2f; border:1px solid rgba(29,185,84,.15); border-radius:12px; padding:16px; margin:16px 0; }
.np-crypto-title { font-size:14px; font-weight:700; color:#fff; margin:0 0 12px; }
.np-crypto-row { display:flex; align-items:center; gap:8px; padding:8px 0; border-bottom:1px solid rgba(255,255,255,.05); flex-wrap:wrap; }
.np-crypto-row:last-child { border-bottom:none; }
.np-crypto-label { font-size:12px; font-weight:700; color:#1db954; min-width:80px; }
.np-crypto-addr { font-size:11px; color:rgba(255,255,255,.6); background:rgba(255,255,255,.05); padding:4px 8px; border-radius:4px; flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.np-crypto-copy { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); color:rgba(255,255,255,.7); border-radius:6px; padding:4px 10px; font-size:11px; cursor:pointer; white-space:nowrap; }
.np-crypto-copy:hover { background:rgba(255,255,255,.15); }

/* ═══════════════════════════════════════════
   SPOILER BLUR
   ═══════════════════════════════════════════ */
.np-spoiler { filter:blur(4px); cursor:pointer; user-select:none; transition:filter .3s; background:rgba(255,255,255,.06); border-radius:4px; padding:2px 4px; }
.np-spoiler.revealed { filter:none; }

/* ═══════════════════════════════════════════
   GENRE SECTION TITLES
   ═══════════════════════════════════════════ */
.section-title::before { content:''; display:inline-block; width:4px; height:16px; background:linear-gradient(135deg,#ff4444,#c1121f); border-radius:2px; margin-right:8px; vertical-align:middle; }

/* ═══════════════════════════════════════════
   WATCHLIST PAGE
   ═══════════════════════════════════════════ */
.np-wl-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; flex-wrap:wrap; gap:10px; }
.np-wl-title { font-size:24px; font-weight:900; color:#fff; margin:0; font-family:'Oswald',sans-serif; }
.np-wl-clear-btn,.np-wl-browse-btn { background:linear-gradient(135deg,#ff4444,#c1121f); color:#fff; border:none; border-radius:8px; padding:9px 20px; font-size:13px; font-weight:700; cursor:pointer; text-decoration:none; display:inline-flex; }
.np-wl-empty { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:300px; text-align:center; gap:12px; }
.np-wl-empty span { font-size:64px; }
.np-wl-empty p { font-size:16px; color:rgba(255,255,255,.5); margin:0; }
.np-wl-remove { background:rgba(231,76,60,.15); border:1px solid rgba(231,76,60,.3); color:#e74c3c; border-radius:0 0 8px 8px; width:100%; padding:6px; font-size:12px; cursor:pointer; margin-top:-1px; }

/* ═══════════════════════════════════════════
   VOICE SEARCH BUTTON
   ═══════════════════════════════════════════ */
.np-voice-btn { position:fixed; bottom:90px; right:18px; background:linear-gradient(135deg,#ff4444,#c1121f); border:none; border-radius:50%; width:46px; height:46px; display:flex; align-items:center; justify-content:center; cursor:pointer; color:#fff; z-index:990; box-shadow:0 4px 20px rgba(220,38,38,.4); transition:all .2s; }
.np-voice-btn:hover { transform:scale(1.1); }
.np-voice-btn.listening { animation:np-pulse-ring 1s infinite; background:#c1121f; }
@keyframes np-pulse-ring { 0%{box-shadow:0 0 0 0 rgba(231,76,60,.5)} 70%{box-shadow:0 0 0 12px rgba(231,76,60,0)} 100%{box-shadow:0 0 0 0 rgba(231,76,60,0)} }

/* ═══════════════════════════════════════════
   COPY LINK BUTTON
   ═══════════════════════════════════════════ */
.np-copy-link-btn { background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.12); color:rgba(255,255,255,.6); border-radius:6px; padding:6px 12px; font-size:12px; display:inline-flex; align-items:center; gap:6px; cursor:pointer; transition:all .15s; }
.np-copy-link-btn:hover { background:rgba(255,255,255,.12); color:#fff; }

/* ═══════════════════════════════════════════
   PRINT STYLES
   ═══════════════════════════════════════════ */
@media print {
  .site-header,.o2-bottom-nav,.np-site-footer,.np-discuss-wrap,.np-reactions,.np-star-widget,#np-toast-container,.np-pwa-banner,.np-gdpr-banner { display:none!important; }
  body { background:#fff!important; color:#000!important; }
  .post-body { max-width:100%; }
  a { color:#000; text-decoration:underline; }
  img { max-width:100%; break-inside:avoid; }
}

/* ═══════════════════════════════════════════
   COMMUNITY SEARCH BAR
   ═══════════════════════════════════════════ */
.np-chat-search-wrap { padding:8px 12px; border-bottom:1px solid rgba(255,255,255,.06); }
.np-chat-search-inp { width:100%; background:#1a2638; border:1px solid rgba(255,255,255,.08); border-radius:8px; padding:8px 12px; color:#fff; font-size:13px; }
.np-chat-search-inp:focus { outline:none; border-color:#1db954; }
.np-chat-search-results { padding:8px; max-height:200px; overflow-y:auto; }
.np-csr-item { padding:8px; border-radius:6px; cursor:pointer; font-size:12px; color:rgba(255,255,255,.7); }
.np-csr-item:hover { background:rgba(255,255,255,.06); }
.np-csr-name { font-weight:700; color:#1db954; margin-right:6px; }

/* ═══════════════════════════════════════════
   MARKETING ADS SLIDER (homepage)
   ═══════════════════════════════════════════ */
.np-ads-slider { position:relative; width:100%; overflow:hidden; background:#050d18; min-height:160px; }
.np-ads-track { position:relative; min-height:160px; }
.np-ad-slide { position:absolute; inset:0; display:flex; align-items:center; padding:24px 60px; opacity:0; pointer-events:none; transition:opacity .5s ease; min-height:160px; }
.np-ad-slide.active { opacity:1; position:relative; pointer-events:all; }
.np-ad-slide-bg { position:absolute; inset:0; background-size:cover; background-position:center; filter:brightness(.25) saturate(1.4); }
.np-ad-slide-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(5,13,24,.98) 40%,rgba(5,13,24,.6)); }
.np-ad-slide-content { position:relative; z-index:1; max-width:700px; }
.np-ad-badge { display:inline-block; background:rgba(255,68,68,.2); border:1px solid rgba(255,68,68,.4); color:#ff6b35; font-size:10px; font-weight:700; padding:2px 8px; border-radius:10px; letter-spacing:.5px; text-transform:uppercase; margin-bottom:8px; }
.np-ad-title { font-size:clamp(18px,3vw,28px); font-weight:900; color:#fff; margin:0 0 6px; font-family:'Oswald',sans-serif; text-transform:uppercase; letter-spacing:1px; }
.np-ad-body { font-size:13px; color:rgba(255,255,255,.6); margin:0 0 14px; line-height:1.5; }
.np-ad-cta-btn { display:inline-flex; align-items:center; gap:6px; background:linear-gradient(135deg,#ff4444,#c1121f); color:#fff; text-decoration:none; padding:10px 22px; border-radius:6px; font-size:13px; font-weight:700; transition:all .2s; }
.np-ad-cta-btn:hover { transform:translateY(-1px); box-shadow:0 4px 16px rgba(220,38,38,.4); color:#fff; text-decoration:none; }
.np-ads-prev,.np-ads-next { position:absolute; top:50%; transform:translateY(-50%); background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.15); color:#fff; width:38px; height:38px; border-radius:50%; font-size:20px; cursor:pointer; z-index:5; display:flex; align-items:center; justify-content:center; }
.np-ads-prev { left:12px; } .np-ads-next { right:12px; }
.np-ads-dots { position:absolute; bottom:10px; right:16px; display:flex; gap:6px; z-index:5; }
.np-ads-dot { width:7px; height:7px; border-radius:50%; background:rgba(255,255,255,.3); border:none; cursor:pointer; }
.np-ads-dot.active { background:#ff4444; width:20px; border-radius:4px; }

/* ═══════════════════════════════════════════
   SINGLE POST AD BANNER (before comments)
   ═══════════════════════════════════════════ */
.np-single-ad-banner { position:relative; display:flex; align-items:center; gap:16px; border-radius:12px; padding:16px 44px 16px 16px; margin:24px 0; overflow:hidden; border:1px solid rgba(255,68,68,.2); }
.np-single-ad-img { position:absolute; inset:0; background-size:cover; background-position:center; filter:brightness(.2); }
.np-single-ad-content { position:relative; z-index:1; flex:1; }
.np-ad-badge-sm { font-size:9px; padding:2px 7px; }
.np-single-ad-title { font-size:16px; font-weight:800; color:#fff; margin:4px 0 4px; font-family:'Oswald',sans-serif; }
.np-single-ad-body { font-size:12px; color:rgba(255,255,255,.6); margin:0 0 10px; }
.np-ad-cta-sm { padding:7px 16px; font-size:12px; }
.np-single-ad-close { position:absolute; top:8px; right:10px; background:none; border:none; color:rgba(255,255,255,.4); cursor:pointer; font-size:16px; z-index:2; }
.np-single-ad-close:hover { color:#fff; }

/* ═══════════════════════════════════════════
   WATCHLIST STRIP (between categories)
   ═══════════════════════════════════════════ */
.np-watchlist-cta-strip { background:linear-gradient(135deg,#0f1d35 0%,#1a0d0d 100%); border:1px solid rgba(255,68,68,.2); border-radius:12px; padding:16px 20px; margin:24px 0; }
.np-wl-strip-inner { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.np-wl-strip-left { display:flex; align-items:center; gap:12px; }
.np-wl-strip-icon { font-size:28px; flex-shrink:0; }
.np-wl-strip-title { display:block; font-size:16px; font-weight:800; color:#fff; font-family:'Oswald',sans-serif; letter-spacing:.5px; }
.np-wl-strip-sub { font-size:12px; color:rgba(255,255,255,.5); }
.np-wl-strip-btn { display:inline-flex; align-items:center; gap:8px; background:linear-gradient(135deg,#ff4444,#c1121f); color:#fff; text-decoration:none; padding:10px 20px; border-radius:8px; font-size:13px; font-weight:700; transition:all .2s; white-space:nowrap; }
.np-wl-strip-btn:hover { transform:translateY(-1px); box-shadow:0 4px 16px rgba(220,38,38,.4); color:#fff; text-decoration:none; }
.np-wl-strip-count { font-size:12px; opacity:.8; }

/* ═══════════════════════════════════════════
   COMMUNITY CTA LIVE DOT — red accent
   ═══════════════════════════════════════════ */
.np-cta3d-live-dot { background:#ff4444 !important; box-shadow:0 0 6px #ff4444 !important; }
.np-cta3d-online-dot { background:#ff4444 !important; box-shadow:0 0 8px #ff4444 !important; }
#np-cta3d-count-num { color:#ff6b35 !important; }
.np-cta3d-live-count { border-color:rgba(255,68,68,.25) !important; background:rgba(255,68,68,.1) !important; }
.np-disc-live-badge { background:rgba(255,68,68,.2) !important; border-color:rgba(255,68,68,.4) !important; color:#ff6b35 !important; }
.np-disc-live-dot { background:#ff4444 !important; }
.np-cta3d-badge-live { background:rgba(255,68,68,.15) !important; border-color:rgba(255,68,68,.4) !important; color:#ff6b35 !important; }

/* ═══════════════════════════════════════════
   MOBILE RESPONSIVE FIXES
   ═══════════════════════════════════════════ */
@media (max-width:600px) {
  .np-ads-slider { min-height:130px; }
  .np-ad-slide { padding:16px 44px 16px 16px; min-height:130px; }
  .np-ad-title { font-size:16px; }
  .np-ad-body { display:none; }
  .np-wl-strip-inner { flex-direction:column; align-items:flex-start; gap:10px; }
  .np-wl-strip-btn { width:100%; justify-content:center; }
  .np-single-ad-banner { flex-direction:column; align-items:flex-start; }
}

/* ═══════════════════════════════════════════
   RECOMMEND A MOVIE WIDGET
   ═══════════════════════════════════════════ */
.np-rec-widget {
  background: linear-gradient(135deg, #0f1d35 0%, #1a0808 100%);
  border: 1px solid rgba(255,68,68,.2);
  border-radius: 16px;
  padding: 24px;
  margin: 24px 0;
  overflow: hidden;
  position: relative;
}
.np-rec-widget::before {
  content: '';
  position: absolute;
  top: -40px; right: -40px;
  width: 150px; height: 150px;
  background: radial-gradient(circle, rgba(255,68,68,.15) 0%, transparent 70%);
  pointer-events: none;
}
.np-rec-widget-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  align-items: start;
}
.np-rec-header { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.np-rec-icon { font-size: 32px; flex-shrink: 0; }
.np-rec-title {
  font-size: 20px;
  font-weight: 900;
  color: #fff;
  margin: 0 0 2px;
  font-family: 'Oswald', sans-serif;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.np-rec-sub { font-size: 13px; color: rgba(255,255,255,.5); margin: 0; }
.np-rec-form-row { display: flex; gap: 0; border-radius: 10px; overflow: hidden; border: 1px solid rgba(255,68,68,.3); margin-bottom: 10px; }
.np-rec-input {
  flex: 1;
  background: rgba(255,255,255,.06);
  border: none;
  padding: 12px 16px;
  color: #fff;
  font-size: 14px;
  outline: none;
}
.np-rec-input::placeholder { color: rgba(255,255,255,.3); }
.np-rec-input:focus { background: rgba(255,255,255,.1); }
.np-rec-submit-btn {
  background: linear-gradient(135deg, #ff4444, #c1121f);
  color: #fff;
  border: none;
  padding: 12px 20px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 7px;
  white-space: nowrap;
  transition: all .2s;
  font-family: 'Oswald', sans-serif;
  letter-spacing: .5px;
}
.np-rec-submit-btn:hover { background: linear-gradient(135deg, #e63946, #a00e16); }
.np-rec-submit-btn:disabled { opacity: .5; cursor: not-allowed; }
.np-rec-msg {
  font-size: 13px;
  padding: 8px 12px;
  border-radius: 6px;
  margin-bottom: 8px;
}
.np-rec-msg-success { background: rgba(29,185,84,.15); border: 1px solid rgba(29,185,84,.3); color: #1db954; }
.np-rec-msg-error   { background: rgba(231,76,60,.15); border: 1px solid rgba(231,76,60,.3); color: #e74c3c; }
.np-rec-note {
  font-size: 11px;
  color: rgba(255,255,255,.3);
  display: flex;
  align-items: center;
  gap: 5px;
}
/* List side */
.np-rec-list-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.np-rec-list-title { font-size: 13px; font-weight: 700; color: rgba(255,255,255,.7); text-transform: uppercase; letter-spacing: .5px; }
.np-rec-view-all { font-size: 12px; color: #ff6b35; text-decoration: none; }
.np-rec-view-all:hover { text-decoration: underline; }
.np-rec-list { display: flex; flex-direction: column; gap: 6px; }
.np-rec-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 10px;
  background: rgba(255,255,255,.04);
  border-radius: 7px;
  transition: background .15s;
  border: 1px solid transparent;
}
.np-rec-item:hover { background: rgba(255,255,255,.07); }
.np-rec-item-new { border-color: rgba(255,68,68,.3); background: rgba(255,68,68,.08) !important; animation: np-rec-pop .3s ease; }
@keyframes np-rec-pop { from { transform: scale(.95); opacity:.5; } to { transform: scale(1); opacity:1; } }
.np-rec-bullet { font-size: 14px; flex-shrink: 0; }
.np-rec-movie-name { flex: 1; font-size: 13px; color: #e2e8f0; font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.np-rec-time { font-size: 10px; color: rgba(255,255,255,.3); white-space: nowrap; flex-shrink: 0; }
.np-rec-empty { font-size: 13px; color: rgba(255,255,255,.35); text-align: center; padding: 16px 0; }

/* Full page */
.np-rec-full-page { margin: 0 0 32px; }
.np-rec-fp-header { text-align: center; padding: 24px 0; }
.np-rec-fp-title { font-size: 26px; font-weight: 900; color: #fff; font-family: 'Oswald', sans-serif; margin: 0 0 6px; }
.np-rec-fp-sub { font-size: 14px; color: rgba(255,255,255,.5); margin: 0 0 10px; }
.np-rec-fp-count { display: inline-block; background: rgba(255,68,68,.2); border: 1px solid rgba(255,68,68,.3); color: #ff6b35; padding: 4px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; }
.np-rec-fp-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 10px; margin: 20px 0; }
.np-rec-fp-card {
  display: flex; align-items: center; gap: 10px;
  background: #1a2638; border: 1px solid rgba(255,255,255,.07);
  border-radius: 10px; padding: 12px 14px;
}
.np-rec-fp-num { font-size: 20px; font-weight: 900; color: rgba(255,68,68,.5); min-width: 28px; font-family: 'Oswald', sans-serif; }
.np-rec-fp-info { flex: 1; overflow: hidden; }
.np-rec-fp-name { display: block; font-size: 14px; font-weight: 600; color: #fff; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.np-rec-fp-time { font-size: 11px; color: rgba(255,255,255,.35); }
.np-rec-fp-icon { font-size: 18px; }
.np-rec-fp-empty { text-align: center; padding: 40px 20px; }
.np-rec-fp-empty span { font-size: 48px; display: block; margin-bottom: 12px; }
.np-rec-fp-empty p { color: rgba(255,255,255,.5); }
.np-rec-fp-browse { display: inline-block; margin-top: 12px; color: #ff6b35; text-decoration: none; }
.np-rec-fp-form-wrap { margin-top: 32px; border-top: 1px solid rgba(255,255,255,.08); padding-top: 24px; }
.np-rec-fp-form-wrap h3 { font-size: 18px; color: #fff; margin: 0 0 16px; font-family: 'Oswald', sans-serif; }

/* Responsive */
@media (max-width: 680px) {
  .np-rec-widget-inner { grid-template-columns: 1fr; gap: 16px; }
  .np-rec-list-side { border-top: 1px solid rgba(255,255,255,.08); padding-top: 16px; }
}

/* ═══════════════════════════════════════════
   COMING SOON SLIDER ARROW FIX
   ═══════════════════════════════════════════ */
.upcoming-slider-wrap { overflow: hidden; position: relative; }
.upcoming-slider { display: flex; gap: 0; will-change: transform; }
.upcoming-slide { flex-shrink: 0; width: calc(100% / 5); padding: 0 6px; box-sizing: border-box; }
@media (max-width: 1100px) { .upcoming-slide { width: calc(100% / 3); } }
@media (max-width: 768px)  { .upcoming-slide { width: calc(100% / 2); } }
@media (max-width: 480px)  { .upcoming-slide { width: calc(100% / 2); } }
.upcoming-arrow { opacity: 1; transition: opacity .2s, background .2s; z-index: 10; }
.upcoming-prev { left: 0 !important; }
.upcoming-next { right: 0 !important; }

/* ═══════════════════════════════════════════
   3D TITLE FONT IMPORT
   ═══════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@700;900&family=Bebas+Neue&display=swap');
.np-cta3d-t1 { font-family: 'Bebas Neue', 'Oswald', 'Impact', sans-serif !important; }
.np-cta3d-t2 { font-family: 'Bebas Neue', 'Oswald', 'Impact', sans-serif !important; }
