/* Compact film dialog and watch page, with separate advertising areas. */
body.film-dialog-open{overflow:hidden}
.film-detail{width:min(1080px,calc(100vw - 32px));max-height:min(88vh,800px);max-height:min(88dvh,800px);overflow:hidden;overscroll-behavior:contain;padding:0}
.film-detail[open]{display:flex;flex-direction:column}
.film-detail .detail-close{top:12px;right:12px;width:36px;height:36px;z-index:4;background:var(--panel);color:var(--text);border-color:var(--border)}
.film-detail .detail-layout{grid-template-columns:160px minmax(0,1fr);gap:24px;padding:24px 24px 16px;min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-gutter:stable;overscroll-behavior:contain;align-items:start}
.film-detail .detail-art .poster{max-height:240px;aspect-ratio:2/3}
.film-detail .detail-art>p{line-height:1.5;margin:9px 0 0}
.film-detail .detail-body{padding:0}
.film-detail .detail-body .eyebrow{margin:0 42px 9px 0;font-size:9px}
.film-detail .detail-body h2{font-size:clamp(23px,2.4vw,31px);line-height:1.16;margin:0 32px 12px 0}
.film-detail .detail-labels{margin-bottom:14px;gap:6px}
.film-detail .detail-source{font-size:11px;margin:0 0 14px;color:var(--muted)}
.film-detail .detail-actions{margin:0 0 16px}
.film-detail .detail-body h3{font-size:13px;margin:0 0 8px;font-weight:650}
.film-detail .detail-description{font-size:13px;line-height:1.65;margin:0}
.film-description-block{margin-bottom:18px}
.detail-description.is-collapsed{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.film-expand{display:inline-block;border:0;background:none;color:var(--mint);padding:6px 0;font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;text-align:left;min-height:30px}
.film-expand:hover{text-decoration:underline}
.film-cast .detail-actors{gap:6px;margin:9px 0 0}
.film-cast .detail-actors a{font-size:12px;padding:7px 9px;line-height:1.3}
.film-cast .detail-actors li[hidden]{display:none}
.film-empty{font-size:12px;color:var(--muted);line-height:1.6;margin:8px 0 0}
.detail-sharing{margin-top:12px}
.detail-sharing .detail-share-status:empty{display:none}
.detail-sharing .detail-share-status{margin:4px 0 0}
.film-detail>.movie-ad{flex-shrink:0;margin:0 24px 16px;padding-top:10px}
.film-detail>.movie-ad .movie-ad-media{width:100%;height:auto;max-height:132px;aspect-ratio:4/1}
.film-detail>.movie-ad .carousel-image{object-fit:contain}
.film-detail>.movie-ad.mobile-ad .movie-ad-media{aspect-ratio:3/1}
.film-detail>.movie-ad .carousel-controls{margin-top:7px}
body[data-view=watch] main{padding-top:20px}
#watchView{max-width:1180px;margin-inline:auto}
#watchView .back-to-catalog{margin-bottom:10px}
.watch-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:14px}
.watch-heading .film-details{flex:1}
.watch-heading .film-details p{display:none;margin:0 0 6px;color:var(--mint);font-size:9px}
.watch-heading h1{font-size:clamp(22px,2.5vw,26px);line-height:1.2;letter-spacing:-.6px;margin:0 0 5px;overflow-wrap:anywhere}
.watch-heading .theater-button{flex-shrink:0;margin:0}
.watch-heading .theater-button{color:var(--text);background:var(--surface);border-color:var(--border)}
.watch-workspace{grid-template-columns:minmax(0,1.9fr) minmax(300px,1fr);gap:28px;align-items:start}
.watch-workspace .watch-column{min-width:0;max-width:none;margin:0}
.watch-workspace .player:not(:fullscreen){width:100%;max-width:100%;margin:0}
.watch-advertisements{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}
.watch-advertisements[hidden]{display:none}
#watchAdvertisement{margin:0;padding:0;border:0;min-width:0}
#watchAdvertisement .movie-ad-media{width:100%;max-width:900px;margin-inline:auto}
#watchAdvertisement .carousel-image{object-fit:contain}
#watchAdvertisement .carousel-controls{margin-top:6px;padding:3px 6px}
#watchAdvertisement .carousel-button{width:26px;height:26px}

