/*
 * BankMovie Lite Standalone — v14862074
 * Performance-only presentation layer for a dedicated Lite subdomain.
 * No color-theme fork: the user's current Dark/Light preference is preserved.
 */

html[data-bm-lite="1"],
html.bm-site-lite {
  scroll-behavior: auto !important;
  --bm-perf-ease: linear;
}

/* 1) Stop all CSS motion. Geometry/transforms that position UI are intentionally preserved. */
html[data-bm-lite="1"] *,
html[data-bm-lite="1"] *::before,
html[data-bm-lite="1"] *::after {
  animation: none !important;
  animation-name: none !important;
  animation-duration: 0s !important;
  animation-delay: 0s !important;
  animation-iteration-count: 1 !important;
  transition: none !important;
  transition-duration: 0s !important;
  transition-delay: 0s !important;
  scroll-behavior: auto !important;
  will-change: auto !important;
}

/* 2) Remove compositor-heavy visual effects. */
html[data-bm-lite="1"] body,
html[data-bm-lite="1"] body * {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  text-shadow: none !important;
  box-shadow: none !important;
  background-attachment: scroll !important;
}

html[data-bm-lite="1"] :is(
  .hero-bg,
  .movie-card,
  .grid-item,
  .scroll-card,
  .content-card,
  .collection-card,
  .archive-card,
  .result-card,
  .related-card,
  .poster-card,
  .person-card,
  .cast-card,
  .bm-poster-img,
  .poster-img,
  .movie-poster img,
  .profile-hero-bg,
  .cinema-bg
) {
  filter: none !important;
}

/* Decorative glow / ambient layers are not content. */
html[data-bm-lite="1"] :is(
  .bm-header-search-glow,
  .bm-quick-search-glow,
  .bm-bo-hero-glow,
  .bm-vip-gate-glow,
  .bm-ad-glow,
  .ambient,
  .glow.g1,
  .glow.g2
) {
  display: none !important;
}

/* Shimmer/skeleton remains as a static placeholder instead of animating. */
html[data-bm-lite="1"] :is(
  .skeleton-line,
  .movie-skeleton-poster,
  .ext-loading-skeletons,
  [class*="skeleton"]
)::before {
  animation: none !important;
  transform: none !important;
}

/* 3) Glass UI becomes a simple opaque surface, avoiding live blur. */
html[data-bm-lite="1"][data-bm-color-mode="light"] :is(
  #siteHeader,
  .header,
  .desktop-header,
  .mobile-header,
  .bottom-nav,
  [data-mobile-bottom-nav],
  .sidebar-menu,
  .notif-sidebar,
  .auth-menu,
  .bm-notif-center,
  .bm-quick-search-modal,
  .bm-quick-search-panel,
  .modal-content,
  .archive-guide-modal,
  [class*="glass"]
) {
  background-color: #fff !important;
}

html[data-bm-lite="1"][data-bm-color-mode="dark"] :is(
  #siteHeader.header-solid,
  #siteHeader.header-scrolled,
  .header.header-solid,
  .header.header-scrolled,
  .desktop-header,
  .mobile-header:not(.has-hero *),
  .bottom-nav,
  [data-mobile-bottom-nav],
  .sidebar-menu,
  .notif-sidebar,
  .auth-menu,
  .bm-notif-center,
  .bm-quick-search-modal,
  .bm-quick-search-panel,
  .modal-content,
  .archive-guide-modal,
  [class*="glass"]
) {
  background-image: none !important;
}

/* Hero/header on top of artwork keeps its readable static overlay, without blur. */
html[data-bm-lite="1"] body.has-hero #siteHeader:not(.header-solid):not(.header-scrolled) {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  box-shadow: none !important;
}

/* 4) Hover effects become static. */
html[data-bm-lite="1"] :is(
  a,
  button,
  .movie-card,
  .grid-item,
  .scroll-card,
  .content-card,
  .collection-card,
  .archive-card,
  .result-card,
  .related-card,
  .poster-card,
  .person-card,
  .cast-card,
  .bm-poster-img,
  .poster-img
):hover {
  translate: none !important;
  scale: 1 !important;
}

/* Do not overwrite base transforms used for positioning, only common hover transforms. */
html[data-bm-lite="1"] :is(
  .movie-card,
  .grid-item,
  .scroll-card,
  .content-card,
  .collection-card,
  .archive-card,
  .result-card,
  .related-card,
  .poster-card,
  .person-card,
  .cast-card
):hover {
  transform: none !important;
}

/* 5) No animated page/theme view transitions. */
html[data-bm-lite="1"] { view-transition-name: none !important; }
html[data-bm-lite="1"]::view-transition-old(root),
html[data-bm-lite="1"]::view-transition-new(root) {
  animation: none !important;
}
html[data-bm-lite="1"].bm-theme-switching,
html[data-bm-lite="1"].bm-theme-fallback-fade,
html[data-bm-lite="1"].bm-theme-lite-fade,
html[data-bm-lite="1"].bm-theme-lite-recover {
  opacity: 1 !important;
  filter: none !important;
}

/* 6) Carousels remain manually usable, but motion is immediate. */
html[data-bm-lite="1"] :is(
  .hero-slide,
  .hero-bg,
  .hero-content,
  .swiper-wrapper,
  .swiper-slide,
  .slick-track,
  .slick-slide,
  .owl-stage,
  .carousel-track,
  .scroll-horizontal,
  .genres-scroll,
  .countries-scroll,
  .stories-container
) {
  transition: none !important;
  scroll-behavior: auto !important;
}
html[data-bm-lite="1"] :is(.scroll-horizontal,.genres-scroll,.countries-scroll,.stories-container) {
  scroll-snap-type: none !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
}

