/* ==============================================================
   LIGHTHOUSE WATCH — CONSOLIDATED ACTIVE STYLESHEET
   Active filename remains watch-v74.css for overwrite-safe updates.
   ============================================================== */

#watch{background:#080809;color:#f4f2ee;min-height:100vh}
#watch .cinema-hero{position:relative;height:clamp(600px,72svh,780px);min-height:600px;overflow:hidden;background:#080809;display:flex;align-items:flex-end;padding:0}
#watch .cinema-hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.84}
#watch .cinema-hero-vignette{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.76) 0%,rgba(0,0,0,.33) 42%,rgba(0,0,0,.08) 74%),linear-gradient(0deg,rgba(0,0,0,.78) 0%,transparent 55%,rgba(0,0,0,.18) 100%)}
#watch .cinema-hero-copy{position:relative;z-index:2;width:min(var(--max),calc(100% - (2 * var(--pad))));margin:0 auto;padding-bottom:54px}
#watch .cinema-hero-copy .kicker{margin:0 0 13px;color:#c1bbc1}
#watch .cinema-hero-copy h1{width:min(760px,72vw);margin:0;font-size:clamp(60px,5vw,96px)!important;line-height:.88!important}
#watch .cinema-body{padding:0}
#watch .youtube-only-library{padding:0 0 74px}

/* Channel tabs and content share the same site container. */
#watch .watch-channel-tabs{position:sticky;top:86px;z-index:20;display:flex;align-items:center;gap:30px;width:min(var(--max),calc(100% - (2 * var(--pad))));margin:0 auto;height:56px;padding:0;background:rgba(8,8,9,.96);border-bottom:1px solid #2a272a;backdrop-filter:blur(14px);overflow-x:auto;scrollbar-width:none;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
#watch .watch-channel-tabs::-webkit-scrollbar{display:none}
#watch .watch-channel-tabs button{position:relative;flex:none;height:56px;padding:0;border:0;background:transparent;color:#9d989d;font-family:"Gotham Medium",Arial,sans-serif;font-size:13px;line-height:1;cursor:pointer;white-space:nowrap}
#watch .watch-channel-tabs button.active{color:#fff}
#watch .watch-channel-tabs button.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:#fff}
#watch .youtube-channel-collections{width:min(var(--max),calc(100% - (2 * var(--pad))));margin:0 auto;padding:0!important}

/* Shelves */
#watch .watch-shelf{position:relative;padding:30px 0;border-bottom:1px solid #2a272a}
#watch .watch-shelf:last-child{border-bottom:0}
#watch .watch-shelf-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:18px}
#watch .watch-shelf-head h3,#watch .watch-tab-heading h2{margin:0;font-family:"Gotham Bold",Arial,sans-serif;font-size:22px;line-height:1.1;color:#fff}
#watch .watch-shelf-head p{max-width:720px;margin:7px 0 0;font-family:"Gotham Book",Arial,sans-serif;font-size:12px;line-height:1.45;color:#9e999e}
#watch .watch-shelf-controls{display:flex;gap:7px;flex:none}
#watch .watch-shelf-arrow{width:38px;height:38px;display:grid;place-items:center;border:1px solid #3a363a;border-radius:50%;background:#171517;color:#fff;font-size:13px;cursor:pointer}

/* Rails use flex, not grid auto-columns: avoids legacy cascade collapse. */
#watch .watch-card-rail,#watch .watch-short-rail{display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;padding:0 0 8px;scrollbar-width:none;scroll-snap-type:x proximity;overscroll-behavior-inline:contain;touch-action:pan-x pan-y pinch-zoom;-webkit-overflow-scrolling:touch;cursor:grab}
#watch .watch-card-rail::-webkit-scrollbar,#watch .watch-short-rail::-webkit-scrollbar{display:none}
#watch .watch-card-rail.dragging,#watch .watch-short-rail.dragging{cursor:grabbing;scroll-snap-type:none}
#watch .watch-channel-card{flex:0 0 clamp(240px,14.1vw,300px);min-width:0;padding:0;border:0;background:transparent;color:#fff;text-align:left;cursor:pointer;scroll-snap-align:start}
#watch .watch-shelf-featured .watch-channel-card{flex-basis:clamp(340px,21vw,460px)}
#watch .watch-short-card{flex:0 0 clamp(160px,10vw,220px);min-width:0;padding:0;border:0;background:transparent;color:#fff;text-align:left;cursor:pointer;scroll-snap-align:start}

