/* N.P.P. Cinema — additive programming layer. Remove this file + module refs to revert. */
:root{
  --npp-cinema-bg:#050505;
  --npp-cinema-panel:#0b0d0a;
  --npp-cinema-cream:#f2efe7;
  --npp-cinema-muted:#9b9d96;
  --npp-cinema-lime:#c8ff2d;
  --npp-cinema-line:rgba(255,255,255,.11);
}

.npp-programming-superseded{display:none!important}

.npp-program-nav{
  position:sticky;
  top:var(--npp-topbar-height,72px);
  z-index:88;
  width:100%;
  border-top:1px solid rgba(255,255,255,.04);
  border-bottom:1px solid var(--npp-cinema-line);
  background:rgba(5,5,5,.92);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.npp-program-nav-track{
  display:flex;
  gap:8px;
  align-items:center;
  overflow-x:auto;
  padding:10px clamp(18px,4vw,56px);
  scrollbar-width:none;
}
.npp-program-nav-track::-webkit-scrollbar{display:none}
.npp-program-nav a{
  flex:0 0 auto;
  min-height:40px;
  display:inline-flex;
  align-items:center;
  padding:0 14px;
  border:1px solid transparent;
  border-radius:999px;
  color:#b8bab4;
  font:700 12px/1 Inter,system-ui,sans-serif;
  letter-spacing:.02em;
  text-decoration:none;
  transition:background .18s ease,color .18s ease,border-color .18s ease;
}
.npp-program-nav a:hover,.npp-program-nav a:focus-visible{color:#fff;border-color:rgba(255,255,255,.16);outline:none}
.npp-program-nav a.is-active{color:#111;background:var(--npp-cinema-lime)}

.npp-programming-main{display:block;background:var(--npp-cinema-bg);color:var(--npp-cinema-cream)}
.npp-program-loading,.npp-program-empty{padding:48px clamp(20px,4vw,56px);color:var(--npp-cinema-muted)}

.npp-program-hero{
  position:relative;
  min-height:min(74vh,780px);
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  isolation:isolate;
  border-bottom:1px solid var(--npp-cinema-line);
}
.npp-program-hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3}
.npp-program-hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.62) 45%,rgba(0,0,0,.18) 76%),linear-gradient(0deg,#050505 0%,transparent 48%)}
.npp-program-hero-copy{width:min(760px,92vw);padding:clamp(56px,9vw,120px) clamp(20px,5vw,72px)}
.npp-program-eyebrow{margin:0 0 14px;color:var(--npp-cinema-lime);font:800 12px/1.4 Inter,system-ui,sans-serif;letter-spacing:.13em;text-transform:uppercase}
.npp-program-hero h1{margin:0;font:800 clamp(42px,8vw,96px)/.94 'Playfair Display',Georgia,serif;letter-spacing:-.035em;color:#f4f0e8;text-wrap:balance}
.npp-program-creator{margin:18px 0 0;color:#fff;font:700 17px/1.4 Inter,system-ui,sans-serif}
.npp-program-description{max-width:670px;margin:16px 0 0;color:#d2d3ce;font:500 clamp(15px,2vw,19px)/1.65 Inter,system-ui,sans-serif}
.npp-program-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin:20px 0 0;color:#b7b9b2;font:600 13px/1.5 Inter,system-ui,sans-serif}
.npp-hero-countdown{margin-top:18px;color:#fff;font:800 clamp(20px,3vw,30px)/1.1 Inter,system-ui,sans-serif;font-variant-numeric:tabular-nums}
.npp-program-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.npp-program-primary,.npp-program-secondary{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:0 22px;border-radius:999px;font:800 14px/1 Inter,system-ui,sans-serif;text-decoration:none}
.npp-program-primary{background:var(--npp-cinema-lime);color:#0a0a0a}
.npp-program-secondary{border:1px solid rgba(255,255,255,.22);background:rgba(10,10,10,.52);color:#fff}
.npp-program-primary:focus-visible,.npp-program-secondary:focus-visible{outline:3px solid #fff;outline-offset:3px}

.npp-program-sections{padding:14px 0 50px}
.npp-program-sections--browse{padding-top:36px;min-height:60vh}
.npp-program-section{padding:34px 0 16px}
.npp-program-section-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;padding:0 clamp(20px,4vw,56px) 18px}
.npp-program-section-head h2{margin:0;color:#f2efe7;font:800 clamp(27px,4vw,44px)/1.05 'Playfair Display',Georgia,serif;letter-spacing:-.025em}
.npp-program-section-head p{margin:8px 0 0;color:#81847d;font:500 13px/1.5 Inter,system-ui,sans-serif}
.npp-program-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(250px,30vw);gap:14px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:inline proximity;padding:0 clamp(20px,4vw,56px) 16px;scrollbar-width:none}
.npp-program-rail::-webkit-scrollbar{display:none}
.npp-program-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:18px;padding:0 clamp(20px,4vw,56px) 24px}

.npp-program-card{min-width:0;color:inherit;text-decoration:none;scroll-snap-align:start;display:flex;flex-direction:column;gap:12px}
.npp-program-card-media{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;border-radius:18px;background:#111;border:1px solid rgba(255,255,255,.08)}
.npp-program-card--feature .npp-program-card-media{aspect-ratio:1.7/1}
.npp-program-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.npp-program-card:hover img,.npp-program-card:focus-visible img{transform:scale(1.025)}
.npp-program-card:focus-visible{outline:3px solid var(--npp-cinema-lime);outline-offset:5px;border-radius:20px}
.npp-program-card-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.55),transparent 58%)}
.npp-state-badge{position:absolute;left:12px;bottom:12px;max-width:calc(100% - 24px);padding:7px 10px;border-radius:999px;background:rgba(5,5,5,.82);border:1px solid rgba(255,255,255,.13);color:#fff;font:800 10px/1 Inter,system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(8px)}
.npp-state-live_premiere{background:#d5ff42;color:#0a0a0a;border-color:transparent}
.npp-state-coming_soon{border-color:rgba(200,255,45,.5);color:#d5ff42}
.npp-program-card-copy{display:flex;flex-direction:column;gap:5px;padding:0 2px}
.npp-program-card-copy strong{font:800 16px/1.25 Inter,system-ui,sans-serif;color:#f1eee7}
.npp-program-card-copy small{font:500 12px/1.45 Inter,system-ui,sans-serif;color:#858881}
.npp-card-countdown{font:700 12px/1.4 Inter,system-ui,sans-serif;color:var(--npp-cinema-lime);font-variant-numeric:tabular-nums}

@media(max-width:760px){
  .npp-program-nav{top:var(--npp-topbar-height,72px)}
  .npp-program-nav-track{padding-inline:14px}
  .npp-program-nav a{min-height:38px;padding-inline:12px;font-size:11px}
  .npp-program-hero{min-height:66vh;align-items:flex-end}
  .npp-program-hero-shade{background:linear-gradient(0deg,#050505 4%,rgba(0,0,0,.72) 44%,rgba(0,0,0,.14) 100%)}
  .npp-program-hero-copy{padding:110px 20px 44px}
  .npp-program-hero h1{font-size:clamp(42px,14vw,70px)}
  .npp-program-description{font-size:15px;line-height:1.55}
  .npp-program-primary,.npp-program-secondary{flex:1 1 150px}
  .npp-program-section{padding-top:30px}
  .npp-program-section-head{padding-inline:18px}
  .npp-program-rail{grid-auto-columns:82vw;padding-inline:18px;gap:12px}
  .npp-program-grid{grid-template-columns:1fr;padding-inline:18px}
  .npp-program-card-media{border-radius:15px}
}

@media(prefers-reduced-motion:reduce){
  .npp-program-card img,.npp-program-nav a{transition:none!important}
  html{scroll-behavior:auto!important}
}
