/* ==========================================================================
   Hero + Stat Strip + Promo Banners
   Bird Promotions v2.0.0
   ========================================================================== */

/* Hero */
.bp-hero {
  position: relative; min-height: 100vh;
  display: flex; flex-direction: column; justify-content: flex-end;
  overflow: hidden;
  background: var(--bp-black) center / cover no-repeat;
}
.bp-hero__overlay   { position: absolute; inset: 0; background: rgba(9,9,11,0.55); }
.bp-hero__gradient  { position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(9,9,11,0.15) 0%, rgba(9,9,11,0.0) 30%, rgba(9,9,11,0.7) 70%, rgba(9,9,11,1) 100%); }
.bp-hero__glow      { position: absolute; inset: 0; background: radial-gradient(ellipse at 30% 80%, rgba(201,162,39,0.08) 0%, transparent 60%); }
.bp-hero__noise     { position: absolute; inset: 0; opacity: 0.025; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E"); pointer-events: none; }
.bp-hero__content   { position: relative; z-index: 2; padding-block: var(--bp-space-20) var(--bp-space-24); max-width: 760px; }
.bp-hero__eyebrow   { color: var(--bp-gold); margin-bottom: var(--bp-space-4); }
.bp-hero__h1        { font-size: clamp(var(--bp-text-2xl), 6vw, var(--bp-text-5xl)); margin-bottom: var(--bp-space-6); }
.bp-hero__sub       { font-size: var(--bp-text-md); line-height: var(--bp-leading-relaxed); color: var(--bp-text-secondary); max-width: 600px; margin-bottom: var(--bp-space-4); }
.bp-hero__tagline   { font-size: var(--bp-text-sm); font-weight: 600; letter-spacing: var(--bp-tracking-wider); text-transform: uppercase; color: var(--bp-text-muted); margin-bottom: var(--bp-space-8); }
.bp-hero__actions   { display: flex; flex-wrap: wrap; gap: var(--bp-space-3); }
.bp-hero__scroll    { position: absolute; bottom: var(--bp-space-8); left: 50%; transform: translateX(-50%); z-index: 2; opacity: 0.4; }
.bp-hero__scroll-arrow { display: block; width: 20px; height: 20px; border-right: 2px solid var(--bp-white); border-bottom: 2px solid var(--bp-white); transform: rotate(45deg); animation: hero-scroll-pulse 2s ease-in-out infinite; }
@keyframes hero-scroll-pulse { 0%,100% { opacity: 0.4; transform: rotate(45deg) translateY(0); } 50% { opacity: 1; transform: rotate(45deg) translateY(4px); } }

/* Stat strip */
.bp-stats-strip { border-top: var(--bp-border-1); border-bottom: var(--bp-border-1); background: var(--bp-black-mid); }
.bp-stats-strip__inner { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; }
.bp-stats-strip__item  { padding: var(--bp-space-6) var(--bp-space-4); display: flex; flex-direction: column; gap: var(--bp-space-1); text-align: center; border-right: var(--bp-border-1); }
.bp-stats-strip__item:last-child { border-right: none; }
.bp-stats-strip__number { font-family: var(--bp-font-display); font-size: var(--bp-text-2xl); font-weight: 700; color: var(--bp-gold); letter-spacing: var(--bp-tracking-tight); }
.bp-stats-strip__label  { font-family: var(--bp-font-body); font-size: var(--bp-text-xs); font-weight: 700; letter-spacing: var(--bp-tracking-wide); text-transform: uppercase; color: var(--bp-text-muted); line-height: 1.4; }
.bp-stats-strip--inline { margin: var(--bp-space-10) 0 0; border-radius: var(--bp-radius-md); border: var(--bp-border-1); overflow: hidden; }

/* Promo banners */
.bp-promo-banners__inner { display: grid; grid-template-columns: 1fr 1fr; gap: var(--bp-space-4); padding-block: var(--bp-space-6); }
.bp-promo-banners__item  { border-radius: var(--bp-radius-md); overflow: hidden; }
.bp-promo-banners__img   { width: 100%; height: auto; display: block; transition: transform var(--bp-transition-slow); }
.bp-promo-banners__item:hover .bp-promo-banners__img { transform: scale(1.02); }

@media (max-width: 768px) {
  .bp-stats-strip__inner   { grid-template-columns: repeat(2, 1fr); }
  .bp-stats-strip__item:nth-child(2) { border-right: none; }
  .bp-promo-banners__inner { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .bp-stats-strip__inner { grid-template-columns: 1fr 1fr; }
}

/* ==========================================================================
   MEDIA SHOWCASE — Homepage video + poster grid
   ========================================================================== */

.bp-media-showcase {
  padding-block: var(--bp-space-16);
  background: var(--bp-black);
  border-bottom: var(--bp-border-1);
}

/* Masonry-style auto grid: 1–3 cols depending on item count */
.bp-media-showcase__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--bp-space-4);
  margin-top: var(--bp-space-8);
}

