/*
 * BankMovie Premium UI System v140
 * Visual-only compatibility layer. No API / PHP behavior changes.
 */

:root{
  --bm-bg-0:#05070b;
  --bm-bg-1:#090d14;
  --bm-bg-2:#0e1420;
  --bm-surface:rgba(15,21,33,.84);
  --bm-surface-strong:#111925;
  --bm-surface-soft:rgba(255,255,255,.045);
  --bm-line:rgba(255,255,255,.085);
  --bm-line-strong:rgba(var(--accent-rgb,47,128,255),.34);
  --bm-text:#f7f9ff;
  --bm-text-2:#b7c0cf;
  --bm-text-3:#7f8998;
  --bm-blue:#3185ff;
  --bm-blue-2:#56b6ff;
  --bm-purple:#8c5cff;
  --bm-success:#27d49b;
  --bm-danger:#ff5f76;
  --bm-radius-xs:10px;
  --bm-radius-sm:14px;
  --bm-radius-md:18px;
  --bm-radius-lg:24px;
  --bm-radius-xl:32px;
  --bm-shadow-card:0 18px 55px rgba(0,0,0,.28);
  --bm-shadow-float:0 24px 70px rgba(0,0,0,.44);
  --bm-ease:cubic-bezier(.2,.8,.2,1);
  --bm-container:min(1440px,calc(100% - 48px));
}

html{scroll-behavior:smooth}
body{
  color:var(--bm-text) !important;
  background:
    radial-gradient(1000px 600px at 85% -15%,rgba(39,116,255,.11),transparent 65%),
    radial-gradient(850px 520px at 5% 28%,rgba(113,55,221,.07),transparent 65%),
    linear-gradient(180deg,var(--bm-bg-0),var(--bm-bg-1) 36%,#070a10 100%) !important;
  font-feature-settings:"ss01" 1,"kern" 1;
  text-rendering:optimizeLegibility;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  opacity:.22;
  background-image:linear-gradient(rgba(255,255,255,.015) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.015) 1px,transparent 1px);
  background-size:48px 48px;
  mask-image:linear-gradient(to bottom,black,transparent 88%);
}
::selection{background:rgba(49,133,255,.38);color:#fff}
a,button,input,select,textarea{font:inherit}
a,button{transition:transform .22s var(--bm-ease),background-color .22s ease,border-color .22s ease,color .22s ease,box-shadow .22s ease,opacity .22s ease}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid rgba(86,182,255,.92) !important;
  outline-offset:3px !important;
}

/* Shared desktop header: calmer hierarchy, one coherent surface */
@media(min-width:992px){
  html body #siteHeader .header-inner,
  html body #siteHeader.header-admin .header-inner{
    width:var(--bm-container) !important;
    max-width:1440px !important;
    height:78px !important;
    min-height:78px !important;
    grid-template-columns:minmax(420px,510px) minmax(0,1fr) 180px !important;
    column-gap:clamp(18px,2.2vw,36px) !important;
  }
  html body #siteHeader .bm-header-logo-img{
    max-width:158px !important;
    height:46px !important;
    filter:drop-shadow(0 8px 22px rgba(0,0,0,.45)) saturate(1.06) !important;
  }
  html body #siteHeader .desktop-nav{
    gap:clamp(12px,1.5vw,26px) !important;
  }
  html body #siteHeader .desktop-nav-item{
    min-height:38px !important;
    height:38px !important;
    padding:0 12px !important;
    border-radius:12px !important;
    font-size:14px !important;
    font-weight:820 !important;
    color:rgba(255,255,255,.86) !important;
    text-shadow:0 2px 12px rgba(0,0,0,.35) !important;
  }
  html body #siteHeader .desktop-nav-item:hover,
  html body #siteHeader .desktop-nav-item.active{
    color:#fff !important;
    background:rgba(255,255,255,.075) !important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.055) !important;
  }
  html body #siteHeader .bm-header-search{
    height:42px !important;
    min-height:42px !important;
    flex-basis:clamp(205px,15vw,250px) !important;
    width:clamp(205px,15vw,250px) !important;
    border-radius:13px !important;
    background:rgba(7,11,18,.74) !important;
    border:1px solid rgba(110,159,255,.34) !important;
    box-shadow:0 10px 28px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.055) !important;
  }
  html body #siteHeader .bm-header-search:hover{
    border-color:rgba(86,182,255,.72) !important;
    box-shadow:0 12px 32px rgba(0,0,0,.28),0 0 0 3px rgba(49,133,255,.09) !important;
  }
  html body #siteHeader .notif-bell,
  html body #siteHeader .admin-btn,
  html body #siteHeader .user-btn,
  html body #siteHeader .login-btn{
    height:42px !important;
    min-height:42px !important;
    border-radius:13px !important;
    background:rgba(7,11,18,.68) !important;
    border:1px solid rgba(255,255,255,.09) !important;
    box-shadow:inset 0 1px rgba(255,255,255,.045),0 10px 26px rgba(0,0,0,.18) !important;
  }
  body:not(.has-hero) #siteHeader,
  body.search-page #siteHeader,
  body.page-app #siteHeader,
  body.bm-header-scrolled #siteHeader{
    background:linear-gradient(180deg,rgba(5,8,14,.94),rgba(5,8,14,.72)) !important;
    border-bottom:1px solid rgba(255,255,255,.065) !important;
    backdrop-filter:blur(22px) saturate(135%) !important;
    -webkit-backdrop-filter:blur(22px) saturate(135%) !important;
    box-shadow:0 18px 50px rgba(0,0,0,.18) !important;
  }
}