/* 7) Modals open/close instantly; dimming stays for readability. */
html[data-bm-lite="1"] :is(
  .modal,
  .menu-overlay,
  .notif-backdrop,
  .story-modal,
  .bm-play-choice-overlay,
  .bm-quick-search-overlay,
  .forgot-modal
) {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  transition: none !important;
}

/* 8) Focus stays obvious after shadows are removed. */
html[data-bm-lite="1"] :focus-visible {
  outline: 2px solid var(--accent, var(--bm-accent, #2f7cff)) !important;
  outline-offset: 2px !important;
  box-shadow: none !important;
}

/* 9) Avoid unnecessary off-screen paint on long listing pages. Movie detail is excluded. */
@supports (content-visibility: auto) {
  html[data-bm-lite="1"] body:not(.movie-page) :is(
    .genres-section,
    .countries-section,
    .new-releases-section,
    .collections-section,
    .admin-picks-section,
    .top-movies-section,
    .top-series-section,
    .user-rated-section,
    .dubbed-section,
    .smart-suggestions-section,
    .latest-animations-section,
    .recent-updates-section,
    .ext-section,
    .arc-section,
    .archive-section,
    .bm-section
  ) {
    content-visibility: auto;
    contain-intrinsic-size: 1px 520px;
  }
}

/* 10) Keep player/media functionality intact; only its decorative effects are removed. */
html[data-bm-lite="1"] :is(
  .player-wrapper,
  #playerWrapper,
  #arc1PlayerInner,
  .video-js,
  video,
  .player-controls,
  .bm-player-controls
) {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  box-shadow: none !important;
}

/* Tiny static Lite marker only for accessibility/debugging, not visible UI. */
html[data-bm-lite="1"] body { --bm-lite-active: 1; }


/* Standalone v14862074 — additional compositor cuts for weak phones. */
html[data-bm-lite="1"] :is(.hero-slider,.movie-detail,.profile-page,.search-page,.bm-vip-page,.bm-boxoffice-page) {
  perspective: none !important;
}
html[data-bm-lite="1"] :is(.hero-slide,.hero-bg,.movie-card,.poster-card,.result-card,.collection-card,.cast-card,.person-card) {
  will-change: auto !important;
}
html[data-bm-lite="1"] :is(.hero-slide,.hero-bg,.hero-content,.movie-card,.poster-card,.result-card,.collection-card,.cast-card,.person-card) * {
  will-change: auto !important;
}
html[data-bm-lite="1"] :is(.shimmer,.pulse,.glow-pulse,.float,.floating,.animated-gradient,.gradient-animated) {
  animation: none !important;
  transition: none !important;
}
html[data-bm-lite="1"] :is(.parallax,[data-parallax]) {
  transform: none !important;
  background-attachment: scroll !important;
}
/* Keep native media/player controls functional while removing visual transitions. */
html[data-bm-lite="1"] :is(video,audio,video *,audio *) {
  animation: none !important;
  transition: none !important;
}

/* -------------------------------------------------------------------------
 * v14862075 — functional loading motion exception
 * Lite stays motionless everywhere else. Only tiny loading indicators are
 * allowed to animate so users can tell the page/action is still working.
 * ---------------------------------------------------------------------- */
@keyframes bmLiteFunctionalSpin{to{transform:rotate(360deg)}}
@keyframes bmLiteFunctionalSpinReverse{to{transform:rotate(-360deg)}}
@keyframes bmLiteFunctionalDots{
  0%,100%{transform:translateY(0);opacity:.42}
  50%{transform:translateY(-4px);opacity:1}
}

html[data-bm-lite="1"] :is(
  .loading-spinner,
  .bm-video-spinner,
  .bm-loading-orbit,
  .bm-dl-feedback-spinner,
  .bm-wp-send-spinner,
  .filter-submit-spinner,
  .fa-spinner.fa-spin
){
  animation:bmLiteFunctionalSpin 1s linear infinite!important;
  animation-play-state:running!important;
}

/* Managed full-page loader: keep only rotation; logo/aura/progress stay static. */
html[data-bm-lite="1"] .loading-overlay.bm-loading-managed .bm-loading-orbit::before{
  animation:bmLiteFunctionalSpinReverse 1.55s linear infinite!important;
  animation-play-state:running!important;
}
html[data-bm-lite="1"] .loading-overlay.bm-loading-managed .bm-loading-orbit::after{
  animation:bmLiteFunctionalSpin 2.05s linear infinite!important;
  animation-play-state:running!important;
}
html[data-bm-lite="1"] .loading-overlay.bm-loading-managed .bm-loading-rings i{
  animation:bmLiteFunctionalSpin 1.05s linear infinite!important;
  animation-play-state:running!important;
}
html[data-bm-lite="1"] .loading-overlay.bm-loading-managed .bm-loading-rings i:nth-child(2){
  animation-name:bmLiteFunctionalSpinReverse!important;
  animation-duration:1.4s!important;
}
html[data-bm-lite="1"] .loading-overlay.bm-loading-managed .bm-loading-rings i:nth-child(3){
  animation-duration:.82s!important;
}

/* Tiny asynchronous dot indicators may move; skeletons/shimmers remain frozen. */
html[data-bm-lite="1"] :is(.chat-history-spinner,.bm-notif-loading) i,
html[data-bm-lite="1"] .bm-notif-loading span{
  animation:bmLiteFunctionalDots 1.05s ease-in-out infinite!important;
  animation-play-state:running!important;
}
html[data-bm-lite="1"] :is(.chat-history-spinner,.bm-notif-loading) :nth-child(2){animation-delay:.12s!important}
html[data-bm-lite="1"] :is(.chat-history-spinner,.bm-notif-loading) :nth-child(3){animation-delay:.24s!important}
