:root {
  --ux-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
}

html {
  scroll-behavior: smooth;
}

body {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

.card,
.panel,
.video-item,
.item,
.single-video,
.movie_list .item,
.tv_show .item {
  border-radius: 12px;
  transition: transform 220ms var(--ux-ease), box-shadow 220ms var(--ux-ease), opacity 220ms var(--ux-ease);
  will-change: transform;
}

.card:hover,
.panel:hover,
.video-item:hover,
.item:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.18);
}

.btn,
button,
a {
  transition: all 180ms var(--ux-ease);
}

.btn:active,
button:active {
  transform: translateY(1px) scale(0.99);
}

img {
  image-rendering: auto;
}

.reveal-on-scroll {
  opacity: 0;
  transform: translateY(12px);
}

.reveal-on-scroll.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 767px) {
  .card:hover,
  .panel:hover,
  .video-item:hover,
  .item:hover {
    transform: none;
    box-shadow: none;
  }
}

/* Cross-page responsive guardrails (movies / series / tv) */
img, video, iframe {
  max-width: 100%;
}

.container, .row {
  overflow-wrap: anywhere;
}

.owl-carousel .item figure.figure {
  min-height: 150px;
}

@media (max-width: 991px) {
  .movies-list-wrap .nav-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
  }
  .movies-list-wrap .nav-tabs > li {
    float: none;
  }
  .movie-heading .title {
    font-size: 24px;
  }
}

@media (max-width: 767px) {
  .movie-heading .title {
    font-size: 20px;
  }
  .figure-caption {
    font-size: 12px;
    line-height: 1.25;
  }
  .movie-payer .btn,
  .channel-title .btn {
    margin-bottom: 6px;
  }
}
