/* Vivid Cinema — desktop correction layer
   Desktop uses the exact same home composition as mobile/base.
   Only sizing, containment and desktop chrome are changed here.
   Do not add new sections or alternate components.
*/

@media (min-width:901px){
  html,body{overflow-x:hidden}
  body.vivid-cinema-home{background:#000}

  /* HEADER — use the classes that actually exist in home.html. */
  .vivid-topbar{
    padding:12px clamp(24px,4vw,64px);
  }
  .vivid-nav{
    width:min(1440px,100%);
    min-height:56px;
    margin-inline:auto;
    display:flex;
    align-items:center;
    gap:14px;
  }
  .vivid-brand{
    flex:0 0 auto;
    font-size:1.2rem;
  }
  .vivid-navlinks{
    display:flex;
    align-items:center;
    gap:2px;
    min-width:0;
  }
  .vivid-navlinks a{
    min-height:40px;
    padding:9px 11px;
    font-size:.84rem;
    white-space:nowrap;
  }

  /* No legacy desktop search/bell/account controls. The shell is intentionally quiet. */
  .vivid-search-trigger,
  .vivid-notification-button,
  .vivid-nav-action,
  .vivid-theme-toggle{
    display:none!important;
  }

  /* HERO — preserve the cinematic composition on desktop. */
  .vivid-cinema-home #hero {
    height: min(820px, 88vh);
    height: min(820px, 88svh);
    min-height: 560px;
  }

  /* FEATURE STRIP — one clean row directly after the trailer/info surface. */
  .vivid-cinema-home .vivid-feature-strip{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    width:min(1440px,100%)!important;
    margin:0 auto!important;
    padding:8px clamp(24px,4vw,64px) 18px!important;
    transform:none!important;
    box-sizing:border-box;
  }
  .vivid-cinema-home .vivid-feature-viewport{
    width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .vivid-cinema-home .vivid-feature-viewport::-webkit-scrollbar{display:none}
  .vivid-cinema-home .vivid-feature-track{
    display:flex;
    flex-wrap:nowrap;
    gap:12px;
    overflow:visible;
    width:max-content;
    min-width:100%;
  }
  .vivid-cinema-home .vivid-feature-card{
    flex:0 0 clamp(176px,13vw,204px);
    width:clamp(176px,13vw,204px);
    height:112px;
  }

  /* HOME CONTENT — one vertical stack of horizontal cinema rails.
     This is the critical fix: sections never become columns and cards never wrap. */
  .vivid-cinema-home .vivid-section-wrap{
    width:min(1440px,100%);
    margin-inline:auto;
    padding-inline:clamp(24px,4vw,64px);
    display:block;
  }
  .vivid-cinema-home .vivid-rails{
    display:block!important;
    width:100%;
    margin:0;
    clear:both;
    padding:28px 0 10px;
    position:relative;
  }
  .vivid-cinema-home .vivid-rails+.vivid-rails{
    margin-top:0;
  }
  .vivid-cinema-home .vivid-rail-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:18px;
    width:100%;
    margin-bottom:14px;
  }
  .vivid-cinema-home .vivid-rail{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:flex-start;
    width:100%;
    max-width:none;
    min-width:0;
    gap:14px;
    overflow-x:auto!important;
    overflow-y:hidden;
    padding:4px 2px 16px;
    margin:0;
    box-sizing:border-box;
  }
  .vivid-cinema-home .vivid-card{
    flex:0 0 clamp(168px,11vw,180px)!important;
    width:clamp(168px,11vw,180px);
    min-width:0;
  }

  /* Optional/conditional rows keep their natural hidden state. */
  .vivid-cinema-home .vivid-rails[hidden]{display:none!important}

  /* Tonight's Pick is its own isolated module. Decorative Home Moment art
     must never participate in this card's layout or overflow into it. */
  .vivid-cinema-home .vivid-tonight-inline{
    position:relative!important;
    z-index:2!important;
    isolation:isolate;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 220px!important;
    grid-template-areas:"copy poster"!important;
    width:100%;
    min-height:0;
    overflow:hidden;
  }
  .vivid-cinema-home .vivid-tonight-card{
    position:relative!important;
    z-index:1!important;
    grid-area:poster!important;
    width:220px!important;
    max-height:330px!important;
    justify-self:end!important;
    overflow:hidden!important;
  }
  .vivid-cinema-home .vivid-tonight-card img{
    position:relative!important;
    z-index:1!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }
  .vivid-cinema-home .vivid-home-breathe{
    position:relative!important;
    clear:both!important;
    isolation:isolate;
    z-index:1!important;
    overflow:hidden;
  }

  /* Catalogue entry strip uses the same page container. */
  .vivid-cinema-home .vivid-catalogue-explore{
    width:min(1440px,100%);
    margin-inline:auto;
    padding-inline:clamp(24px,4vw,64px);
  }

  /* Keep desktop spacing calmer than mobile without changing hierarchy. */
  .vivid-cinema-home .vivid-rail-head h2{font-size:22px}
  .vivid-cinema-home .vivid-rail-head p{font-size:.8rem}
  .vivid-cinema-home .vivid-rail-controls{flex:0 0 auto}

  /* Desktop-only interaction; no layout movement. */
  @media (hover:hover) and (pointer:fine){
    .vivid-cinema-home .vivid-card:hover{transform:translateY(-3px)}
    .vivid-cinema-home .vivid-card:hover img{transform:scale(1.025)}
    .vivid-cinema-home .vivid-feature-card:hover{transform:translateY(-2px)}
  }

  :where(a,button,input,select):focus-visible{
    outline:2px solid rgba(255,255,255,.8);
    outline-offset:3px;
  }
}