#watch .watch-card-media{position:relative;display:block;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:7px;background:#171517}
#watch .watch-short-media{position:relative;display:block;width:100%;aspect-ratio:9/16;overflow:hidden;border-radius:7px;background:#171517}
#watch .watch-card-media img,#watch .watch-short-media img{width:100%;height:100%;object-fit:cover;transition:transform 180ms cubic-bezier(.23,1,.32,1),filter 180ms ease}
#watch .watch-duration{position:absolute;right:5px;bottom:5px;z-index:3;padding:3px 5px;border-radius:3px;background:rgba(0,0,0,.82);font-family:"Gotham Medium",Arial,sans-serif;font-size:10px;line-height:1;color:#fff}
#watch .watch-card-play{position:absolute;left:50%;top:50%;z-index:3;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;transform:translate(-50%,-45%) scale(.9);background:rgba(0,0,0,.62);border:1px solid rgba(255,255,255,.42);color:#fff;font-size:11px;opacity:0;transition:opacity 150ms ease,transform 150ms cubic-bezier(.23,1,.32,1)}
#watch .watch-card-copy{display:block;padding-top:9px}
#watch .watch-card-copy strong{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-family:"Gotham Bold",Arial,sans-serif;font-size:13px;line-height:1.25;color:#fff;text-transform:none}
#watch .watch-card-copy small{display:block;margin-top:5px;font-family:"Gotham Book",Arial,sans-serif;font-size:10px;line-height:1.3;color:#9e999e}
#watch .watch-shelf-featured .watch-card-copy strong{font-size:15px}
#watch .watch-shelf-featured .watch-card-copy small{font-size:11px}

/* Tabs */
#watch .watch-tab-section{padding:30px 0 8px}
#watch .watch-tab-heading{margin-bottom:20px}
#watch .watch-video-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:28px 12px}
#watch .watch-shorts-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:28px 12px}
#watch .watch-playlist-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:28px 16px}
#watch .watch-playlist-tile{padding:0;border:0;background:transparent;color:#fff;text-align:left;cursor:pointer}
#watch .watch-playlist-media{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;border-radius:7px;background:#171517}
#watch .watch-playlist-media img{width:100%;height:100%;object-fit:cover}
#watch .watch-playlist-media span{position:absolute;right:8px;bottom:8px;padding:5px 7px;border-radius:4px;background:rgba(0,0,0,.82);font-family:"Gotham Medium",Arial,sans-serif;font-size:10px}
#watch .watch-playlist-tile strong{display:block;margin-top:9px;font-family:"Gotham Bold",Arial,sans-serif;font-size:14px;line-height:1.25}
#watch .watch-back-button{margin:26px 0 0;padding:9px 12px;border:1px solid #343034;border-radius:999px;background:#111;color:#fff;font-family:"Gotham Medium",Arial,sans-serif;font-size:10px;cursor:pointer}

@media(hover:hover) and (pointer:fine){
  #watch .watch-channel-card:hover .watch-card-media img{transform:scale(1.02);filter:brightness(.82)}
  #watch .watch-channel-card:hover .watch-card-play,#watch .watch-short-card:hover .watch-card-play{opacity:1;transform:translate(-50%,-50%) scale(1)}
  #watch .watch-shelf-arrow:hover{background:#242124}
}

