/* ==========================================================================
   NeonFilmyCab — responsive.css
   MOBILE <=767 | TABLET 768-1023 | DESKTOP >=1024 | LARGE >=1440
   ========================================================================== */

/* ---------- MOBILE (<=767px): defaults above are mobile-first.
   Tighten only what needs tightening. ----------------------------------- */
@media (max-width: 479px) {
  .fmc-shell { padding-inline: 12px; }
  .fmc-grid { gap: 10px; }
  .fmc-card__title { font-size: 13px; }
  .fmc-card__cta { font-size: 11px; padding: 9px 6px; }
  .fmc-qbtn { padding: 9px 4px; font-size: 11.5px; }
  .fmc-qbtn--lg { padding: 11px 4px; font-size: 12.5px; }
  .fmc-hero__track { min-height: 260px; }
  .fmc-meta-strip { grid-template-columns: 1fr 1fr; }
  .fmc-meta-item { padding: 10px 10px; gap: 9px; }
  .fmc-meta-item__value { font-size: 13px; }
  .fmc-tab { padding: 9px 16px; font-size: 13px; }
  .fmc-dl-btn { width: 100%; justify-content: center; margin-left: 0; }
}

@media (max-width: 767px) {
  :root { --header-h: 60px; }
  .fmc-section { padding-block: 20px; }
  /* Poster lives in the left hero column on mobile (see single-movie.css) */
  .fmc-single__posterwrap { width: 100%; margin-inline: 0; }
  .fmc-trending__row { grid-auto-columns: 44vw; }
  /* Rotated hero poster must never widen the page */
  .fmc-hero__inner { overflow-x: clip; }
}

/* ---------- TABLET (768-1023px) ---------------------------------------- */
@media (min-width: 768px) {
  .fmc-shell { padding-inline: 28px; }
  .fmc-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
  .fmc-info-grid { grid-template-columns: 1fr 1fr; }
  .fmc-meta-strip { grid-template-columns: repeat(4, 1fr); }
  .fmc-meta-item:nth-child(n+3) { border-top: 0; }
  .fmc-meta-item + .fmc-meta-item::before {
    content: ""; position: absolute; left: 0; top: 20%; bottom: 20%; width: 1px;
    background: var(--fmc-line);
  }
  .fmc-trending__row { grid-auto-columns: 30vw; }
  .fmc-footer__grid { grid-template-columns: 1.4fr 1fr 1fr; }
  .fmc-footer__bar { flex-direction: row; justify-content: space-between; }
  .fmc-hero__track { min-height: 400px; }
  .fmc-hero__inner { padding-block: 52px 60px; }
  .fmc-single__top { padding-top: 40px; }
  .fmc-single__hero { grid-template-columns: 240px 1fr; gap: 28px; }
  .fmc-single__posterwrap { width: 100%; margin-inline: 0; }
  .fmc-single__backdrop { height: 520px; }
  .fmc-card__title { font-size: 15px; }
  .fmc-card__body { padding: 12px 12px 0; }
}

/* ---------- DESKTOP (>=1024px) ----------------------------------------- */
@media (min-width: 1024px) {
  :root { --header-h: 68px; }
  .fmc-shell { padding-inline: 36px; }
  .fmc-burger { display: none; }
  .fmc-nav { display: block; }
  .fmc-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
  .fmc-section { padding-block: 34px; }
  .fmc-section__head { margin-bottom: 20px; }

  .fmc-hero__track { min-height: 480px; }
  .fmc-hero__inner { grid-template-columns: minmax(0, 1fr) 250px; gap: 44px; padding-block: 64px 72px; }
  .fmc-hero__poster {
    display: block; position: relative; border-radius: var(--radius-lg); overflow: hidden;
    border: 2px solid color-mix(in srgb, var(--movie-accent) 70%, transparent);
    box-shadow: 0 0 40px color-mix(in srgb, var(--movie-accent) 35%, transparent), 0 30px 60px rgba(0, 0, 0, .6);
    aspect-ratio: 2 / 3; transform: rotate(1.5deg);
    transition: transform .4s cubic-bezier(.2, .8, .2, 1);
  }
  .fmc-hero__poster:hover { transform: rotate(0deg) scale(1.02); }
  .fmc-hero__poster img { width: 100%; height: 100%; object-fit: cover; }
  .fmc-hero__arrow { display: grid; }
  .fmc-hero__dots { bottom: 18px; }

  .fmc-trending__row { grid-auto-columns: 220px; scroll-snap-type: x proximity; }
  .fmc-trending__nav { display: flex; }

  .fmc-single__hero { grid-template-columns: 300px minmax(0, 1fr); gap: 40px; }
  .fmc-single__imdb { position: absolute; top: 34px; right: 36px; margin-top: 0; }
  .fmc-single__head { padding-right: 150px; }
  .fmc-single__backdrop { height: 560px; }

  .fmc-footer__grid { grid-template-columns: 1.6fr 1fr 1fr 1fr; }
}

/* ---------- LARGE DESKTOP (>=1440px) ----------------------------------- */
@media (min-width: 1440px) {
  :root { --shell: 1360px; }
  .fmc-hero__track { min-height: 540px; }
  .fmc-hero__inner { grid-template-columns: minmax(0, 1fr) 290px; }
  .fmc-hero__title { font-size: 66px; }
  .fmc-trending__row { grid-auto-columns: 240px; }
  .fmc-single__hero { grid-template-columns: 340px minmax(0, 1fr); }
  .fmc-grid { gap: 22px; }
}