/* Home: cinematic hero with real information hierarchy */
body.has-hero .hero-slider{
  height:min(74vh,760px) !important;
  min-height:590px !important;
  max-height:760px !important;
  border-radius:0 0 28px 28px !important;
  box-shadow:0 24px 80px rgba(0,0,0,.34) !important;
}
body.has-hero .hero-bg{
  object-position:center 30% !important;
  transform:scale(1.012);
  transition:transform 8s var(--bm-ease),opacity .6s ease !important;
}
body.has-hero .hero-slide.active .hero-bg{transform:scale(1.055)}
body.has-hero .hero-overlay{
  background:
    linear-gradient(90deg,rgba(3,5,9,.95) 0%,rgba(3,5,9,.68) 26%,rgba(3,5,9,.16) 57%,rgba(3,5,9,.10) 100%),
    linear-gradient(0deg,#05070b 0%,rgba(5,7,11,.63) 19%,transparent 55%),
    linear-gradient(180deg,rgba(0,0,0,.32),transparent 30%) !important;
}
body.has-hero .hero-content{
  inset:auto auto 112px clamp(44px,7vw,122px) !important;
  width:min(580px,44vw) !important;
  max-width:580px !important;
  padding:0 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  text-align:right !important;
  direction:rtl !important;
  gap:13px !important;
  filter:drop-shadow(0 10px 35px rgba(0,0,0,.38));
}
body.has-hero .hero-title{
  margin:0 !important;
  max-width:100% !important;
  font-size:clamp(42px,4.2vw,68px) !important;
  line-height:1.05 !important;
  font-weight:950 !important;
  letter-spacing:-.045em !important;
  color:#fff !important;
  text-wrap:balance;
}
body.has-hero .hero-desc{
  display:-webkit-box !important;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  max-width:540px !important;
  margin:0 !important;
  font-size:clamp(14px,1.05vw,17px) !important;
  line-height:1.9 !important;
  font-weight:520 !important;
  color:rgba(235,240,250,.78) !important;
}
body.has-hero .hero-buttons{margin-top:8px !important;display:flex !important;gap:10px !important}
body.has-hero .hero-btn.main{
  min-width:132px !important;
  min-height:46px !important;
  padding:0 24px !important;
  border-radius:14px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:linear-gradient(135deg,var(--bm-blue),#39bcff) !important;
  color:#fff !important;
  font-size:14px !important;
  font-weight:900 !important;
  box-shadow:0 14px 34px rgba(28,125,255,.34),inset 0 1px rgba(255,255,255,.32) !important;
}
body.has-hero .hero-btn.main:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(28,125,255,.43),inset 0 1px rgba(255,255,255,.32) !important}
body.has-hero .hero-arrow{
  width:48px !important;height:64px !important;border-radius:16px !important;
  background:rgba(7,12,21,.56) !important;border:1px solid rgba(255,255,255,.13) !important;
  box-shadow:0 14px 38px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.07) !important;
  backdrop-filter:blur(14px) !important;
}
body.has-hero .hero-arrow:hover{background:rgba(30,112,255,.26) !important;border-color:rgba(86,182,255,.5) !important;transform:translateY(-50%) scale(1.04) !important}
body.has-hero .hero-dots{bottom:27px !important;gap:9px !important}
body.has-hero .hero-dot{width:7px !important;height:7px !important;background:rgba(255,255,255,.42) !important;border-radius:99px !important}
body.has-hero .hero-dot.active{width:30px !important;background:linear-gradient(90deg,var(--bm-blue),var(--bm-blue-2)) !important;box-shadow:0 0 18px rgba(49,133,255,.48) !important}

/* Consistent content rhythm */
.stories-section,.genres-section,.countries-section,
.new-releases-section,.collections-section,.top-rated-section,
.home-section,.support-section,.archive-switcher-wrap,
#extSearchResultsSection{
  width:var(--bm-container) !important;
  max-width:1440px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.stories-section{padding:28px 0 8px !important}