/* Base item */
.bp-media-showcase__item {
  position: relative;
  border-radius: var(--bp-radius-md);
  overflow: hidden;
  background: var(--bp-black-soft);
  border: var(--bp-border-1);
  transition: border-color var(--bp-transition-base), transform var(--bp-transition-base);
}
.bp-media-showcase__item:hover {
  border-color: var(--bp-gold-border);
  transform: translateY(-3px);
}

/* Featured item spans full row */
.bp-media-showcase__item--featured {
  grid-column: 1 / -1;
}

/* ── VIDEO ITEMS ── */
.bp-media-showcase__video-wrap {
  position: relative;
  aspect-ratio: 16 / 9;
  background: var(--bp-black-mid);
  cursor: pointer;
  overflow: hidden;
}

/* Loaded state: replace placeholder with iframe */
.bp-media-showcase__video-wrap.is-loaded iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: none;
}
.bp-media-showcase__video-wrap.is-loaded .bp-media-showcase__play-btn,
.bp-media-showcase__video-wrap.is-loaded .bp-media-showcase__video-placeholder {
  display: none;
}

.bp-media-showcase__video-placeholder {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(135deg, var(--bp-black-mid) 0%, var(--bp-black-soft) 100%);
}
/* Subtle noise texture on placeholder */
.bp-media-showcase__video-placeholder::after {
  content: '';
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    45deg,
    transparent,
    transparent 2px,
    rgba(255,255,255,0.015) 2px,
    rgba(255,255,255,0.015) 4px
  );
}

/* Play button */
.bp-media-showcase__play-btn {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  transition: transform var(--bp-transition-spring);
}
.bp-media-showcase__play-btn:hover {
  transform: scale(1.08);
}
.bp-media-showcase__play-icon svg {
  width: 72px;
  height: 72px;
  filter: drop-shadow(0 4px 16px rgba(0,0,0,0.6));
}
/* Gold ring on hover */
.bp-media-showcase__play-btn:hover .bp-media-showcase__play-icon svg circle {
  fill: rgba(201, 162, 39, 0.7);
}

/* ── POSTER ITEMS ── */
.bp-media-showcase__poster-link {
  display: block;
}
.bp-media-showcase__poster-wrap {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
}
/* Vertical posters (portrait) stay portrait */
.bp-media-showcase__item--poster .bp-media-showcase__poster-wrap {
  aspect-ratio: auto;
  min-height: 200px;
}
.bp-media-showcase__poster-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform var(--bp-transition-slow);
}
.bp-media-showcase__item--poster:hover .bp-media-showcase__poster-img {
  transform: scale(1.04);
}

/* "Get Tickets →" CTA overlay on poster */
.bp-media-showcase__ticket-cta {
  position: absolute;
  bottom: var(--bp-space-4);
  right: var(--bp-space-4);
  background: var(--bp-gold);
  color: var(--bp-black);
  font-family: var(--bp-font-display);
  font-size: var(--bp-text-xs);
  font-weight: 700;
  letter-spacing: var(--bp-tracking-wider);
  text-transform: uppercase;
  padding: var(--bp-space-2) var(--bp-space-4);
  border-radius: var(--bp-radius-sm);
  opacity: 0;
  transform: translateY(4px);
  transition:
    opacity var(--bp-transition-base),
    transform var(--bp-transition-base);
}
.bp-media-showcase__item--poster:hover .bp-media-showcase__ticket-cta {
  opacity: 1;
  transform: translateY(0);
}

/* ── CAPTION ── */
.bp-media-showcase__caption {
  padding: var(--bp-space-3) var(--bp-space-4);
  font-family: var(--bp-font-body);
  font-size: var(--bp-text-xs);
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--bp-text-muted);
  background: var(--bp-black-mid);
  border-top: var(--bp-border-1);
  line-height: 1.4;
}

/* ── RESPONSIVE ── */
@media (max-width: 1024px) {
  .bp-media-showcase__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .bp-media-showcase__item--featured {
    grid-column: 1 / -1;
  }
}
@media (max-width: 640px) {
  .bp-media-showcase__grid {
    grid-template-columns: 1fr;
  }
}

/* ── SELF-HOSTED VIDEO (HTML5 <video> tag) ── */
.bp-media-showcase__video-wrap--native {
  position: relative;
  background: var(--bp-black);
  border-radius: var(--bp-radius-md);
  overflow: hidden;
  aspect-ratio: 16 / 9;
}
.bp-media-showcase__native-video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: var(--bp-black);
  /* Use the browser's native controls — styled to match dark theme */
  accent-color: var(--bp-gold);
}