/* Master responsive breakpoints: 1600 / 1280 / 1024 / 768 / 480 */
@media(min-width:1600px){
  #watch .watch-channel-card{flex-basis:clamp(260px,14vw,300px)}
  #watch .watch-shelf-featured .watch-channel-card{flex-basis:clamp(380px,21vw,460px)}
}
@media(max-width:1279px){
  #watch .watch-channel-tabs{top:78px}
  #watch .watch-channel-card{flex-basis:clamp(225px,25vw,280px)}
  #watch .watch-shelf-featured .watch-channel-card{flex-basis:clamp(330px,36vw,420px)}
  #watch .watch-short-card{flex-basis:clamp(150px,19vw,200px)}
  #watch .watch-video-grid,#watch .watch-shorts-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  #watch .watch-playlist-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:1023px){
  #watch .cinema-hero{height:clamp(560px,72svh,680px);min-height:560px}
  #watch .cinema-hero-copy{padding-bottom:46px}
  #watch .watch-channel-tabs{position:relative;top:auto;gap:22px}
  #watch .watch-channel-card{flex-basis:clamp(250px,40vw,340px)}
  #watch .watch-shelf-featured .watch-channel-card{flex-basis:clamp(360px,55vw,480px)}
  #watch .watch-short-card{flex-basis:clamp(180px,28vw,240px)}
  #watch .watch-video-grid,#watch .watch-shorts-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  #watch .watch-playlist-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:767px){
  #watch .cinema-hero{height:100svh;min-height:620px}
  #watch .cinema-hero-copy{padding-bottom:36px}
  #watch .cinema-hero-copy h1{width:100%;font-size:clamp(48px,12vw,64px)!important}
  #watch .watch-shelf{padding:24px 0 26px}
  #watch .watch-shelf-head{margin-bottom:14px}
  #watch .watch-shelf-head h3,#watch .watch-tab-heading h2{font-size:19px}
  #watch .watch-shelf-arrow{display:none}
  #watch .watch-channel-card{flex-basis:78vw}
  #watch .watch-shelf-featured .watch-channel-card{flex-basis:84vw}
  #watch .watch-short-card{flex-basis:52vw}
  #watch .watch-video-grid,#watch .watch-shorts-grid,#watch .watch-playlist-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:479px){
  #watch .watch-channel-tabs{gap:18px}
  #watch .watch-channel-tabs button{font-size:12px}
  #watch .watch-channel-card{flex-basis:86vw}
  #watch .watch-shelf-featured .watch-channel-card{flex-basis:90vw}
  #watch .watch-short-card{flex-basis:62vw}
  #watch .watch-video-grid,#watch .watch-playlist-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  #watch .watch-card-media img,#watch .watch-card-play{transition:none!important}
}


/* ==============================================================
   NEW WORKFLOW PASS — WATCH PRIMARY VIEWPORT + RESPONSIVE QA
   ============================================================== */

/* Primary 1920 viewport:
   For You = 4 large cards, standard rows = 6 cards.
   QHD uses the added canvas to show more cards, not just bigger cards. */
#watch .watch-channel-card{
  flex-basis:clamp(220px,12.6vw,280px);
}
#watch .watch-shelf-featured .watch-channel-card{
  flex-basis:clamp(340px,19vw,430px);
}

/* Grid tabs adapt by useful card width instead of arbitrary fixed counts. */
#watch .watch-video-grid{
  grid-template-columns:repeat(auto-fill,minmax(230px,1fr));
}
#watch .watch-playlist-grid{
  grid-template-columns:repeat(auto-fill,minmax(250px,1fr));
}
#watch .watch-shorts-grid{
  grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
}

/* Disabled rail arrows disappear at the ends, matching the channel-style
   affordance instead of showing controls that cannot do anything. */
#watch .watch-shelf-arrow[disabled]{
  opacity:0;
  pointer-events:none;
}

/* Motion follows the product: media does not zoom just because a pointer
   passes over it. The useful state change is contrast + play affordance. */
@media(hover:hover) and (pointer:fine){
  #watch .watch-channel-card:hover .watch-card-media img,
  #watch .watch-short-card:hover .watch-short-media img{
    transform:none!important;
    filter:brightness(.84);
  }
  #watch .watch-channel-card:hover .watch-card-play,
  #watch .watch-short-card:hover .watch-card-play{
    opacity:1;
    transform:translate(-50%,-50%) scale(1);
  }
}