.watch-playback-notes{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 18px;min-width:0}
.watch-playback-notes .watch-hint,.watch-playback-notes .touch-hint{margin:0;font-size:10px;line-height:1.5}
.watch-playback-notes .local-badge{font-size:9px;max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0;flex-shrink:0}
.watch-film-information{position:relative;display:block;border:1px solid var(--line);border-radius:12px;padding:20px;background:var(--panel)}
.watch-film-information[hidden]{display:none}
.watch-film-poster{position:absolute;top:20px;right:20px;width:44px;border-radius:9px;overflow:hidden;border:1px solid var(--border)}
.watch-film-poster .poster-fallback strong{font-size:28px;letter-spacing:-1px}
.watch-film-poster .poster-fallback small,.watch-film-poster .poster-fallback span{display:none}
.watch-film-copy{min-width:0}
.watch-info-heading{padding-right:56px;display:flex;align-items:flex-start;flex-direction:column;gap:8px;margin-bottom:12px}
.watch-info-heading h2{font-size:19px;line-height:1.2;margin:0}
.watch-card-link{font-size:11px;color:var(--muted);flex-shrink:0}
.watch-card-link:hover{color:var(--mint)}
.watch-film-copy .detail-labels{padding-right:50px;margin-bottom:16px}
.watch-film-copy .detail-description{font-size:13px;line-height:1.7;margin:0}
.watch-film-copy .film-cast h3{font-size:14px;margin:0}
.watch-film-copy .detail-actions{margin:18px 0 0}
.watch-sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,300px));gap:24px;justify-content:center;align-content:start;min-width:0}
.watch-sidebar[hidden]{display:none}
.watch-sidebar .watch-side-ad{margin:0;padding:0;border:0;width:100%;max-width:300px}
.watch-sidebar .movie-ad-media,.watch-sidebar .movie-ad.mobile-ad .movie-ad-media{aspect-ratio:6/5;border:1px solid var(--line)}
.watch-sidebar .carousel-image{object-fit:contain}
.watch-sidebar .carousel-controls{margin-top:6px;gap:5px;padding:3px}
.watch-sidebar .carousel-button{width:26px;height:26px}
.watch-sidebar .carousel-position{font-size:10px}
.watch-sidebar .carousel-dot{width:6px;height:6px}
/* A fixed dimmer sits below the enlarged player and the exit control. */
.theater-backdrop{position:fixed;inset:0;z-index:30;width:100%;height:100%;padding:0;border:0;border-radius:0;background:rgba(0,0,0,.94);cursor:default}
.theater-backdrop[hidden]{display:none}
body.theater .watch-workspace{grid-template-columns:minmax(0,1fr)}
body.theater .watch-workspace .watch-column{max-width:1180px}
body.theater #player:not(:fullscreen){position:relative;z-index:31;max-width:min(100%,calc(min(75vh,100vh - 220px) * 16 / 9));max-width:min(100%,calc(min(75dvh,100dvh - 220px) * 16 / 9));margin-inline:auto}
body.theater #theaterBtn{position:relative;z-index:31;background:#173528;color:#e4f4eb;border-color:#58836b}
body.theater .watch-film-information{grid-row:2}
body.theater .watch-playback-notes{visibility:hidden}
@media(max-width:1000px){.watch-workspace{grid-template-columns:minmax(0,1fr)}.watch-workspace{gap:8px}}
@media(max-width:700px){
 .film-detail{width:calc(100vw - 20px);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);border-radius:12px}
 .film-detail .detail-layout{grid-template-columns:100px minmax(0,1fr);gap:16px;padding:22px 18px 16px}
 .film-detail .detail-body{display:contents}
 .film-detail .detail-art{width:auto;margin:0;grid-column:1;grid-row:1}
 .film-detail .detail-art .poster{max-height:150px}
 .film-detail .detail-art>p{font-size:9px}
 .film-detail .detail-heading{grid-column:2;min-width:0;padding-top:2px}
 .film-detail .detail-body h2{font-size:21px;margin-right:22px;letter-spacing:-.4px}
 .film-detail .detail-body .eyebrow{text-align:left;font-size:7px;margin-right:18px;letter-spacing:1px}
 .film-detail .detail-labels{gap:5px;margin-bottom:10px}
 .film-detail .detail-labels span{font-size:9px;padding:4px 6px}
 .film-detail .detail-actions{margin:0;gap:7px}
 .film-detail .detail-actions a{padding:9px 11px;font-size:11px}
 .film-detail .detail-copy,.film-detail .detail-sharing{grid-column:1/-1;min-width:0}
 .film-detail .detail-sharing{margin-top:0}
 .film-detail .detail-close{width:30px;height:30px;top:8px;right:8px}
 .film-detail>.movie-ad{margin:0 18px 14px;padding-top:10px}
 .film-detail>.movie-ad .movie-ad-label{font-size:9px;margin-bottom:6px}
 body[data-view=watch] main{padding-top:12px}
 body[data-view=watch] .topbar, :root[data-theme=light] body[data-view=watch] .topbar{height:64px;min-height:64px;padding:0 16px;flex-wrap:nowrap}
 body[data-view=watch] .topbar .studio-nav{display:none}
 #watchView .back-to-catalog{font-size:11px;margin-bottom:10px}
 .watch-heading{gap:10px;margin-bottom:10px;align-items:flex-start}
 .watch-heading h1{font-size:19px;max-width:none;letter-spacing:-.3px}
 .watch-heading .theater-button{padding:7px 8px;font-size:10px}
 .watch-heading .film-details>span{font-size:10px}
 .watch-workspace .player:not(:fullscreen){max-width:100%}
 .watch-advertisements{margin-top:18px;padding-top:14px;gap:18px}
 .watch-playback-notes{margin:9px 0 12px}
 .watch-playback-notes .local-badge{display:none}
 .watch-film-information{padding:16px}.watch-film-poster{top:16px;right:16px}
 .watch-info-heading{align-items:flex-start;flex-direction:column;gap:8px}
 .watch-info-heading h2{font-size:18px}
 .watch-film-copy .detail-description{font-size:13px;line-height:1.7}
}
@media(max-width:520px){.watch-sidebar{grid-template-columns:minmax(0,300px)}}
@media(max-width:700px){.watch-hint{display:none}.watch-playback-notes .touch-hint{display:block;text-align:left}.cinema-hero.mobile-hero{width:100%;max-width:100%;min-width:0;flex:none;aspect-ratio:auto}.cinema-hero.mobile-hero .cinema-hero-image{display:block;width:100%;max-width:none;inset:0;object-position:center}}
.player-top{justify-content:flex-end}
#player{container-type:inline-size;container-name:kino-player}
@container kino-player (max-width:700px){
 .player .controls{padding:28px 12px 10px}
 .player .skip,.player .volume-group input{display:none}
 .player .control-row{gap:4px}
 .player .icon-button{width:32px;min-width:32px;height:34px}
 .player .time{font-size:11px}
 .player .quality-trigger{padding:6px 8px;font-size:11px}
}
@container kino-player (max-width:480px){
 .player .controls{padding:25px 8px 8px}
 .player .volume-group,.player #subtitleBtn{display:none}
 .player .icon-button{width:29px;min-width:29px}
 .player .time{font-size:10px}
 .player .control-row{gap:3px}
 .player .quality-trigger{padding:6px;font-size:10px}
 .player .speed-label select{max-width:46px}
 .player .controls-spacer{min-width:0}
}
@media(max-height:550px){.film-detail{max-height:calc(100dvh - 16px)}.film-detail>.movie-ad .movie-ad-media{max-height:82px}.film-detail>.movie-ad{margin-bottom:8px}.film-detail>.movie-ad .carousel-controls{margin-top:4px}}