/* Laptop desktop: same composition, simply less density. */
@media (min-width:901px) and (max-width:1180px){
  .vivid-nav{gap:8px}
  .vivid-navlinks a{padding-inline:7px;font-size:.76rem}
  .vivid-search-trigger,
  .vivid-notification-button,
  .vivid-nav-action,
  .vivid-theme-toggle{display:none!important}
  .vivid-cinema-home .vivid-card{
    flex-basis:168px!important;
    width:168px;
  }
}

@media (min-width:1600px){
  .vivid-cinema-home .vivid-card{
    flex-basis:180px!important;
    width:180px;
  }
}

@media (prefers-reduced-motion:reduce){
  .vivid-cinema-home .vivid-card,
  .vivid-cinema-home .vivid-card img,
  .vivid-cinema-home .vivid-feature-card{
    transition:none!important;
  }
}
\n
/* HOME FULL COMPOSITION LOCK — final desktop flow.
   This intentionally supersedes earlier desktop positioning rules.
   Mobile is untouched. */
@media (min-width:901px){
  .vivid-cinema-home .vivid-feature-strip{
    position:relative!important;
    inset:auto!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    transform:none!important;
    width:min(1440px,100%)!important;
    margin:0 auto!important;
    padding:20px clamp(24px,4vw,64px) 14px!important;
    box-sizing:border-box!important;
    z-index:2!important;
  }
  .vivid-cinema-home .vivid-feature-viewport{
    width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scrollbar-width:none!important;
  }
  .vivid-cinema-home .vivid-feature-viewport::-webkit-scrollbar{display:none}
  .vivid-cinema-home .vivid-feature-track{
    display:flex!important;
    flex-wrap:nowrap!important;
    width:max-content!important;
    min-width:100%!important;
    overflow:visible!important;
    gap:12px!important;
  }
  .vivid-cinema-home .vivid-feature-card{
    flex:0 0 clamp(176px,13vw,204px)!important;
    width:clamp(176px,13vw,204px)!important;
    height:112px!important;
    min-width:0!important;
  }

  /* One predictable vertical page flow. */
  .vivid-cinema-home .vivid-catalogue-explore,
  .vivid-cinema-home .vivid-section-wrap{
    width:min(1440px,100%)!important;
    margin-inline:auto!important;
    padding-inline:clamp(24px,4vw,64px)!important;
    box-sizing:border-box!important;
  }
  .vivid-cinema-home .vivid-section-wrap{
    display:block!important;
    overflow:visible!important;
  }
  .vivid-cinema-home .vivid-rails{
    display:block!important;
    position:relative!important;
    clear:both!important;
    width:100%!important;
    margin:0!important;
    padding:28px 0 12px!important;
    box-sizing:border-box!important;
  }
  .vivid-cinema-home .vivid-rails[hidden]{display:none!important}
  .vivid-cinema-home .vivid-rail-head{
    display:flex!important;
    align-items:flex-end!important;
    justify-content:space-between!important;
    gap:18px!important;
    width:100%!important;
    margin:0 0 14px!important;
  }
  .vivid-cinema-home .vivid-rail{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:flex-start!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    gap:14px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    margin:0!important;
    padding:4px 2px 18px!important;
    box-sizing:border-box!important;
    scrollbar-width:none!important;
  }
  .vivid-cinema-home .vivid-rail::-webkit-scrollbar{display:none}
  .vivid-cinema-home .vivid-card{
    flex:0 0 clamp(168px,11vw,180px)!important;
    width:clamp(168px,11vw,180px)!important;
    max-width:180px!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }

  /* Tonight's Pick is a standalone module, never a poster rail. */
  .vivid-cinema-home .vivid-tonight-inline{
    position:relative!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 220px!important;
    grid-template-areas:"copy poster"!important;
    align-items:center!important;
    gap:28px!important;
    width:100%!important;
    min-height:300px!important;
    margin:28px 0!important;
    padding:30px!important;
    overflow:hidden!important;
    isolation:isolate!important;
    z-index:3!important;
    box-sizing:border-box!important;
    border-radius:24px!important;
  }
  .vivid-cinema-home .vivid-tonight-inline .vivid-rail-head{
    grid-area:copy!important;
    display:block!important;
    margin:0!important;
  }
  .vivid-cinema-home .vivid-tonight-actions{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:8px!important;
    margin-top:16px!important;
  }
  .vivid-cinema-home .vivid-tonight-card{
    position:relative!important;
    grid-area:poster!important;
    width:220px!important;
    height:300px!important;
    max-height:none!important;
    justify-self:end!important;
    overflow:hidden!important;
    z-index:1!important;
    border-radius:16px!important;
  }
  .vivid-cinema-home .vivid-tonight-card img{
    display:block!important;
    position:relative!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    z-index:1!important;
  }

  /* Vivid Moment is LAST decorative content and is fully self-contained. */
  .vivid-cinema-home .vivid-home-breathe{
    position:relative!important;
    display:block!important;
    clear:both!important;
    width:100%!important;
    margin:48px 0 0!important;
    overflow:hidden!important;
    isolation:isolate!important;
    z-index:1!important;
  }
  .vivid-cinema-home .vivid-home-breathe-scene{
    position:relative!important;
    width:min(900px,100%)!important;
    margin-inline:auto!important;
    overflow:hidden!important;
  }
  .vivid-cinema-home .vivid-home-viewer{z-index:6!important}
  .vivid-cinema-home .vivid-support-bottom{
    position:relative!important;
    clear:both!important;
    z-index:2!important;
  }

  /* No desktop card can grow into a giant poster. */
  .vivid-cinema-home .vivid-card-media{
    width:100%!important;
    aspect-ratio:2/3!important;
  }
}
@media (min-width:901px) and (max-width:1180px){
  .vivid-cinema-home .vivid-card{
    flex-basis:168px!important;
    width:168px!important;
  }
  .vivid-cinema-home .vivid-tonight-inline{
    grid-template-columns:minmax(0,1fr) 190px!important;
  }
  .vivid-cinema-home .vivid-tonight-card{
    width:190px!important;
    height:270px!important;
  }
}

/* DESKTOP HERO SPACING — keep the trailer, info and feature cards in separate visual bands.
   Desktop only; mobile/base composition is intentionally untouched. */
@media (min-width:901px){
  .vivid-cinema-home .vivid-actions{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    gap:10px!important;
    margin-top:20px!important;
  }
  .vivid-cinema-home .vivid-feature-strip{
    margin:0 auto!important;
    padding:18px clamp(24px,4vw,64px) 22px!important;
    background:#06070a!important;
  }
  .vivid-cinema-home .vivid-feature-card{
    flex-basis:180px!important;
    width:180px!important;
    height:104px!important;
  }
}

/* Shared editorial identity: align desktop headings and interactive focus states. */
@media (min-width:901px){
  .vivid-cinema-home :where(h1,h2,.vivid-section-title){text-wrap:balance;letter-spacing:-.025em}
  .vivid-cinema-home :where(a:focus-visible,button:focus-visible){outline:2px solid #c7ff55;outline-offset:3px}
}