@media(max-width:1279px){
  #watch .watch-channel-card{flex-basis:clamp(225px,25vw,270px)}
  #watch .watch-shelf-featured .watch-channel-card{flex-basis:clamp(320px,35vw,400px)}
}
@media(max-width:1024px){
  #watch .watch-channel-card{flex-basis:clamp(245px,29vw,270px)}
  #watch .watch-shelf-featured .watch-channel-card{flex-basis:clamp(340px,42vw,390px)}
  #watch .watch-video-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  #watch .watch-playlist-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  #watch .watch-shorts-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:767px){
  #watch .watch-channel-card{flex-basis:min(78vw,100%)}
  #watch .watch-shelf-featured .watch-channel-card{flex-basis:min(84vw,100%)}
  #watch .watch-video-grid,
  #watch .watch-shorts-grid,
  #watch .watch-playlist-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:479px){
  #watch .watch-channel-card,
  #watch .watch-shelf-featured .watch-channel-card{flex-basis:100%}
  #watch .watch-video-grid,
  #watch .watch-playlist-grid{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){
  #watch .watch-card-media img,
  #watch .watch-short-media img,
  #watch .watch-card-play{
    transition:none!important;
    transform:none!important;
  }
}


/* Hero copy must align to the same master grid as the channel library.
   This overrides historic max-width rules still present in site.css. */
#watch .cinema-hero-copy{
  max-width:none!important;
}

#watch .cinema-hero{
  padding:0!important;
}


/* ==============================================================
   WATCH HERO — MASTER GRID ALIGNMENT
   Hero copy uses the exact same left/right container as the
   channel tabs and video shelves below it.
   ============================================================== */

#watch .cinema-hero-copy{
  width:min(var(--max),calc(100% - (2 * var(--pad))))!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}

#watch .cinema-hero-copy .kicker,
#watch .cinema-hero-copy h1{
  margin-left:0!important;
  margin-right:0!important;
}

/* Explicitly preserve the same alignment through tablet/mobile widths. */
@media(max-width:1279px){
  #watch .cinema-hero-copy{
    width:min(var(--max),calc(100% - (2 * var(--pad))))!important;
  }
}


/* ==============================================================
   WATCH — HERO LINE + FEATURED CARD POLISH
   Surgical change only.
   ============================================================== */

/* Keep the approved forced line break, but never allow WORK MOVE.
   to split into two desktop/tablet lines. */
@media(min-width:768px){
  #watch .cinema-hero-copy h1{
    width:max-content!important;
    max-width:100%!important;
    white-space:nowrap!important;
  }
}

/* Keep every card's media edge on the same top baseline regardless
   of whether its title below is one line or two lines. */
#watch .watch-card-rail{
  align-items:flex-start!important;
}

#watch .watch-channel-card{
  display:flex!important;
  flex-direction:column!important;
  align-self:flex-start!important;
  height:auto!important;
}

#watch .watch-channel-card .watch-card-media{
  flex:0 0 auto!important;
}

#watch .watch-channel-card .watch-card-copy{
  width:100%!important;
  flex:0 0 auto!important;
}

/* The For You row contains four featured items. On desktop,
   divide the usable rail width exactly between those four cards
   so the row fills the available space cleanly. */
@media(min-width:1280px){
  #watch .watch-shelf-featured .watch-channel-card{
    flex:0 0 calc((100% - 36px) / 4)!important;
    max-width:none!important;
  }
}


/* Final mobile rail containment from device screenshots. */
@media(max-width:767px){
  #watch,
  #watch .cinema-body,
  #watch .youtube-only-library,
  #watch .youtube-channel-collections,
  #watch .watch-shelf{
    min-width:0!important;
    max-width:100%!important;
  }

  #watch .watch-card-rail,
  #watch .watch-short-rail,
  #watch .watch-channel-tabs{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    contain:inline-size;
  }

  #watch .watch-channel-card,
  #watch .watch-short-card,
  #watch .watch-card-copy{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  #watch .watch-card-copy strong,
  #watch .watch-card-copy small{
    overflow-wrap:break-word;
    word-break:normal;
  }
}