.film-detail .detail-description.is-collapsed{-webkit-line-clamp:3}.film-detail .film-description-block{margin-bottom:14px}.film-detail .film-cast .detail-actors a{font-size:11px;padding:6px 8px}.film-detail .detail-sharing{margin-top:8px}.film-detail>.movie-ad .carousel-controls{padding:4px 6px}.film-detail>.movie-ad .carousel-button{width:26px;height:26px}

/* Uploaded banners use their whole image; the editorial fallback is separate. */
.cinema-hero.has-banner,.cinema-hero.has-banner.has-carousel{display:block;padding:0;min-height:0;max-height:none;aspect-ratio:auto;background:var(--surface)}
.cinema-hero.has-banner:before,.cinema-hero.has-banner .hero-content,.cinema-hero.has-banner .collection-count{display:none}
.hero-banner-media{position:relative;width:100%;aspect-ratio:4/1;overflow:hidden;border-radius:inherit;background:var(--surface)}
.cinema-hero.mobile-hero .hero-banner-media{aspect-ratio:3/1}
.cinema-hero.has-banner .cinema-hero-image{display:block;z-index:0;object-fit:contain;object-position:center;width:100%;height:100%}
.cinema-hero.has-banner .carousel-link{inset:0;border:0;border-radius:inherit;background:transparent;color:transparent;font-size:0;padding:0}
.cinema-hero.has-banner .carousel-controls{position:relative;right:auto;bottom:auto;width:max-content;margin:8px auto;padding:4px 7px}
.cinema-hero.has-banner .carousel-link:focus-visible{outline-offset:-3px}

@media(max-width:1000px){
 body[data-view=watch] .topbar,:root[data-theme=light] body[data-view=watch] .topbar{height:64px;min-height:64px;padding:0 16px;flex-wrap:nowrap}
 body[data-view=watch] .topbar .studio-nav,body[data-view=watch] #helpBtn{display:none!important}
 body[data-view=watch] main{padding-top:12px}
}
@container kino-player (max-width:320px){
 .player #pipBtn,.player .speed-label{display:none}
 .player .time{font-size:9px}
 .player .quality-trigger{max-width:110px}
 .player .quality-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