.stories-title{
  margin-bottom:14px !important;
  color:var(--bm-text-2) !important;
  font-size:13px !important;
  font-weight:800 !important;
}
.stories-container{gap:16px !important;padding:4px 3px 12px !important;scroll-snap-type:x proximity}
.story-item{width:82px !important;scroll-snap-align:start}
.story-avatar{
  width:72px !important;height:72px !important;margin:0 auto 8px !important;padding:2px !important;
  background:linear-gradient(145deg,var(--bm-blue-2),var(--bm-blue),var(--bm-purple)) !important;
  box-shadow:0 8px 24px rgba(0,0,0,.28),0 0 0 1px rgba(255,255,255,.1) !important;
}
.story-avatar img,.story-avatar video,.story-video-thumb-wrap{
  width:68px !important;height:68px !important;border:3px solid #090d14 !important;background:linear-gradient(135deg,#182235,#0e1420) !important;
}
.story-avatar.bm-media-failed::after{
  content:"BM";display:flex;align-items:center;justify-content:center;width:66px;height:66px;border-radius:50%;
  background:linear-gradient(135deg,#15233a,#101827);color:rgba(255,255,255,.75);font-size:13px;font-weight:950;
}
.story-avatar.bm-media-failed>*{display:none !important}
.story-name{font-size:11px !important;line-height:1.45 !important;color:rgba(255,255,255,.7) !important;max-width:82px !important}

.section-header{margin-bottom:16px !important;padding:0 2px !important}
.section-title{
  margin:0 !important;
  color:#eaf2ff !important;
  font-size:clamp(17px,1.25vw,21px) !important;
  line-height:1.3 !important;
  font-weight:900 !important;
  letter-spacing:-.015em !important;
}
.section-title svg{color:var(--bm-blue-2) !important;stroke:currentColor !important}
.view-all-btn{
  min-height:36px !important;padding:0 12px !important;border-radius:11px !important;
  color:var(--bm-text-2) !important;background:rgba(255,255,255,.035) !important;border:1px solid rgba(255,255,255,.07) !important;
  font-size:12px !important;font-weight:780 !important;
}
.view-all-btn:hover{color:#fff !important;background:rgba(49,133,255,.13) !important;border-color:rgba(49,133,255,.28) !important}
.new-releases-section,.collections-section,.top-rated-section,.home-section{padding:22px 0 10px !important}
.scroll-horizontal{gap:17px !important;padding:4px 2px 17px !important;scroll-snap-type:x proximity}
.scroll-card{
  width:172px !important;
  border-radius:18px !important;
  background:linear-gradient(180deg,rgba(20,27,40,.96),rgba(11,16,25,.98)) !important;
  border:1px solid rgba(255,255,255,.075) !important;
  box-shadow:0 12px 35px rgba(0,0,0,.18) !important;
  scroll-snap-align:start;
  overflow:hidden !important;
  transform:translateZ(0);
}
.scroll-card:hover{
  transform:translateY(-7px) !important;
  border-color:rgba(74,155,255,.45) !important;
  box-shadow:0 24px 50px rgba(0,0,0,.34),0 0 0 1px rgba(49,133,255,.08) !important;
}
.scroll-card .poster-wrap,.grid-item .poster-shell,.grid-item .poster-wrap{overflow:hidden !important;background:#101722 !important}
.scroll-card-poster,.scroll-card .bm-poster-img,.grid-poster{
  transition:transform .55s var(--bm-ease),filter .35s ease !important;
}
.scroll-card:hover .scroll-card-poster,.scroll-card:hover .bm-poster-img,.grid-item:hover .grid-poster{transform:scale(1.045) !important;filter:saturate(1.06) contrast(1.03)}
.scroll-card-info{padding:11px 11px 13px !important;min-height:69px !important}
.scroll-card-title-fa{font-size:12.5px !important;line-height:1.55 !important;font-weight:850 !important;color:#f2f6ff !important}
.scroll-card-title-en{font-size:10.5px !important;line-height:1.5 !important;color:var(--bm-text-3) !important;margin-top:2px !important}
.scroll-card-meta{font-size:10px !important;color:var(--bm-text-3) !important;margin-top:5px !important}
.year-badge,.year-poster-badge{
  top:9px !important;inset-inline-start:9px !important;padding:4px 8px !important;border-radius:9px !important;
  background:rgba(5,8,13,.75) !important;color:#dceaff !important;border:1px solid rgba(255,255,255,.12) !important;
  backdrop-filter:blur(10px) !important;font-weight:850 !important;
}

/* Grids: fewer, larger, easier to scan */
.movies-grid{
  width:var(--bm-container) !important;
  max-width:1440px !important;
  margin:0 auto !important;
  padding:0 !important;
  gap:20px !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}
.grid-item{
  min-width:0 !important;
  border-radius:19px !important;
  background:linear-gradient(180deg,rgba(20,27,40,.98),rgba(10,15,23,.98)) !important;
  border:1px solid rgba(255,255,255,.08) !important;
  box-shadow:0 14px 38px rgba(0,0,0,.2) !important;
  overflow:hidden !important;
}
.grid-item:hover{transform:translateY(-7px) !important;border-color:rgba(74,155,255,.48) !important;box-shadow:0 25px 55px rgba(0,0,0,.36) !important}
.grid-info,.pro-grid-info{padding:12px 12px 14px !important;min-height:92px !important}
.grid-title-fa{font-size:13px !important;line-height:1.6 !important;font-weight:880 !important;color:#f3f7ff !important}
.grid-title-en{font-size:10.5px !important;line-height:1.5 !important;color:var(--bm-text-3) !important;margin-top:3px !important}
.grid-meta{margin-top:8px !important}
.grid-badge,.poster-media-badge{border-radius:8px !important;font-weight:800 !important}
@media(min-width:600px){.movies-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important}}
@media(min-width:900px){.movies-grid{grid-template-columns:repeat(4,minmax(0,1fr)) !important}}
@media(min-width:1200px){.movies-grid{grid-template-columns:repeat(6,minmax(0,1fr)) !important}}
@media(min-width:1550px){.movies-grid{grid-template-columns:repeat(7,minmax(0,1fr)) !important}}

/* Support / archive controls: reduce decorative noise */
.support-card,.donate-card,.archive-guide-card,.archive-switcher,.filter-toolbar,.result-tools{
  background:linear-gradient(145deg,rgba(19,29,47,.92),rgba(11,17,28,.92)) !important;
  border:1px solid rgba(105,157,255,.16) !important;
  box-shadow:0 16px 45px rgba(0,0,0,.2),inset 0 1px rgba(255,255,255,.04) !important;
}
.archive-guide-card{border-radius:17px !important}
.archive-search-tab,.type-btn,.arc1-season-tab{
  border-radius:11px !important;
  font-weight:820 !important;
}
.archive-search-tab.active,.type-btn.active,.arc1-season-tab.active{
  color:#fff !important;
  background:linear-gradient(135deg,var(--bm-blue),#4aa8ff) !important;
  box-shadow:0 10px 26px rgba(49,133,255,.25) !important;
}

/* Search: compact controls, confident results */
body.search-page .search-section{
  width:var(--bm-container) !important;max-width:1440px !important;margin:0 auto !important;
  padding-top:118px !important;padding-left:0 !important;padding-right:0 !important;
}
body.search-page .search-box{
  max-width:none !important;height:58px !important;border-radius:18px !important;
  background:rgba(14,21,33,.88) !important;border:1px solid rgba(255,255,255,.09) !important;
  box-shadow:0 16px 45px rgba(0,0,0,.23),inset 0 1px rgba(255,255,255,.045) !important;
}
body.search-page .search-box:focus-within{border-color:rgba(73,157,255,.62) !important;box-shadow:0 18px 50px rgba(0,0,0,.28),0 0 0 4px rgba(49,133,255,.09) !important}
body.search-page .search-input{font-size:15px !important;color:#fff !important;padding-inline:22px !important}
body.search-page .search-btn{height:42px !important;min-width:106px !important;margin:7px !important;border-radius:12px !important;background:linear-gradient(135deg,var(--bm-blue),#4cb7ff) !important;color:#fff !important;font-weight:900 !important}
body.search-page .archive-search-tabs{margin:17px 0 !important;gap:8px !important}
body.search-page .filter-toolbar{border-radius:18px !important;padding:14px 16px !important;margin-top:14px !important}
body.search-page .page-header{
  width:var(--bm-container) !important;max-width:1440px !important;margin:40px auto 20px !important;
  padding:0 !important;
}
body.search-page .page-header h1{font-size:clamp(26px,2.3vw,38px) !important;letter-spacing:-.035em !important;color:#f4f8ff !important}
body.search-page .page-header .count{font-size:13px !important;color:var(--bm-text-2) !important;margin-top:8px !important}
body.search-page .result-tools{width:var(--bm-container) !important;max-width:1440px !important;margin:0 auto 24px !important;border-radius:16px !important;padding:13px 16px !important}
body.search-page .pagination{gap:8px !important;margin:36px auto !important}
body.search-page .page-link{min-width:42px !important;min-height:42px !important;border-radius:12px !important;background:rgba(255,255,255,.045) !important;border:1px solid rgba(255,255,255,.08) !important}
body.search-page .page-link.active{background:var(--bm-blue) !important;color:#fff !important;border-color:transparent !important}

/* Collections: remove giant empty hero feeling */
body:has(.collections-hero) .collections-hero,
.collections-hero,.collection-hero{
  width:var(--bm-container) !important;max-width:1440px !important;margin:104px auto 28px !important;
  min-height:250px !important;border-radius:26px !important;
  background:linear-gradient(130deg,rgba(25,43,83,.94),rgba(19,26,52,.94) 52%,rgba(41,27,75,.88)) !important;
  border:1px solid rgba(118,157,255,.18) !important;
  box-shadow:0 24px 65px rgba(0,0,0,.25),inset 0 1px rgba(255,255,255,.06) !important;
}
.collections-hero h1,.collection-hero h1{font-size:clamp(38px,4vw,62px) !important;letter-spacing:-.05em !important;line-height:1.1 !important}
.collections-search,.collection-search{border-radius:14px !important;background:rgba(7,11,19,.7) !important;border:1px solid rgba(255,255,255,.09) !important}

/* Movie detail: keep cinema, remove visual competition */
.movie-detail{
  min-height:min(720px,84vh) !important;
  border-bottom:1px solid rgba(255,255,255,.065) !important;
}
.movie-detail::before{
  background:
    linear-gradient(90deg,rgba(4,7,12,.97) 0%,rgba(4,7,12,.84) 32%,rgba(4,7,12,.28) 70%,rgba(4,7,12,.45) 100%),
    linear-gradient(0deg,#05070b 0%,rgba(5,7,11,.76) 25%,transparent 62%) !important;
}
.movie-detail .movie-info h1,.movie-detail .movie-title,.movie-detail h1{
  font-size:clamp(28px,3vw,48px) !important;
  line-height:1.15 !important;
  letter-spacing:-.035em !important;
  text-wrap:balance;
}
.movie-detail .movie-description,.movie-detail .description{
  max-width:760px !important;font-size:14px !important;line-height:2 !important;color:rgba(225,232,244,.75) !important;
}
.movie-detail .poster,.movie-detail .movie-poster{
  border-radius:20px !important;border:1px solid rgba(255,255,255,.13) !important;
  box-shadow:0 28px 70px rgba(0,0,0,.5),0 0 0 1px rgba(49,133,255,.08) !important;
}
.hero-actions .btn,.action-buttons .btn{
  min-height:46px !important;border-radius:13px !important;padding-inline:20px !important;font-size:13px !important;font-weight:900 !important;
}
.hero-primary-action{
  background:linear-gradient(135deg,var(--bm-blue),#514cff) !important;color:#fff !important;
  box-shadow:0 14px 34px rgba(49,95,255,.28) !important;
}
.bm-trailer-cta{background:linear-gradient(135deg,#ffb24c,#ff4f68) !important;color:#fff !important;border:0 !important}
.bm-arc1-actors-section,.actors-glassmorphism{
  background:rgba(12,18,28,.6) !important;border:1px solid rgba(255,255,255,.075) !important;
  border-radius:20px !important;box-shadow:inset 0 1px rgba(255,255,255,.035) !important;
}
.bm-arc1-actor-card,.actor-chip{
  border-radius:14px !important;background:rgba(255,255,255,.045) !important;border:1px solid rgba(255,255,255,.075) !important;
}

/* Episodes: more information density, less giant blank bars */
.download-section{
  width:var(--bm-container) !important;max-width:1440px !important;margin-left:auto !important;margin-right:auto !important;
  border-radius:24px !important;background:linear-gradient(180deg,rgba(12,18,28,.86),rgba(7,11,18,.86)) !important;
  border:1px solid rgba(255,255,255,.075) !important;box-shadow:0 20px 55px rgba(0,0,0,.22) !important;
}
.arc1-series-downloads{gap:10px !important}
.arc1-ep-card{
  border-radius:15px !important;background:rgba(255,255,255,.035) !important;border:1px solid rgba(255,255,255,.075) !important;
  overflow:hidden !important;
}
.arc1-ep-card:hover{border-color:rgba(73,157,255,.28) !important;background:rgba(49,133,255,.045) !important}
.arc1-ep-head{
  min-height:56px !important;padding:11px 15px !important;cursor:pointer !important;
}
.arc1-ep-num{font-size:13px !important;font-weight:880 !important;color:#e9f2ff !important}
.arc1-ep-badges{gap:6px !important}
.arc1-ep-badges>*{min-height:27px !important;padding:4px 9px !important;border-radius:8px !important;font-size:10.5px !important}
.arc1-ep-toggle{width:32px !important;height:32px !important;border-radius:10px !important;background:rgba(255,255,255,.045) !important}
.arc1-ep-links{background:rgba(2,5,9,.34) !important;border-top:1px solid rgba(255,255,255,.06) !important}
.arc1-link-row{padding:12px 15px !important;min-height:58px !important}
.arc1-play-inline,.arc1-dl-btn,.arc1-sub-dl-btn{border-radius:10px !important;min-height:35px !important;font-weight:850 !important}

/* Player: product surface, not an empty black rectangle */
.player-wrapper,.video-container,.bm-player-shell{
  border-radius:22px !important;border:1px solid rgba(88,153,255,.19) !important;
  box-shadow:0 24px 70px rgba(0,0,0,.42),0 0 0 1px rgba(255,255,255,.025) inset !important;
  overflow:hidden !important;background:#020305 !important;
}
.player-hero{padding-top:116px !important}
.player-hero-inner{width:var(--bm-container) !important;max-width:1240px !important}
.quick-input-card,.guide-card,.subkade-card{
  border-radius:22px !important;background:linear-gradient(145deg,rgba(20,15,34,.93),rgba(10,14,24,.95)) !important;
  border:1px solid rgba(151,88,255,.19) !important;box-shadow:0 22px 65px rgba(0,0,0,.28) !important;
}
.quick-input-card input{border-radius:14px !important;background:rgba(2,5,10,.64) !important;border:1px solid rgba(255,255,255,.08) !important}

/* App page: preserve its strong identity, align tokens */
body.page-app .hero{padding-top:118px !important}
body.page-app .hero-grid,body.page-app .container{width:var(--bm-container) !important;max-width:1360px !important}
body.page-app .hero h1{font-size:clamp(46px,5vw,76px) !important;line-height:1.12 !important;letter-spacing:-.055em !important}
body.page-app .lead{font-size:15px !important;line-height:2 !important;color:var(--bm-text-2) !important}
body.page-app .download,body.page-app .soft,body.page-app .pwa-install-btn{border-radius:13px !important;min-height:48px !important}
body.page-app .release-card,body.page-app .cards article,body.page-app .download-tile,body.page-app .download-panel{
  border-radius:22px !important;border:1px solid rgba(255,255,255,.08) !important;box-shadow:0 18px 55px rgba(0,0,0,.22) !important;
}

/* Mobile: preserve usability, reduce clutter */
@media(max-width:991px){
  :root{--bm-container:calc(100% - 28px)}
  body.has-hero .hero-slider{height:68vh !important;min-height:520px !important;border-radius:0 0 23px 23px !important}
  body.has-hero .hero-overlay{
    background:linear-gradient(0deg,#05070b 0%,rgba(5,7,11,.78) 36%,rgba(5,7,11,.18) 75%),linear-gradient(90deg,rgba(5,7,11,.32),transparent) !important;
  }
  body.has-hero .hero-content{
    inset:auto 22px 86px 22px !important;width:auto !important;max-width:none !important;align-items:center !important;text-align:center !important;
  }
  body.has-hero .hero-title{font-size:36px !important}
  body.has-hero .hero-desc{-webkit-line-clamp:2;font-size:13px !important;line-height:1.8 !important}
  body.has-hero .hero-arrow{display:none !important}
  .stories-section{padding-top:20px !important}
  .scroll-card{width:148px !important}
  .scroll-horizontal{gap:13px !important}
  .section-title{font-size:17px !important}
  .movies-grid{gap:13px !important}
  .grid-info,.pro-grid-info{padding:9px 9px 11px !important;min-height:78px !important}
  .grid-title-fa{font-size:11.5px !important}
  body.search-page .search-section{padding-top:88px !important}
  body.search-page .search-box{height:52px !important}
  body.search-page .search-btn{min-width:86px !important;height:38px !important}
  .collections-hero,.collection-hero{margin-top:86px !important;min-height:220px !important;padding:28px 20px !important}
  .movie-detail{min-height:auto !important}
  .download-section{border-radius:19px !important}
  .arc1-ep-head{min-height:53px !important;padding:10px 12px !important}
  body.page-app .hero{padding-top:92px !important}
}

@media(max-width:520px){
  :root{--bm-container:calc(100% - 22px)}
  body.has-hero .hero-title{font-size:31px !important}
  body.has-hero .hero-content{bottom:80px !important}
  .story-item{width:72px !important}.story-avatar{width:66px !important;height:66px !important}.story-avatar img,.story-avatar video,.story-video-thumb-wrap{width:62px !important;height:62px !important}
  .scroll-card{width:140px !important}
  .movies-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .hero-actions,.action-buttons{gap:8px !important}
  .hero-actions .btn,.action-buttons .btn{min-height:43px !important;padding-inline:14px !important}
}

/* Respect reduced motion */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;scroll-behavior:auto !important;transition-duration:.01ms !important}
}

/* ========================================================================== 
   BankMovie Responsive Stability Hotfix v141
   Fixes: movie backdrop, fullscreen return, horizontal overflow, mobile cards,
   collection rails, compact viewport handling, and story media placeholders.
   ========================================================================== */

/* 1) Viewport safety — no page is allowed to become wider than the device. */
html{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:clip;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
body{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:clip !important;
  margin-inline:0;
}
@supports not (overflow:clip){
  html,body{overflow-x:hidden !important}
}
*,*::before,*::after{box-sizing:border-box}
img,video,canvas,iframe,svg{max-width:100%}
main,.container,.page-shell,.cinema-panel,.ext-page,.local-page,
.new-releases-section,.collections-section,.top-rated-section,.home-section,
.admin-picks-section,.top-movies-section,.top-series-section,.user-rated-section,
.dubbed-section,.smart-suggestions-section,.updated-section,
.stories-section,.genres-section,.countries-section,
.search-section,.page-header,.result-tools,.movies-grid,.collections-grid{
  min-width:0;
}
.scroll-horizontal,.stories-container,.genres-scroll,.countries-scroll,
.related-scroll,.bm-arc1-related-scroll{
  max-width:100%;
  min-width:0;
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
}

/* 2) Story videos must not render Chromium's broken-media glyph before load. */
.story-video-thumb-wrap{position:relative !important;overflow:hidden !important}
.story-thumb-video:not(.is-loaded){display:none !important}
.story-thumb-video.is-loaded{display:block !important}
.story-thumb-img{display:block;object-fit:cover}
.story-video-thumb-wrap:not(.is-loaded) .story-thumb-img{opacity:1 !important}
.story-video-thumb-wrap:not(.is-loaded):not(:has(.story-thumb-img))::after{
  content:"BM";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:rgba(255,255,255,.72);
  font-size:11px;
  font-weight:950;
  background:linear-gradient(145deg,#15233a,#0b111d);
}

/* 3) Keep the dynamic movie backdrop. v140 accidentally replaced --bg-image. */
body.movie-page .movie-detail{
  position:relative !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  isolation:isolate !important;
  overflow:hidden !important;
}
body.movie-page .movie-detail::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:-5% !important;
  width:auto !important;
  height:auto !important;
  background-color:#05070b !important;
  background-image:var(--bg-image,none) !important;
  background-repeat:no-repeat !important;
  background-size:cover !important;
  background-position:center 30% !important;
  filter:saturate(1.04) brightness(.58) blur(2px) !important;
  transform:scale(1.035) !important;
  opacity:.92 !important;
  z-index:0 !important;
  pointer-events:none !important;
}
body.movie-page .movie-detail::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  pointer-events:none !important;
  background:
    radial-gradient(circle at 18% 48%,rgba(0,0,0,.02),rgba(0,0,0,.24) 33%,rgba(4,7,12,.74) 72%),
    linear-gradient(90deg,rgba(4,7,12,.30),rgba(4,7,12,.66) 48%,rgba(4,7,12,.94) 100%),
    linear-gradient(0deg,rgba(5,7,11,.92),transparent 42%) !important;
}
[dir="rtl"] body.movie-page .movie-detail::after,
body.movie-page[dir="rtl"] .movie-detail::after,
html[dir="rtl"] body.movie-page .movie-detail::after{
  background:
    radial-gradient(circle at 82% 48%,rgba(0,0,0,.02),rgba(0,0,0,.24) 33%,rgba(4,7,12,.74) 72%),
    linear-gradient(270deg,rgba(4,7,12,.30),rgba(4,7,12,.66) 48%,rgba(4,7,12,.94) 100%),
    linear-gradient(0deg,rgba(5,7,11,.92),transparent 42%) !important;
}
body.movie-page .movie-detail>.poster-col,
body.movie-page .movie-detail>.info-col{position:relative;z-index:2;min-width:0}
body.movie-page .info-col{max-width:100% !important}
body.movie-page .movie-description,
body.movie-page .description,
body.movie-page .movie-title-fa,
body.movie-page .movie-title-en,
body.movie-page .meta-item,
body.movie-page .meta-item .value{overflow-wrap:anywhere;word-break:normal}

/* 4) Normal player mode must always return to the responsive document flow. */
body.movie-page #arc1PlayerWrapper,
body.movie-page #playerWrapper{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin-inline:auto !important;
}
body.movie-page:not(.fullscreen-active) .player-wrapper:not(:fullscreen),
body.movie-page:not(.fullscreen-active) #arc1PlayerInner:not(:fullscreen),
body:not(.fullscreen-active) .bm-player-shell:not(:fullscreen){
  position:relative !important;
  inset:auto !important;
  left:auto !important;
  right:auto !important;
  top:auto !important;
  bottom:auto !important;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  max-height:none !important;
  min-height:0 !important;
  aspect-ratio:16/9 !important;
  transform:none !important;
  overflow:hidden !important;
}
.player-wrapper:fullscreen,.player-wrapper:-webkit-full-screen,
#arc1PlayerInner:fullscreen,#arc1PlayerInner:-webkit-full-screen{
  width:100vw !important;
  max-width:100vw !important;
  height:100dvh !important;
  max-height:100dvh !important;
  aspect-ratio:auto !important;
  border-radius:0 !important;
}

/* 5) Better desktop scaling without forcing the header or rails outside screen. */
@media (min-width:992px) and (max-width:1199px){
  html body #siteHeader .header-inner,
  html body #siteHeader.header-admin .header-inner{
    width:calc(100% - 28px) !important;
    grid-template-columns:minmax(330px,410px) minmax(0,1fr) 128px !important;
    column-gap:14px !important;
  }
  html body #siteHeader .bm-header-search{
    width:clamp(178px,18vw,218px) !important;
    flex-basis:clamp(178px,18vw,218px) !important;
  }
  html body #siteHeader .desktop-nav{gap:7px !important}
  html body #siteHeader .desktop-nav-item{padding-inline:8px !important;font-size:12px !important}
  .scroll-card{width:158px !important;flex:0 0 158px !important}
}
@media (min-width:1200px){
  .scroll-card{flex:0 0 172px !important}
}

/* 6) Home rails: consistent basis, no accidental stretching or clipped first card. */
.scroll-horizontal{
  display:flex !important;
  flex-wrap:nowrap !important;
  align-items:stretch;
  width:100% !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  scroll-padding-inline:2px;
  scrollbar-width:thin;
}
.scroll-horizontal>.scroll-card{
  flex-grow:0 !important;
  flex-shrink:0 !important;
  min-width:0 !important;
  max-width:none;
}

/* 7) Standalone collections/grid pages. */
.page-shell,.collections-page .page-shell{width:100%;max-width:100%}
.collections-grid,.movies-grid{
  width:min(1440px,calc(100% - 32px)) !important;
  max-width:1440px !important;
  margin-inline:auto !important;
}
.collections-grid>.collection-card,.movies-grid>.movie-card,.movies-grid>.grid-item{
  min-width:0 !important;
  width:auto !important;
  max-width:100% !important;
}

/* 8) Tablet layout. */
@media (min-width:600px) and (max-width:991px){
  :root{--bm-container:calc(100% - 32px)}
  .scroll-horizontal>.scroll-card{width:166px !important;flex-basis:166px !important}
  .collections-section .scroll-horizontal{
    display:grid !important;
    grid-auto-flow:column !important;
    grid-auto-columns:calc((100% - 30px)/3) !important;
    gap:15px !important;
  }
  .collections-section .scroll-horizontal>.scroll-card{
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    flex-basis:auto !important;
  }
  .collections-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:16px !important}
  .movies-grid{grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:14px !important}
  body.movie-page .movie-detail{
    display:grid !important;
    grid-template-columns:minmax(190px,240px) minmax(0,1fr) !important;
    grid-template-areas:"poster info" !important;
    gap:20px !important;
    padding:20px !important;
  }
  body.movie-page .poster-col{grid-area:poster !important;width:100% !important;max-width:240px !important;margin:0 !important}
  body.movie-page .info-col{grid-area:info !important;width:100% !important;text-align:start !important;padding:20px !important}
  body.movie-page .movie-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}

/* 9) Mobile-first layout: exact viewport fit and two complete collection cards. */
@media (max-width:599px){
  :root{--bm-container:calc(100% - 20px)}
  body{padding-inline:0 !important}
  main,.page-shell,.container,.cinema-panel{max-width:100% !important}
  .new-releases-section,.collections-section,.top-rated-section,.home-section,
  .admin-picks-section,.top-movies-section,.top-series-section,.user-rated-section,
  .dubbed-section,.smart-suggestions-section,.updated-section,
  .stories-section,.genres-section,.countries-section,
  .support-section,.archive-switcher-wrap,#extSearchResultsSection{
    width:calc(100% - 20px) !important;
    max-width:calc(100% - 20px) !important;
  }
  .section-header{display:flex !important;align-items:center !important;justify-content:space-between !important;gap:10px !important}
  .section-title{min-width:0;font-size:16px !important;white-space:normal !important}
  .view-all-btn{flex:0 0 auto;white-space:nowrap}

  body.has-hero .hero-slider{
    height:clamp(440px,64svh,570px) !important;
    min-height:440px !important;
    max-height:570px !important;
  }
  body.has-hero .hero-bg{object-position:center 28% !important}
  body.has-hero .hero-content{
    inset:auto 18px 72px 18px !important;
    width:auto !important;
    max-width:none !important;
    gap:10px !important;
  }
  body.has-hero .hero-title{font-size:clamp(27px,9vw,35px) !important;line-height:1.12 !important}
  body.has-hero .hero-desc{font-size:12px !important;line-height:1.75 !important;max-width:92% !important}
  body.has-hero .hero-btn.main{min-width:116px !important;min-height:43px !important}
  body.has-hero .hero-dots{bottom:22px !important}

  .stories-container{gap:12px !important;padding-inline:2px !important}
  .story-item{width:68px !important;flex:0 0 68px !important}
  .story-avatar{width:62px !important;height:62px !important}
  .story-avatar img,.story-avatar video,.story-video-thumb-wrap{width:58px !important;height:58px !important}
  .story-name{max-width:68px !important;font-size:9.5px !important}

  .scroll-horizontal{gap:12px !important;padding:3px 1px 15px !important;scroll-snap-type:inline mandatory}
  .scroll-horizontal>.scroll-card{
    width:clamp(138px,42vw,158px) !important;
    flex-basis:clamp(138px,42vw,158px) !important;
    scroll-snap-align:start !important;
    border-radius:16px !important;
  }
  .scroll-card-info{padding:9px 9px 11px !important;min-height:64px !important}
  .scroll-card-title-fa{font-size:11px !important}
  .scroll-card-title-en,.scroll-card-meta{font-size:9px !important}

  /* Special collections: show exactly two complete cards instead of a clipped giant rail. */
  .collections-section .scroll-horizontal{
    display:grid !important;
    grid-auto-flow:column !important;
    grid-auto-columns:calc((100% - 12px)/2) !important;
    gap:12px !important;
    overflow-x:auto !important;
    scroll-snap-type:inline mandatory !important;
  }
  .collections-section .scroll-horizontal>.scroll-card{
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    flex-basis:auto !important;
    scroll-snap-align:start !important;
  }
  .collections-section .scroll-card-poster{aspect-ratio:2/3 !important;width:100% !important;height:auto !important;object-fit:cover !important}

  .collections-grid,.movies-grid{
    width:calc(100% - 20px) !important;
    max-width:calc(100% - 20px) !important;
    padding:0 !important;
    gap:12px !important;
  }
  .collections-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .movies-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .collection-card,.grid-item,.movie-card{border-radius:16px !important;min-width:0 !important}
  .collection-card .card-info,.movie-card .card-info,.grid-item .grid-info{padding:9px 8px 10px !important}

  /* Movie page: one full-width column; backdrop is visible behind all content. */
  body.movie-page .container{
    width:100% !important;
    max-width:100% !important;
    padding:10px 10px calc(116px + env(safe-area-inset-bottom)) !important;
    margin:0 !important;
  }
  body.movie-page .movie-detail{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    width:100% !important;
    max-width:100% !important;
    min-height:0 !important;
    margin:0 0 18px !important;
    padding:14px !important;
    gap:14px !important;
    border-radius:22px !important;
    overflow:hidden !important;
    text-align:start !important;
  }
  body.movie-page .movie-detail::before{
    inset:-2% !important;
    background-size:cover !important;
    background-position:center 18% !important;
    filter:saturate(1.03) brightness(.56) blur(1.5px) !important;
    transform:scale(1.025) !important;
    opacity:.96 !important;
  }
  body.movie-page .movie-detail::after{
    background:
      linear-gradient(180deg,rgba(4,7,12,.20),rgba(4,7,12,.72) 38%,rgba(4,7,12,.96) 82%),
      linear-gradient(90deg,rgba(4,7,12,.30),rgba(4,7,12,.30)) !important;
  }
  body.movie-page .poster-col{
    width:min(62vw,230px) !important;
    max-width:230px !important;
    margin:4px auto 0 !important;
    align-self:center !important;
    padding:6px !important;
    border-radius:23px !important;
  }
  body.movie-page .poster-col img{width:100% !important;height:auto !important;border-radius:18px !important}
  body.movie-page .info-col{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    padding:15px !important;
    margin:0 !important;
    border-radius:19px !important;
    text-align:start !important;
    background:rgba(6,9,15,.70) !important;
  }
  body.movie-page .movie-title-fa{font-size:clamp(23px,7.2vw,31px) !important;text-align:start !important}
  body.movie-page .movie-title-en{font-size:13px !important;text-align:start !important}
  body.movie-page .movie-rating-section,
  body.movie-page .action-buttons,
  body.movie-page .hero-actions{justify-content:stretch !important;width:100% !important}
  body.movie-page .action-buttons .btn,
  body.movie-page .hero-actions .btn{flex:1 1 100% !important;width:100% !important;max-width:100% !important}
  body.movie-page .movie-info-block{width:100% !important;padding:10px !important;border-radius:17px !important}
  body.movie-page .movie-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:8px !important}
  body.movie-page .meta-item{
    width:100% !important;
    min-width:0 !important;
    min-height:44px !important;
    padding:9px 11px !important;
    border-radius:13px !important;
    display:flex !important;
    flex-wrap:wrap !important;
  }
  body.movie-page .description{font-size:12.5px !important;line-height:1.95 !important;text-align:start !important}
  body.movie-page .actors-list,.bm-arc1-actors-list{max-width:100%;overflow-x:auto !important;flex-wrap:nowrap !important}
  body.movie-page .download-section,
  body.movie-page .comments-section,
  body.movie-page .related-section,
  body.movie-page .bm-arc1-related-section{
    width:100% !important;
    max-width:100% !important;
    margin-inline:0 !important;
    border-radius:19px !important;
  }
  body.movie-page .bm-cinematic-tabs{max-width:100%;overflow-x:auto;justify-content:flex-start}
  body.movie-page .arc1-ep-head{display:flex !important;flex-wrap:wrap !important;gap:8px !important}
  body.movie-page .arc1-ep-badges{margin-inline-start:auto;max-width:100%;flex-wrap:wrap}
  body.movie-page .arc1-link-row{min-width:0 !important;max-width:100% !important}

  /* Inline player and controls fit the phone after portrait/landscape transitions. */
  body.movie-page #arc1PlayerWrapper{margin:0 0 18px !important;overflow:visible !important}
  body.movie-page:not(.fullscreen-active) .player-wrapper:not(:fullscreen){border-radius:15px !important}
  body.movie-page:not(.fullscreen-active) .player-controls{padding:15px 9px 9px !important}
  body.movie-page:not(.fullscreen-active) .controls-row{gap:6px !important}
  body.movie-page:not(.fullscreen-active) .ctrl-btn{min-width:36px !important;width:36px !important;height:36px !important;padding:0 !important}
  body.movie-page:not(.fullscreen-active) .settings-dropdown-content{max-width:calc(100vw - 24px) !important}

  /* Fixed mobile nav stays inside safe viewport. */
  .bottom-nav{
    width:calc(100% - 16px) !important;
    max-width:calc(100% - 16px) !important;
    left:50% !important;
    right:auto !important;
    bottom:max(8px,env(safe-area-inset-bottom)) !important;
  }
}

@media (max-width:340px){
  body.movie-page .movie-meta-grid{grid-template-columns:1fr !important}
}

@media (max-width:380px){
  .collections-section .scroll-horizontal{grid-auto-columns:calc((100% - 10px)/2) !important;gap:10px !important}
  .scroll-horizontal>.scroll-card{width:136px !important;flex-basis:136px !important}
  body.movie-page .container{padding-inline:8px !important}
  body.movie-page .movie-detail{padding:11px !important}
  body.movie-page .info-col{padding:12px !important}
  .collections-grid,.movies-grid{width:calc(100% - 16px) !important;max-width:calc(100% - 16px) !important;gap:10px !important}
}

/* Touch screens should not keep desktop hover transforms stuck after tapping. */
@media (hover:none){
  .scroll-card:hover,.grid-item:hover,.movie-card:hover,.collection-card:hover,
  .poster-col:hover,.view-all-btn:hover{transform:none !important}
}

/* ================================================================
   BankMovie v143 — Android/Chrome white-flash hardening
   Keeps the v140/v141 layout, removes repaint-heavy mobile layers.
   ================================================================ */
html{
  background-color:#05070b !important;
  color-scheme:dark;
}
body,
.hero-slider,
.hero-slide,
.hero-bg{
  background-color:#05070b !important;
}

@media (max-width:991px), (hover:none) and (pointer:coarse){
  /* A fixed negative-z grid layer could expose Chrome's white root surface
     during visual viewport/address-bar repaints. It has no functional role. */
  body::before{display:none !important}

  /* Do not promote every hero layer to an independently transformed GPU tile.
     A simple opacity fade is visually clean and much more stable on Android. */
  body.has-hero .hero-bg,
  body.has-hero .hero-slide.active .hero-bg,
  .hero-bg{
    animation:none !important;
    transform:none !important;
    filter:none !important;
    transition:none !important;
    will-change:auto !important;
    -webkit-backface-visibility:visible !important;
    backface-visibility:visible !important;
  }
  body.has-hero .hero-slide,
  body.has-hero .hero-slide.active,
  .hero-slide,
  .hero-slide.active{
    transform:none !important;
    filter:none !important;
    transition:opacity .24s ease,visibility .24s ease !important;
    will-change:auto !important;
    -webkit-backface-visibility:visible !important;
    backface-visibility:visible !important;
  }
  body.has-hero .hero-content{filter:none !important}

  /* Blur on large fixed/sticky surfaces is a common Android compositor
     failure point. Preserve the glass look with opaque gradients instead. */
  #siteHeader,
  #siteHeader .header-inner,
  .bottom-nav,
  body.has-hero .hero-arrow{
    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important;
  }
  #siteHeader{
    background:linear-gradient(180deg,rgba(5,8,14,.96),rgba(5,8,14,.78)) !important;
  }
  .bottom-nav{
    background:linear-gradient(135deg,rgba(17,42,79,.96),rgba(14,27,50,.96)) !important;
  }

  /* Keep the page's root paint solid even while Chrome changes toolbar size. */
  html,body{min-height:100%;background-attachment:scroll !important}
}
