/* ══════════════════════════════════════════════════════════════════
   BNProductions — shared gallery, lightbox and video styles.
   Loaded by index.html and every work-*.html page.
   Edit the asset lists in media.js, not here.
   ══════════════════════════════════════════════════════════════════ */

/* ---------- filled gallery tiles (work-*.html) ---------- */
.work-card.has-media{
  padding:0;display:block;width:100%;cursor:pointer;
  text-align:left;font:inherit;color:inherit;
}
.work-card.has-media:hover,.work-card.has-media:focus-visible{border-color:var(--gold);outline:none;}
.work-card .media-fill{
  position:absolute;inset:0;z-index:0;width:100%;height:100%;
  object-fit:cover;border:0;
  transition:transform .55s cubic-bezier(.2,.8,.2,1);
}
.work-card:hover .media-fill{transform:scale(1.06);}
.work-card.has-media::after{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(to top,rgba(13,13,13,.62),transparent 55%);
  opacity:0;transition:opacity .3s ease;
}
.work-card.has-media:hover::after{opacity:1;}
.work-card .media-play{
  position:absolute;z-index:3;top:50%;left:50%;transform:translate(-50%,-50%);
  width:46px;height:46px;border-radius:50%;
  background:rgba(13,13,13,.72);border:1px solid var(--gold);
  display:flex;align-items:center;justify-content:center;
  backdrop-filter:blur(2px);pointer-events:none;
}
.work-card .media-play::before{
  content:"";border-style:solid;border-width:8px 0 8px 13px;
  border-color:transparent transparent transparent var(--gold);
  margin-left:3px;
}
.work-card .media-cap{
  position:absolute;z-index:3;left:0;right:0;bottom:0;padding:14px 16px;
  font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--cream);
  opacity:0;transform:translateY(6px);transition:opacity .3s ease,transform .3s ease;
}
.work-card.has-media:hover .media-cap{opacity:1;transform:translateY(0);}

/* ---------- homepage category card with a photo behind it ---------- */
.work-card.has-bg::after{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(to top,rgba(13,13,13,.88),rgba(13,13,13,.35));
}
.work-card.has-bg .tag-pill{z-index:3;}

/* ---------- status pill on the homepage category cards ---------- */
.cat-status{
  position:absolute;top:14px;right:14px;z-index:3;
  font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.09em;
  text-transform:uppercase;padding:5px 10px;border-radius:20px;
  background:rgba(13,13,13,.66);backdrop-filter:blur(3px);
}
.cat-status.live{color:var(--gold);border:1px solid rgba(212,160,23,.45);}
.cat-status.soon{color:var(--cream-dim);border:1px dashed rgba(245,237,216,.28);}
.cat-count{
  position:absolute;bottom:24px;right:22px;z-index:3;
  font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.06em;
  color:var(--cream-dim);
}

/* ---------- lightbox ---------- */
.bnp-lb{
  position:fixed;inset:0;z-index:300;background:rgba(8,8,8,.95);
  display:flex;align-items:center;justify-content:center;padding:28px;
  opacity:0;pointer-events:none;transition:opacity .28s ease;
}
.bnp-lb.open{opacity:1;pointer-events:auto;}
.bnp-lb-stage{position:relative;max-width:min(1100px,100%);max-height:100%;
  display:flex;align-items:center;justify-content:center;}
.bnp-lb-stage img{max-width:100%;max-height:82vh;border-radius:6px;object-fit:contain;}
.bnp-lb-frame{position:relative;width:min(1000px,88vw);aspect-ratio:16/9;
  border-radius:6px;overflow:hidden;background:#000;}
.bnp-lb-frame.vertical{width:min(420px,78vw);aspect-ratio:9/16;}
.bnp-lb-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.bnp-lb-cap{position:absolute;left:0;right:0;bottom:-34px;text-align:center;
  font-family:'JetBrains Mono',monospace;font-size:11.5px;letter-spacing:.05em;color:var(--cream-dim);}
.bnp-lb-btn{
  position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;
  border:1px solid var(--line);background:rgba(13,13,13,.8);color:var(--cream);cursor:pointer;
  display:flex;align-items:center;justify-content:center;font-size:20px;z-index:3;
  transition:border-color .2s ease,color .2s ease;
}
.bnp-lb-btn:hover{border-color:var(--gold);color:var(--gold);}
.bnp-lb-prev{left:16px;} .bnp-lb-next{right:16px;}
.bnp-lb-close{
  position:absolute;top:22px;right:24px;width:40px;height:40px;border-radius:50%;
  border:1px solid var(--line);background:rgba(13,13,13,.8);color:var(--cream);cursor:pointer;
  display:flex;align-items:center;justify-content:center;font-size:18px;z-index:4;
}
.bnp-lb-close:hover{border-color:var(--gold);color:var(--gold);}
@media(max-width:700px){.bnp-lb-btn{width:38px;height:38px;}.bnp-lb-prev{left:6px;}.bnp-lb-next{right:6px;}}
