/* CineFlex Build 14.0 — Performance & Premium Polish */
:root{--cf14-ease:cubic-bezier(.22,.75,.2,1)}
html{scroll-behavior:smooth}
body{overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent}
img{content-visibility:auto}

/* Smooth page reveal without blocking interaction */
body.cf14-ready .navbar,
body.cf14-ready .hero,
body.cf14-ready main,
body.cf14-ready .bottom-nav{animation:cf14Reveal .42s var(--cf14-ease) both}
body.cf14-ready main{animation-delay:.06s}
body.cf14-ready .bottom-nav{animation-delay:.1s}
@keyframes cf14Reveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* Poster/card polish */
.movie-card,.content-card,.music-card,.cf-live-card,.cf-radio-card,.cf-activity-card{
  contain:layout paint style;
  content-visibility:auto;
  contain-intrinsic-size:180px 270px;
  transition:transform .22s var(--cf14-ease),box-shadow .22s var(--cf14-ease),opacity .22s ease;
}
@media (hover:hover) and (pointer:fine){
  .movie-card:hover,.content-card:hover,.music-card:hover,.cf-live-card:hover,.cf-radio-card:hover,.cf-activity-card:hover{
    transform:translateY(-4px) scale(1.015);
    box-shadow:0 14px 34px rgba(0,0,0,.38)
  }
}

/* Image fade-in after browser decode */
img.cf14-lazy{opacity:.18;filter:blur(8px);transform:scale(1.015);transition:opacity .35s ease,filter .35s ease,transform .35s ease}
img.cf14-loaded{opacity:1;filter:none;transform:none}
img.cf14-error{opacity:.55;filter:grayscale(.6)}

/* Lightweight skeletons injected only while a row is empty/loading */
.cf14-skeleton-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(128px,16vw);gap:12px;overflow:hidden;padding:4px 2px 12px}
.cf14-skeleton-card{aspect-ratio:2/3;border-radius:12px;background:linear-gradient(100deg,rgba(255,255,255,.055) 20%,rgba(255,255,255,.12) 38%,rgba(255,255,255,.055) 58%);background-size:220% 100%;animation:cf14Shimmer 1.35s linear infinite}
@keyframes cf14Shimmer{to{background-position-x:-220%}}

/* Prevent long rows from forcing expensive offscreen paint */
.movie-row,.content-row,.card-row,.horizontal-scroll,.episode-list-container,.search-results-grid{
  content-visibility:auto;
  contain-intrinsic-size:320px;
}

/* Better mobile momentum and reduced accidental horizontal page movement */
.movie-row,.content-row,.card-row,.horizontal-scroll,.cast-scroller,.mini-recommendation-list{
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-inline:contain;
  scroll-snap-type:x proximity;
}
.movie-card,.content-card,.music-card,.cf-live-card,.cf-radio-card{scroll-snap-align:start}

/* Compact network status toast */
#cf14-network-toast{position:fixed;left:50%;top:82px;transform:translate(-50%,-14px);z-index:12000;padding:9px 14px;border-radius:999px;background:rgba(12,14,20,.94);border:1px solid rgba(255,255,255,.14);box-shadow:0 12px 30px rgba(0,0,0,.35);font-size:.78rem;font-weight:800;opacity:0;pointer-events:none;transition:.25s ease}
#cf14-network-toast.show{opacity:1;transform:translate(-50%,0)}
#cf14-network-toast.offline{border-color:rgba(255,90,90,.55)}

@media(max-width:640px){
  .cf14-skeleton-row{grid-auto-columns:31vw;gap:9px}
  #cf14-network-toast{top:66px;max-width:88vw;text-align:center}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
