/* =========================================================
   STUPPLAYS holiday — exact screenshot layout
   [orange strip] then [dark header] flush — all pages
   ========================================================= */

:root {
  --sp-holiday-banner-h: 40px;
}

/* 1) Holiday strip — fixed, top only */
#sp-holiday-banner-bar {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  height: var(--sp-holiday-banner-h) !important;
  min-height: var(--sp-holiday-banner-h) !important;
  max-height: var(--sp-holiday-banner-h) !important;
  z-index: 10080 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 16px !important;
  border: none !important;
  box-sizing: border-box !important;
  font: 800 13px/1 system-ui, -apple-system, "Segoe UI", sans-serif !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: #fff !important;
  pointer-events: none !important;
  user-select: none !important;
  box-shadow: none !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
}
#sp-holiday-banner-bar.sp-holiday-theme-christmas {
  background: linear-gradient(90deg, #165b33, #c41e3a, #165b33) !important;
}
#sp-holiday-banner-bar.sp-holiday-theme-newyear {
  background: linear-gradient(90deg, #1a1a2e, #d4af37, #1a1a2e) !important;
}
#sp-holiday-banner-bar.sp-holiday-theme-halloween {
  background: linear-gradient(90deg, #1a0a00, #ff6b00, #2d0a4e) !important;
}
#sp-holiday-banner-bar.sp-holiday-theme-valentine {
  background: linear-gradient(90deg, #4a0018, #ff4d6d, #4a0018) !important;
}

/* 2) Spacer = exact banner height, transparent (header starts right under strip) */
#sp-holiday-space {
  display: block !important;
  width: 100% !important;
  height: var(--sp-holiday-banner-h) !important;
  min-height: var(--sp-holiday-banner-h) !important;
  max-height: var(--sp-holiday-banner-h) !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  pointer-events: none !important;
  line-height: 0 !important;
  font-size: 0 !important;
  overflow: hidden !important;
}

/* 3) Header under strip ALWAYS — absolute (top of page) + fixed (after scroll) */
body.sp-holiday-banner-on {
  padding-top: 0 !important;
}

body.sp-holiday-banner-on header#gen-header,
body.sp-holiday-banner-on #Header header#gen-header {
  margin-top: 0 !important;
}

/*
  gen-has-sticky uses position:absolute; top:0 at page top (style.css).
  That ignores the spacer and slides under the holiday until you scroll.
  Force top = banner height in ALL states.
*/
body.sp-holiday-banner-on header#gen-header.gen-has-sticky,
body.sp-holiday-banner-on header#gen-header.gen-header-style-1.gen-has-sticky,
body.sp-holiday-banner-on header#gen-header.gen-header-sticky,
body.sp-holiday-banner-on header#gen-header.gen-header-style-1.gen-has-sticky.gen-header-sticky,
body.sp-holiday-banner-on header#gen-header.gen-header-default .gen-bottom-header.gen-header-sticky,
body.sp-holiday-banner-on #Header header#gen-header.gen-has-sticky,
body.sp-holiday-banner-on #Header header#gen-header.gen-header-style-1.gen-has-sticky,
body.sp-holiday-banner-on #Header header#gen-header.gen-header-sticky,
body.sp-holiday-banner-on #Header header#gen-header.gen-header-style-1.gen-has-sticky.gen-header-sticky {
  top: var(--sp-holiday-banner-h) !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
}

body.sp-holiday-banner-on #Header,
body.sp-holiday-banner-on header#gen-header {
  z-index: 10050 !important;
}
body.sp-holiday-banner-on header#gen-header.gen-header-sticky {
  z-index: 10050 !important;
}

/* Particles */
#sp-holiday-ui {
  position: fixed !important;
  inset: 0 !important;
  pointer-events: none !important;
  z-index: 50 !important;
  overflow: hidden !important;
  background: transparent !important;
}
#sp-holiday-ui, #sp-holiday-ui * {
  pointer-events: none !important;
  background: transparent !important;
}
#sp-holiday-ui .sp-flake {
  position: absolute !important;
  top: -30px !important;
  color: #fff;
  animation: spFall linear infinite;
  pointer-events: none !important;
}
#sp-holiday-ui.sp-holiday-theme-newyear .sp-flake { color: #ffd700; }
#sp-holiday-ui.sp-holiday-theme-halloween .sp-flake { color: #ff6b00; }
#sp-holiday-ui.sp-holiday-theme-valentine .sp-flake { color: #ff8fab; }
@keyframes spFall {
  0% { transform: translateY(0) rotate(0deg); opacity: 0.9; }
  100% { transform: translateY(110vh) rotate(360deg); opacity: 0.15; }
}



/* Tablet */
@media (max-width: 991px) {
  :root {
    --sp-holiday-banner-h: calc(36px + env(safe-area-inset-top, 0px));
    --sp-holiday-banner-inner: 36px;
  }
  #sp-holiday-banner-bar {
    height: var(--sp-holiday-banner-h) !important;
    min-height: var(--sp-holiday-banner-h) !important;
    max-height: var(--sp-holiday-banner-h) !important;
    padding: env(safe-area-inset-top, 0px) 12px 0 12px !important;
    font-size: 11px !important;
    letter-spacing: 1px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  #sp-holiday-space {
    height: var(--sp-holiday-banner-h) !important;
    min-height: var(--sp-holiday-banner-h) !important;
    max-height: var(--sp-holiday-banner-h) !important;
  }
}

/* Phone */
@media (max-width: 575px) {
  :root {
    --sp-holiday-banner-h: calc(32px + env(safe-area-inset-top, 0px));
    --sp-holiday-banner-inner: 32px;
  }
  #sp-holiday-banner-bar {
    height: var(--sp-holiday-banner-h) !important;
    min-height: var(--sp-holiday-banner-h) !important;
    max-height: var(--sp-holiday-banner-h) !important;
    padding: env(safe-area-inset-top, 0px) 10px 0 10px !important;
    font-size: 10px !important;
    letter-spacing: 0.3px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    line-height: 32px !important;
  }
  #sp-holiday-space {
    height: var(--sp-holiday-banner-h) !important;
    min-height: var(--sp-holiday-banner-h) !important;
    max-height: var(--sp-holiday-banner-h) !important;
  }
  /* Fewer particles feel cleaner on small screens */
  #sp-holiday-ui .sp-flake:nth-child(n+16) {
    display: none !important;
  }
}

/* Very small phones */
@media (max-width: 360px) {
  :root {
    --sp-holiday-banner-h: calc(30px + env(safe-area-inset-top, 0px));
  }
  #sp-holiday-banner-bar {
    font-size: 9px !important;
    letter-spacing: 0.2px !important;
    padding: env(safe-area-inset-top, 0px) 8px 0 8px !important;
  }
}

/* Landscape phone — keep strip thin */
@media (max-height: 500px) and (orientation: landscape) {
  :root {
    --sp-holiday-banner-h: calc(28px + env(safe-area-inset-top, 0px));
  }
  #sp-holiday-banner-bar {
    font-size: 10px !important;
    letter-spacing: 0.5px !important;
  }
  #sp-holiday-ui .sp-flake:nth-child(n+10) {
    display: none !important;
  }
}


/* ===== NEVER cover live / VOD / expand / play controls ===== */
body.sp-player-expanded #sp-holiday-ui,
body.sp-expand-mobile-body #sp-holiday-ui,
body.sp-popup-fill #sp-holiday-ui,
body.sp-popup-fs-active #sp-holiday-ui,
body.sp-popup-landscape #sp-holiday-ui,
body.sp-vod-expanded #sp-holiday-ui,
body.sp-live-expanded #sp-holiday-ui,
body:fullscreen #sp-holiday-ui,
html:fullscreen #sp-holiday-ui,
body.sp-player-expanded #sp-holiday-banner-bar,
body.sp-expand-mobile-body #sp-holiday-banner-bar,
body.sp-popup-fill #sp-holiday-banner-bar,
body.sp-popup-fs-active #sp-holiday-banner-bar,
body.sp-popup-landscape #sp-holiday-banner-bar,
body.sp-vod-expanded #sp-holiday-banner-bar,
body.sp-live-expanded #sp-holiday-banner-bar,
body:fullscreen #sp-holiday-banner-bar,
body.sp-player-expanded #sp-holiday-space,
body.sp-expand-mobile-body #sp-holiday-space,
body.sp-popup-fill #sp-holiday-space,
body.sp-popup-fs-active #sp-holiday-space,
body.sp-popup-landscape #sp-holiday-space,
body.sp-vod-expanded #sp-holiday-space,
body.sp-live-expanded #sp-holiday-space,
body:fullscreen #sp-holiday-space {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  z-index: -1 !important;
}

/* Player stack always above holiday (banner 10070, particles 50) */
.plyr,
.plyr__controls,
.plyr__control,
.plyr__control--overlaid,
.plyr__menu,
.plyr__tooltip,
.plyr__video-wrapper,
.sp-expand-shell,
.sp-popup-player,
.poster-wrapper.sp-expand-on,
.gen-movie-action,
.gen-button,
.sp-custom-scrub,
.sp-scrub-pp,
.sp-scrub-stop,
.sp-scrub-mute {
  position: relative;
  /* do not force position on all — only ensure holiday cannot steal clicks */
}
#sp-holiday-banner-bar,
#sp-holiday-ui,
#sp-holiday-ui *,
#sp-holiday-space {
  pointer-events: none !important;
  touch-action: none !important;
}
