/* Filmid: one continuous, real fanart canvas beneath the existing navigation. */
.blue-live-header .vp-movie-fanart-layer { display:none; position:absolute; top:0; right:0; bottom:0; left:0; overflow:hidden; pointer-events:none; z-index:0; background:#171222; }
.blue-live-header.vp-movie-fanart-active { background:transparent; border-bottom-color:transparent; border-bottom-width:0; }
.blue-live-header.vp-movie-fanart-active .vp-movie-fanart-layer { display:block; }
.blue-live-header.vp-movie-fanart-active .header-top { z-index:1; }
.vp-movie-fanart-canvas { position:absolute; overflow:hidden; pointer-events:none; }
.vp-movie-fanart-canvas .film-feature-art { margin:0; }
.vp-movie-fanart-canvas .film-feature-shade { margin:0; }
.vp-movie-fanart-scrim { position:absolute; top:0; right:0; bottom:0; left:0; background:rgba(10,8,17,.25); background:linear-gradient(180deg,rgba(10,8,17,.72) 0,rgba(10,8,17,.3) 62%,rgba(10,8,17,0) 100%); }
.blue-live-header.vp-movie-fanart-active .main-nav li:nth-child(n) a { color:#d6d0df; text-shadow:0 1px 3px rgba(0,0,0,.65); }
.blue-live-header.vp-movie-fanart-active .main-nav li:nth-child(n) a.active,
.blue-live-header.vp-movie-fanart-active .main-nav li:nth-child(n) a:hover,
.blue-live-header.vp-movie-fanart-active .main-nav li:nth-child(n) a:focus { color:#fff; }
.blue-live-header.vp-movie-fanart-active .main-nav { border-top-color:rgba(238,231,247,.1); }
.film-child-default-genres { display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin:8px 0 22px; color:#b9b1c6; font:13px/20px Aino,Arial,sans-serif; }
.film-child-default-genres .film-child-genres-label { margin-right:3px; }
.film-child-default-genres .film-child-genre { display:inline-block; padding:3px 9px; margin:0 3px 0 0; border:1px solid #3e354d; border-radius:14px; color:#d4d0df; background:rgba(98,219,201,.045); }
.kids-catalogue .vp-kids-feature { margin-left:0; margin-right:0; }
.kids-catalogue .vp-kids-feature .film-feature-content { padding-left:26px; padding-right:26px; }
@media(max-width:1024px) {
  .blue-live-header.vp-movie-fanart-active .main-nav { background:rgba(13,10,22,.64); }
  .blue-live-header.vp-movie-fanart-active .main-nav li:nth-child(n) a { color:#f0edf5; text-shadow:0 1px 3px rgba(0,0,0,.75); }
  .blue-live-header.vp-movie-fanart-active .main-nav li:nth-child(n) a.active { color:#fff; }
}
@media(max-width:1023px) {
  .kids-catalogue .vp-kids-feature .film-feature-content { padding-left:24px; padding-right:24px; }
}
@media(max-width:599px) {
  .film-child-default-genres { margin-top:2px; margin-bottom:20px; font-size:12px; }
  .film-child-default-genres .film-child-genres-label { width:100%; }
}

/* Shows, including children's programmes, share the film detail composition.
   Keep their existing actions, progress and recording list in the same flow. */
#movies-modal-parent.film-catalogue,
#movies-modal-parent.kids-catalogue,
#movies-modal-parent.film-catalogue #movie-shows-list-cont,
#movies-modal-parent.kids-catalogue #movie-shows-list-cont,
#movies-modal-parent.kids-catalogue #series-shows-list-cont,
#recording-program-details.film-detail-view,
#recording-program-details.show-detail-view { overscroll-behavior-y:none; }
#recording-program-details.film-detail-view .film-detail-content { width:100%; max-width:none; margin:0; padding:24px 48px 40px; box-sizing:border-box; }
#recording-program-details.show-detail-view .show-detail-content { max-width:none; padding:0 0 110px; }
#recording-program-details.show-detail-view .show-detail-hero { min-height:400px; margin:0; }
#recording-program-details.show-detail-view .show-detail-atmosphere { display:none; }
#recording-program-details.show-detail-view .show-detail-art { left:auto; right:0; width:75%; background-position:center top; }
#recording-program-details.show-detail-view .show-detail-art-shade {
  background:linear-gradient(0deg,#140d20 0%,rgba(20,13,32,.78) 10%,rgba(20,13,32,0) 48%),linear-gradient(90deg,#140d20 0%,#140d20 26%,rgba(20,13,32,.98) 34%,rgba(20,13,32,.86) 43%,rgba(20,13,32,.6) 54%,rgba(20,13,32,.2) 67%,rgba(20,13,32,0) 82%);
}
#recording-program-details.show-detail-view .show-detail-navigation { left:0; right:0; width:100%; max-width:none; margin:0; padding:0 48px; }
#recording-program-details.show-detail-view .show-detail-close { min-width:44px; min-height:44px; border-radius:6px; background:rgba(20,13,32,.68); color:#7be6d5; }
#recording-program-details.show-detail-view .show-detail-close:hover,
#recording-program-details.show-detail-view .show-detail-close:focus { background:rgba(20,13,32,.88); color:#a0f0e3; }
#recording-program-details.show-detail-view .show-detail-info { width:100%; max-width:none; margin:0; padding:80px 48px 28px; }
#recording-program-details.show-detail-view .show-detail-info > * { max-width:640px; }
#recording-program-details.show-detail-view .show-detail-info h1 { max-width:700px; font-family:Aino,Arial,sans-serif; font-size:40px; font-weight:700; line-height:1.12; }
#recording-program-details.show-detail-view .show-detail-actions { margin:0 0 18px; }
#recording-program-details.show-detail-view .show-detail-button { -webkit-flex:0 1 auto; -ms-flex:0 1 auto; flex:0 1 auto; min-width:190px; min-height:46px; margin:0 12px 8px 0; padding:11px 23px; font-size:15px; }
#recording-program-details.show-detail-view .show-detail-primary { min-width:210px; }
#recording-program-details.show-detail-view .show-detail-restart { -webkit-flex:0 0 100%; -ms-flex:0 0 100%; flex:0 0 100%; margin:0; text-align:left; }
#recording-program-details.show-detail-view .show-detail-recordings { width:100%; max-width:none; margin:0; padding:0 48px; }
#recording-program-details.show-detail-view .show-detail-no-wide { min-height:0; }
#recording-program-details.show-detail-view .show-detail-no-wide .show-detail-art,
#recording-program-details.show-detail-view .show-detail-no-wide .show-detail-art-shade { display:none; }
@media(max-width:1023px) and (min-width:768px) {
  #recording-program-details.film-detail-view .film-detail-content { padding:20px 24px 35px; }
  #recording-program-details.show-detail-view .show-detail-info { padding-left:24px; padding-right:24px; }
  #recording-program-details.show-detail-view .show-detail-info > * { max-width:60%; }
  #recording-program-details.show-detail-view .show-detail-info h1 { max-width:65%; font-size:34px; }
  #recording-program-details.show-detail-view .show-detail-navigation,
  #recording-program-details.show-detail-view .show-detail-recordings { padding-left:24px; padding-right:24px; }
}
@media(max-width:767px) {
  #recording-program-details.show-detail-view .show-detail-hero { min-height:0; }
  #recording-program-details.show-detail-view .show-detail-art { width:100%; height:230px; bottom:auto; }
  #recording-program-details.show-detail-view .show-detail-art-shade { height:270px; bottom:auto; background:linear-gradient(0deg,#140d20 0%,rgba(20,13,32,.65) 20%,rgba(20,13,32,0) 65%),linear-gradient(180deg,rgba(20,13,32,.35) 0%,rgba(20,13,32,0) 28%); }
  #recording-program-details.film-detail-view .film-detail-content { padding:14px 24px 28px; }
  #recording-program-details.show-detail-view .show-detail-navigation { padding:0 24px; }
  #recording-program-details.show-detail-view .show-detail-info { padding:232px 24px 24px; }
  #recording-program-details.show-detail-view .show-detail-info > * { max-width:none; }
  #recording-program-details.show-detail-view .show-detail-info h1 { max-width:none; font-size:29px; line-height:34px; }
  #recording-program-details.show-detail-view .show-detail-button { -webkit-flex:0 1 100%; -ms-flex:0 1 100%; flex:0 1 100%; width:100%; margin-right:0; font-size:14px; }
  #recording-program-details.show-detail-view .show-detail-recordings { padding:0 46px 0 24px; }
  #recording-program-details.show-detail-view .show-detail-no-wide .show-detail-info { padding-top:68px; }
}

/* Detail recommendations retain their native scrolling/arrows, with lighter
   poster cards. Catalogue card dimensions and their actions are unchanged. */
#recording-program-details.film-detail-view .film-related-posters { margin:-4px -8px 0; padding:8px 8px 16px; }
#recording-program-details.film-detail-view .film-related-card { width:150px; margin-right:18px; border:0; border-radius:8px; background:transparent; box-shadow:none; transition:transform .18s ease; }
#recording-program-details.film-detail-view .film-related-poster { height:0; padding-top:150%; border-radius:8px; overflow:hidden; background-color:#21182c; }
#recording-program-details.film-detail-view .film-related-card .film-card-title { min-height:44px; height:44px; max-height:44px; padding:8px 0 0; background:transparent; font-size:14px; line-height:18px; }
#recording-program-details.film-detail-view .film-related-card .film-card-title > span { display:block; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; max-height:36px; overflow:hidden; }
#recording-program-details.film-detail-view .film-related-card:hover,
#recording-program-details.film-detail-view .film-related-card:focus { border:0; background:transparent; -webkit-transform:translateY(-2px); -ms-transform:translateY(-2px); transform:translateY(-2px); }
#recording-program-details.film-detail-view .film-related-card:focus { outline:2px solid #62dbc9; outline-offset:4px; }
#recording-program-details.film-detail-view .film-expiry { left:6px; right:6px; bottom:6px; padding:2px 4px; border-radius:3px; background:rgba(12,9,19,.8); font-size:11px; line-height:16px; }

/* The brand label is yellow; the numeric score stays light beside it. */
.film-catalogue .vp-imdb-label,
.kids-catalogue .vp-imdb-label,
.film-more-view .vp-imdb-label,
#recording-program-details .vp-imdb-label { display:inline-block; margin:0; padding:1px 4px; border:0; border-radius:3px; background:#f5c518; color:#171717; font:700 11px/15px Arial,sans-serif; letter-spacing:-.25px; vertical-align:middle; text-shadow:none; }
.film-catalogue .vp-imdb-score,
.kids-catalogue .vp-imdb-score,
.film-more-view .vp-imdb-score,
#recording-program-details .vp-imdb-score { display:inline-block; margin:0 0 0 5px; padding:0; border:0; background:transparent; color:#eeeaf5; font:inherit; font-weight:500; vertical-align:middle; text-shadow:none; }
.film-catalogue .vp-imdb-label:before,
.film-catalogue .vp-imdb-score:before,
.kids-catalogue .vp-imdb-label:before,
.kids-catalogue .vp-imdb-score:before,
#recording-program-details .vp-imdb-label:before,
#recording-program-details .vp-imdb-score:before { content:none; }
#movies-modal-parent .movie-imdb-rating,
#program-search-modal .movie-imdb-rating,
#recording-program-details .film-related-poster .film-rating { width:auto; min-width:0; padding:3px 4px; border:0; border-radius:4px; background:rgba(12,9,19,.78); color:#eeeaf5; font:400 12px/17px Aino,Arial,sans-serif; white-space:nowrap; }
#recording-program-details .film-meta a { display:inline-block; color:#eeeaf5; text-decoration:none; }
#recording-program-details .film-meta a:focus { outline:2px solid #62dbc9; outline-offset:3px; }
@media(max-width:767px) {
  #recording-program-details.film-detail-view .film-related-card { width:132px; margin-right:14px; }
  #recording-program-details.film-detail-view .film-related-card .film-card-title { font-size:13px; }
}
@media(prefers-reduced-motion:reduce) {
  #recording-program-details.film-detail-view .film-related-card { transition:none; }
}

/* Phone navigation stays solid; the artwork begins below the existing 104px
   header. Keep route/player offsets and the 44px control hit areas unchanged. */
@media(max-width:767px) {
  .blue-live-header.header,
  .blue-live-header.header.vp-movie-fanart-active { background:#171222; border-bottom:1px solid #30283f; }
  .blue-live-header .vp-movie-fanart-layer { display:none!important; }
  .blue-live-header.header .main-nav { padding-left:12px; padding-right:12px; background:#171222; }
  .blue-live-header.header .main-nav li:nth-child(n) { margin-right:16px; }
  .blue-live-header.header .main-nav li:nth-child(n):last-child { margin-right:0; }
  .blue-live-header.header .logo.header-menu-elem { width:118px; }
  .blue-live-header.header .blue-logo-word { font-size:22px; }
  .blue-live-header.header .header-top .nav-right.header-menu-elem { right:12px; width:132px; }
  .blue-live-header.header .nav-right .search-nav-action { right:88px; }
  .blue-live-header.header .nav-right .account-area-trigger { right:44px; padding:0; background:transparent; }
  .blue-live-header.header .nav-right .nav-trigger { right:0; }
  .blue-live-header.header .nav-right .search-nav-action,
  .blue-live-header.header .nav-right .nav-trigger { background:transparent; }
  .blue-live-header.header .nav-right .search-nav-action:before,
  .blue-live-header.header .nav-right .nav-trigger:before { content:''; position:absolute; top:4px; left:4px; width:36px; height:36px; border-radius:8px; background:#2b2437; }
  .blue-live-header.header .nav-right .nav-right-action .icon { position:relative; z-index:1; font-size:25px; }
  body.live-blue-header-layout .blue-live-header .vp-header-avatar { width:36px; height:36px; margin:4px; }
  body.live-blue-header-layout .blue-live-header .account-area-trigger .vp-header-initial,
  body.live-blue-header-layout .blue-live-header .account-area-trigger .blue-account-initials { width:36px; height:36px; margin:4px; border-radius:50%; background:#62dbc9; color:#12342d; font-size:14px; line-height:36px; }
  #recording-program-details.film-detail-view .film-detail-backdrop.wrapper { top:0; height:230px; }
}

/* Desktop account menu follows the avatar: 20px top + 44px button + 10px gap. */
@media(min-width:1024px) {
  body.live-blue-header-layout #header-user-menu.user-modal.account-dropdown { top:74px; right:24px; }
}
@media(min-width:1024px) and (max-width:1279px) {
  body.live-blue-header-layout #header-user-menu.user-modal.account-dropdown { right:12px; }
}

/* Short desktop viewports keep the recommendation shelf in view by removing
   spare gaps, while retaining full text and the existing Read More controls. */
@media(min-width:1024px) and (max-height:900px) {
  #recording-program-details.film-detail-view .film-detail-content { padding-top:16px; }
  #recording-program-details.film-detail-view .film-detail-information { margin-top:8px; margin-bottom:12px; }
  #recording-program-details.film-detail-view .film-detail-information h1 { margin-bottom:8px; }
  #recording-program-details.film-detail-view .film-progress { margin-bottom:12px; }
  #recording-program-details.film-detail-view .film-detail-actions { margin-bottom:12px; }
  #recording-program-details.film-detail-view .film-description { margin-bottom:10px; }
  #recording-program-details.film-detail-view .film-related-heading { margin-bottom:4px; }
  #recording-program-details.show-detail-view .show-detail-hero { min-height:360px; }
  #recording-program-details.show-detail-view .show-detail-no-wide { min-height:0; }
  #recording-program-details.show-detail-view .show-detail-info { padding-top:68px; padding-bottom:16px; }
  #recording-program-details.show-detail-view .show-detail-info h1 { margin-bottom:8px; }
  #recording-program-details.show-detail-view .show-detail-source { margin-bottom:8px; }
  #recording-program-details.show-detail-view .show-detail-meta { margin-bottom:8px; }
  #recording-program-details.show-detail-view .show-detail-genres { margin-bottom:8px; }
  #recording-program-details.show-detail-view .show-detail-progress { margin-bottom:8px; }
  #recording-program-details.show-detail-view .show-detail-actions { margin-bottom:10px; }
}

/* Pehme kinovari: scoped presentation layer, loaded after fanart-header.css.
   Plain block/inline-block layout and fixed-height text remain usable without
   CSS Grid, aspect-ratio, object-fit, line-clamp or custom properties. */

/* Film shelves and related films grow. Shows, Kids and shared More grids keep
   their existing widths, gutters and image ratios. */
#movies-modal-parent.film-catalogue.vp-poster-cards .movie-item {
  width:190px; min-width:190px; max-width:190px; margin-right:18px;
}
#recording-program-details.vp-poster-details.film-detail-view .film-related-card {
  position:relative; width:190px; margin-right:18px; overflow:hidden; border-radius:9px;
}

/* Existing caption elements become overlays; original links stay in place. */
.vp-poster-cards .movie-item-hover,
.vp-poster-cards .show-item-hover {
  position:relative; overflow:hidden; border-radius:9px; background:#171120;
}
.vp-poster-cards .movie-item-img,
.vp-poster-cards .show-item-img { overflow:hidden!important; border-radius:8px; }
.vp-poster-cards .movie-item-hover:after,
.vp-poster-cards .show-item-hover:after,
#recording-program-details.vp-poster-details .film-related-poster:after {
  content:''; display:block; position:absolute; left:0; right:0; bottom:0; height:62%;
  z-index:1; pointer-events:none; background:rgba(11,8,18,.66);
  background:-webkit-linear-gradient(top,rgba(11,8,18,0) 0%,rgba(11,8,18,.45) 45%,rgba(11,8,18,.97) 100%);
  background:linear-gradient(to bottom,rgba(11,8,18,0) 0%,rgba(11,8,18,.45) 45%,rgba(11,8,18,.97) 100%);
}
.vp-poster-cards .movie-item-inner,
.vp-poster-cards .movie-item-inner-main,
.vp-poster-cards .show-item-inner {
  position:absolute; left:0; right:0; bottom:0; z-index:3;
  min-height:0!important; height:auto!important; max-height:none!important;
  margin:0!important; padding:0!important; border:0!important; background:transparent!important;
}
.vp-poster-cards .movie-item h3,
.vp-poster-cards .show-item h3 {
  min-height:0!important; height:auto!important; max-height:none!important;
  margin:0!important; padding:28px 13px 13px!important;
  color:#fff; font:600 16px/20px Aino,Arial,sans-serif;
  white-space:normal; overflow:hidden; text-align:left; text-shadow:0 1px 3px rgba(0,0,0,.8);
}
.vp-poster-cards .movie-item h3 a,
.vp-poster-cards .show-item h3 a {
  display:block; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2;
  max-height:40px; overflow:hidden; color:#fff; font:inherit; white-space:normal; text-align:left;
}
@media(min-width:768px) {
  #movies-modal-parent.film-catalogue.vp-poster-cards .movie-item h3 {
    padding:28px 13px 13px!important; font:600 16px/20px Aino,Arial,sans-serif!important;
  }
  #movies-modal-parent.film-catalogue.vp-poster-cards .movie-item h3 a {
    font:inherit!important; white-space:normal!important; max-height:40px!important;
  }
}
.vp-poster-cards .poster-fallback-title { display:none!important; }
.vp-poster-cards .movie-item-inner-cont {
  position:absolute; left:0; bottom:0; height:4px!important; max-width:100%; z-index:5;
}
.vp-poster-cards .movie-item-img .playthis,
.vp-poster-cards .show-item-img .playthis { z-index:2; }
.vp-poster-cards .movie-imdb-rating,
.vp-poster-cards .movie-more-imdb-rating,
.vp-poster-cards .film-rating,
#recording-program-details.vp-poster-details .film-related-poster .film-rating {
  position:absolute; top:8px; right:8px; left:auto; bottom:auto; z-index:4;
  width:auto; min-width:0; height:auto; margin:0; padding:3px 5px; border:0; border-radius:4px;
  background:rgba(12,9,19,.83); color:#f4f1f8; font:400 12px/16px Aino,Arial,sans-serif; white-space:nowrap;
}
.vp-poster-cards .movie-expiration,
#recording-program-details.vp-poster-details .film-expiry {
  top:8px; bottom:auto; left:8px; right:auto; max-width:65%; z-index:4;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
#recording-program-details.vp-poster-details .film-related-poster { position:relative; }
#recording-program-details.vp-poster-details.film-detail-view .film-related-card .film-card-title {
  position:absolute; left:0; right:0; bottom:0; z-index:3;
  min-height:0; height:auto; max-height:none; padding:28px 13px 13px; background:transparent;
  color:#fff; font:600 16px/20px Aino,Arial,sans-serif; text-align:left; text-shadow:0 1px 3px rgba(0,0,0,.8);
}
#recording-program-details.vp-poster-details.film-detail-view .film-card-title > span {
  display:block; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2;
  max-height:40px; overflow:hidden; white-space:normal;
}

/* Existing film DTO release year, shown only when its value is valid. It sits
   inside the caption/gradient; no extra footer or card dimensions are needed. */
.vp-poster-cards .vp-card-year,
#recording-program-details.vp-poster-details.film-detail-view .film-card-title > .vp-card-year {
  display:block; max-height:16px; margin:4px 0 0; padding:0;
  color:#c3bbce; font:400 12px/16px Aino,Arial,sans-serif;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}

/* Shows use the same image size as before. Caption overlays the existing image. */
#channel-recording-modal.vp-poster-cards .shows-card-button { position:relative; border-radius:8px; }
#channel-recording-modal.vp-poster-cards .shows-card-caption {
  position:absolute; left:0; right:0; bottom:0; height:auto; min-height:0; z-index:3;
  padding:30px 12px 12px; color:#fff; text-shadow:0 1px 3px rgba(0,0,0,.8);
  background:rgba(11,8,18,.72);
  background:-webkit-linear-gradient(top,rgba(11,8,18,0),rgba(11,8,18,.97));
  background:linear-gradient(to bottom,rgba(11,8,18,0),rgba(11,8,18,.97));
}
#channel-recording-modal.vp-poster-cards .shows-card-title {
  font-weight:600; color:#fff; max-height:40px; line-height:20px;
}
#channel-recording-modal.vp-poster-cards .show-item-hover:after { display:none; }
#channel-recording-modal.vp-poster-cards .shows-card-play {
  top:36%; bottom:auto; left:50%; right:auto; margin-left:-17px; z-index:4;
}
#channel-recording-modal.vp-poster-cards .shows-card-progress { z-index:5; }
#channel-recording-modal.vp-poster-cards .show-card-img-channel-name { z-index:4; }

/* Otse fills its existing content pane rather than reserving a blank column.
   This class is added only to the overview, never to channel guide/player panes. */
.vp-live-overview #on-air-container.show-card-columns {
  display:block!important; width:100%!important; max-width:none!important; margin:0;
  padding:12px 12px 48px; box-sizing:border-box; font-size:0; white-space:normal;
}
.vp-live-overview #on-air-container .show-card {
  display:inline-block; float:none; vertical-align:top; position:relative;
  width:25%; min-width:0; max-width:none; height:auto; min-height:0;
  margin:0; padding:10px; box-sizing:border-box; border-radius:0; font-size:14px;
}
.vp-live-overview #on-air-container .show-card .show-item-hover {
  position:relative; display:block; height:auto; margin:0; padding:0;
  overflow:hidden; border:2px solid transparent; border-radius:10px; background:#100c1a;
  -webkit-transform:none; -ms-transform:none; transform:none;
  -webkit-transition:-webkit-transform .16s ease-out,box-shadow .16s ease-out,border-color .16s ease-out;
  transition:transform .16s ease-out,box-shadow .16s ease-out,border-color .16s ease-out;
}
.vp-live-overview #on-air-container .show-card .show-item-hover:hover {
  border-color:#62dbc9;
}
@media(min-width:768px) {
  .vp-live-overview #on-air-container .show-card .show-item-hover {
    width:94.5%; margin:0 auto; box-sizing:border-box;
  }
  .vp-live-overview #on-air-container .show-card:hover { z-index:20; }
  .vp-live-overview #on-air-container .show-card .show-item-hover:hover {
    -webkit-transform:translateY(-3px) scale(1.035);
    -ms-transform:translateY(-3px) scale(1.035);
    transform:translateY(-3px) scale(1.035);
    box-shadow:0 12px 24px rgba(0,0,0,.44);
  }
}
@media(prefers-reduced-motion:reduce) {
  .vp-live-overview #on-air-container .show-card .show-item-hover {
    -webkit-transition:none; transition:none;
  }
}
.vp-live-overview #on-air-container .show-card-img {
  position:relative; width:100%; height:0; padding-top:75%; margin:0;
  overflow:hidden; opacity:1; border-radius:8px;
}
.vp-live-overview #on-air-container .show-card-show-img {
  position:absolute; top:0; left:50%; width:auto; height:100%; max-width:none;
  margin:0; opacity:1!important; border-radius:0;
  -webkit-transform:translateX(-50%); -ms-transform:translateX(-50%); transform:translateX(-50%);
}
@supports(object-fit:cover) {
  .vp-live-overview #on-air-container .show-card-show-img {
    left:0; width:100%; height:100%; object-fit:cover;
    -webkit-transform:none; -ms-transform:none; transform:none;
  }
}
.vp-live-overview #on-air-container .show-card-body {
  position:absolute; left:0; right:0; bottom:4px; z-index:3; margin:0;
  padding:24px 13px 12px; border-radius:0; color:#fff; white-space:normal; pointer-events:none;
  font:400 13px/18px Aino,Arial,sans-serif; background:rgba(11,8,18,.72);
  background:-webkit-linear-gradient(top,rgba(11,8,18,0),rgba(11,8,18,.48) 32%,rgba(11,8,18,.94));
  background:linear-gradient(to bottom,rgba(11,8,18,0),rgba(11,8,18,.48) 32%,rgba(11,8,18,.94));
}
.vp-live-overview #on-air-container .show-card-body .row { display:block; margin:0; }
.vp-live-overview #on-air-container .show-card-body .col {
  display:block; width:100%; max-width:none; min-width:0; margin:0; padding:0;
}
.vp-live-overview #on-air-container .show-card-title {
  display:block; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2;
  max-height:40px; overflow:hidden; margin:2px 0 5px; color:#fff;
  font:600 16px/20px Aino,Arial,sans-serif; white-space:normal; text-shadow:0 1px 3px #000;
}
.vp-live-overview #on-air-container .show-card-time { color:#ddd7e7; font-size:12px; }
.vp-live-overview #on-air-container .show-card-title-next { color:#c5bdcf; font-size:12px; }
.vp-live-overview #on-air-container .show-card-body .row + .row {
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-height:18px;
}
.vp-live-overview #on-air-container .show-card-img-channel-name {
  top:10px; left:10px; right:auto; z-index:5; max-width:62%; margin:0; padding:3px 7px;
  border-radius:4px; background:rgba(12,9,19,.76); color:#fff; opacity:1;
  font:400 12px/16px Aino,Arial,sans-serif; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.vp-live-overview #on-air-container .show-card-img-channel-logo {
  top:10px; right:10px; left:auto; width:auto; height:auto; max-width:20%; max-height:34px;
  z-index:5; opacity:1!important;
}
.vp-live-overview #on-air-container .program-process-small {
  position:absolute; left:0; right:0; bottom:0; z-index:5; height:4px; margin:0;
  background:#494154; opacity:1!important;
}
.vp-live-overview #on-air-container .program-process-small > span { display:block; height:4px; background:#efbd5d; }
.vp-live-overview #on-air-container .playthis {
  position:absolute; top:0; right:0; bottom:0; left:0; z-index:4; opacity:1!important; background:transparent!important;
}
.vp-live-overview #on-air-container .playthis:before {
  top:35%; left:50%; right:auto; bottom:auto; width:50px; height:50px; margin:-25px 0 0 -25px;
  padding:0 0 0 3px; border:2px solid #76e6d4; border-radius:50%;
  background:rgba(10,8,15,.48); color:#76e6d4; font-size:27px; line-height:46px;
  opacity:1; text-indent:0; box-sizing:border-box;
}
.vp-live-overview #on-air-container .playthis:focus,
.vp-poster-cards .playthis:focus,
.vp-poster-cards .inner-link:focus,
.vp-poster-details .film-related-card:focus { outline:2px solid #62dbc9; outline-offset:-2px; }

@media(min-width:768px) and (max-width:1279px) {
  #movies-modal-parent.film-catalogue.vp-poster-cards .movie-item { width:176px; min-width:176px; max-width:176px; }
  #recording-program-details.vp-poster-details.film-detail-view .film-related-card { width:176px; }
}
@media(min-width:1200px) and (max-width:1599px) {
  .vp-live-overview #on-air-container .show-card { width:33.3333%; }
}
/* Desktop content width is viewport minus the existing 190px channel sidebar
   and 24px container padding. Keep four generous cards at 1680px; the 4:3 image
   is then about 347x260px after gutters. Add columns on wider displays, keeping
   most desktop slots around 340-430px rather than growing four cards forever.
   Fractions round down; border-box gutters and non-scaling focus/hover keep the
   last column within the pane even with a visible vertical scrollbar. */
@media(min-width:2020px) {
  .vp-live-overview #on-air-container .show-card { width:20%; }
}
@media(min-width:2400px) {
  .vp-live-overview #on-air-container .show-card { width:16.6666%; }
}
@media(min-width:2800px) {
  .vp-live-overview #on-air-container .show-card { width:14.2857%; }
}
@media(min-width:3200px) {
  .vp-live-overview #on-air-container .show-card { width:12.5%; }
}
@media(min-width:3600px) {
  .vp-live-overview #on-air-container .show-card { width:11.1111%; }
}
@media(min-width:4000px) {
  .vp-live-overview #on-air-container .show-card { width:10%; }
}
@media(min-width:4800px) {
  .vp-live-overview #on-air-container .show-card { width:8.3333%; }
}
@media(min-width:5600px) {
  .vp-live-overview #on-air-container .show-card { width:7.1428%; }
}
@media(min-width:6400px) {
  .vp-live-overview #on-air-container .show-card { width:6.25%; }
}
@media(min-width:7200px) {
  .vp-live-overview #on-air-container .show-card { width:5.5555%; }
}
@media(min-width:600px) and (max-width:1199px) {
  .vp-live-overview #on-air-container .show-card { width:50%; }
}
@media(max-width:767px) {
  #movies-modal-parent.film-catalogue.vp-poster-cards .movie-item { width:158px; min-width:158px; max-width:158px; margin-right:14px; }
  #recording-program-details.vp-poster-details.film-detail-view .film-related-card { width:158px; margin-right:14px; }
  .vp-poster-cards .movie-item h3,
  .vp-poster-cards .show-item h3,
  #recording-program-details.vp-poster-details.film-detail-view .film-related-card .film-card-title { padding:24px 10px 10px!important; font-size:14px; line-height:18px; }
  .vp-poster-cards .movie-item h3 a,
  .vp-poster-cards .show-item h3 a,
  #recording-program-details.vp-poster-details.film-detail-view .film-card-title > span { max-height:36px; }
  #channel-recording-modal.vp-poster-cards .shows-card-caption { padding:25px 9px 9px; }
  #channel-recording-modal.vp-poster-cards .shows-card-title { max-height:36px; font-size:12px; line-height:18px; }
  .vp-live-overview #on-air-container.show-card-columns { padding:6px 6px 36px; }
  .vp-live-overview #on-air-container .show-card { padding:6px; }
}
@media(max-width:599px) {
  .vp-live-overview #on-air-container .show-card { width:100%; }
}

/* Compact the two catalogue views after their titles moved onto the artwork.
   Load after poster-cards.css. No live-channel, series or detail selectors.
   The existing shelf remains the horizontal scroller and owns its full width. */
#movies-modal-parent.film-catalogue.vp-poster-cards .movie-list-right-wrapper,
#movies-modal-parent.kids-catalogue.vp-poster-cards .movie-list-right-wrapper {
  padding-top:0; margin-top:0; margin-bottom:12px;
}
#movies-modal-parent.film-catalogue.vp-poster-cards .movie-genres,
#movies-modal-parent.kids-catalogue.vp-poster-cards .movie-genres {
  display:block; height:auto; min-height:30px; margin:0;
  padding-top:0; padding-bottom:0; line-height:30px; box-sizing:border-box;
}
#movies-modal-parent.film-catalogue.vp-poster-cards .movie-genres-title,
#movies-modal-parent.kids-catalogue.vp-poster-cards .movie-genres-title {
  padding-left:0;
}
#movies-modal-parent.film-catalogue.vp-poster-cards .movie-scroll,
#movies-modal-parent.kids-catalogue.vp-poster-cards .movie-scroll {
  display:block; height:auto!important; max-height:none!important;
  padding-top:16px; padding-bottom:18px; overflow-x:auto; overflow-y:hidden;
  white-space:nowrap; box-sizing:border-box; -webkit-overflow-scrolling:touch;
}
#movies-modal-parent.film-catalogue.vp-poster-cards .movie-scroll {
  margin:0 -18px; padding-left:18px; padding-right:18px;
}
#movies-modal-parent.kids-catalogue.vp-poster-cards .movie-scroll {
  width:100%; max-width:100%; margin:0; padding-left:18px; padding-right:18px;
}

/* Estonian-language shelf: 155x200 becomes approximately 184x238. The image
   ratio is retained, both dimensions grow and the final card remains in the
   same scrollable element used by the existing 1024px arrow action. */
#movies-modal-parent.kids-catalogue.vp-poster-cards .movie-list-right-wrapper .movie-item {
  display:inline-block; float:none; vertical-align:top; position:relative; top:0;
  width:184px; min-width:184px; max-width:184px;
  height:auto!important; min-height:0!important; max-height:none!important;
  padding:0; margin:0 18px 0 0; white-space:normal; box-sizing:border-box;
}
#movies-modal-parent.kids-catalogue.vp-poster-cards .movie-list-right-wrapper .movie-item-img {
  position:relative; width:100%; height:0!important; padding-top:129.0323%;
}
#movies-modal-parent.kids-catalogue.vp-poster-cards .movie-list-right-wrapper .movie-item-img .main-img,
#movies-modal-parent.kids-catalogue.vp-poster-cards .shows-list-right-wrapper .movie-item-img .main-img {
  position:absolute; top:50%; left:50%; display:block;
  width:auto!important; height:auto!important;
  max-width:100%!important; max-height:100%!important;
  -webkit-transform:translate(-50%,-50%);
  -ms-transform:translate(-50%,-50%);
  transform:translate(-50%,-50%);
}
/* Proportional contain is the baseline for engines without object-fit.
   Supporting engines retain the current edge-to-edge cover composition. */
@supports(object-fit:cover) {
  #movies-modal-parent.kids-catalogue.vp-poster-cards .movie-list-right-wrapper .movie-item-img .main-img,
  #movies-modal-parent.kids-catalogue.vp-poster-cards .shows-list-right-wrapper .movie-item-img .main-img {
    top:0; left:0; width:100%!important; height:100%!important;
    max-width:100%!important; max-height:none!important;
    -o-object-fit:cover; object-fit:cover;
    -webkit-transform:none; -ms-transform:none; transform:none;
  }
}

/* The Kids all-programme grid used 300px row slots around 200px artwork.
   Size each slot from its image instead, so removing a footer also removes
   that footer's former empty row space. Floats/percentage widths are the
   baseline layout; no Grid, flex-gap or aspect-ratio support is required. */
#movies-modal-parent.kids-catalogue.vp-poster-cards #series-shows-list-cont {
  float:none; width:100%; height:auto!important; min-height:0!important;
  max-height:none!important; margin-top:0!important; box-sizing:border-box;
}
#movies-modal-parent.kids-catalogue.vp-poster-cards #series-shows-list-cont .shows-list-right-wrapper {
  display:block!important; width:100%; height:auto!important; min-height:0;
  padding:0 16px 18px!important; margin:0; box-sizing:border-box;
}
#movies-modal-parent.kids-catalogue.vp-poster-cards #series-shows-list-cont .shows-list-right-wrapper:after {
  content:''; display:block; clear:both;
}
#movies-modal-parent.kids-catalogue.vp-poster-cards #series-shows-list-cont .movie-genres {
  clear:both; width:100%; margin:0 0 8px; padding:0 10px;
}
#movies-modal-parent.kids-catalogue.vp-poster-cards #series-shows-list-cont .show-item.movie-item {
  display:block; float:left; position:relative; top:0; vertical-align:top;
  width:50%!important; min-width:0!important; max-width:50%!important;
  height:auto!important; min-height:0!important; max-height:none!important;
  margin:0 0 8px; padding:8px 10px; box-sizing:border-box;
}
#movies-modal-parent.kids-catalogue.vp-poster-cards #series-shows-list-cont .show-item-img.movie-item-img {
  position:relative; width:100%; height:0!important; padding-top:110%;
}

@media(min-width:600px) {
  #movies-modal-parent.kids-catalogue.vp-poster-cards #series-shows-list-cont .show-item.movie-item {
    width:33.3333%!important; max-width:33.3333%!important;
  }
}
@media(min-width:768px) {
  #movies-modal-parent.kids-catalogue.vp-poster-cards #series-shows-list-cont .show-item.movie-item {
    width:25%!important; max-width:25%!important;
  }
}
@media(min-width:1024px) {
  #movies-modal-parent.kids-catalogue.vp-poster-cards #series-shows-list-cont .show-item.movie-item {
    width:20%!important; max-width:20%!important;
  }
}
@media(min-width:1440px) {
  #movies-modal-parent.kids-catalogue.vp-poster-cards #series-shows-list-cont .show-item.movie-item {
    width:16.6666%!important; max-width:16.6666%!important;
  }
}
@media(min-width:1600px) {
  #movies-modal-parent.kids-catalogue.vp-poster-cards #series-shows-list-cont .show-item.movie-item {
    width:14.2857%!important; max-width:14.2857%!important;
  }
}
@media(min-width:2000px) {
  #movies-modal-parent.kids-catalogue.vp-poster-cards #series-shows-list-cont .show-item.movie-item {
    width:12.5%!important; max-width:12.5%!important;
  }
}
@media(min-width:2400px) {
  #movies-modal-parent.kids-catalogue.vp-poster-cards #series-shows-list-cont .show-item.movie-item {
    width:11.1111%!important; max-width:11.1111%!important;
  }
}
@media(min-width:2800px) {
  #movies-modal-parent.kids-catalogue.vp-poster-cards #series-shows-list-cont .show-item.movie-item {
    width:10%!important; max-width:10%!important;
  }
}
@media(min-width:3200px) {
  #movies-modal-parent.kids-catalogue.vp-poster-cards #series-shows-list-cont .show-item.movie-item {
    width:8.3333%!important; max-width:8.3333%!important;
  }
}
@media(min-width:4000px) {
  #movies-modal-parent.kids-catalogue.vp-poster-cards #series-shows-list-cont .show-item.movie-item {
    width:7.1428%!important; max-width:7.1428%!important;
  }
}

@media(min-width:768px) and (max-width:1279px) {
  #movies-modal-parent.kids-catalogue.vp-poster-cards .movie-list-right-wrapper .movie-item {
    width:176px; min-width:176px; max-width:176px;
  }
}
@media(max-width:767px) {
  #movies-modal-parent.film-catalogue.vp-poster-cards .movie-list-right-wrapper,
  #movies-modal-parent.kids-catalogue.vp-poster-cards .movie-list-right-wrapper { margin-bottom:8px; }
  #movies-modal-parent.film-catalogue.vp-poster-cards .movie-genres,
  #movies-modal-parent.kids-catalogue.vp-poster-cards .movie-genres { min-height:28px; line-height:28px; }
  #movies-modal-parent.film-catalogue.vp-poster-cards .movie-scroll,
  #movies-modal-parent.kids-catalogue.vp-poster-cards .movie-scroll { padding:12px 12px 14px; }
  #movies-modal-parent.film-catalogue.vp-poster-cards .movie-scroll { margin:0 -12px; }
  #movies-modal-parent.kids-catalogue.vp-poster-cards .movie-list-right-wrapper .movie-item {
    width:158px; min-width:158px; max-width:158px; margin-right:14px;
  }
  #movies-modal-parent.kids-catalogue.vp-poster-cards #series-shows-list-cont .shows-list-right-wrapper {
    padding-left:8px!important; padding-right:8px!important;
  }
  #movies-modal-parent.kids-catalogue.vp-poster-cards #series-shows-list-cont .movie-genres { padding-left:6px; padding-right:6px; margin-bottom:6px; }
  #movies-modal-parent.kids-catalogue.vp-poster-cards #series-shows-list-cont .show-item.movie-item {
    padding:6px; margin-bottom:6px;
  }
}

/* Selected poster + information composition. Load after poster-cards.css.
   Film/show detail branches share the style; artwork/header logic is retained. */
#recording-program-details.vp-movie-detail-layout.film-detail-view .film-detail-content {
  width:100%; max-width:none; margin:0; padding:22px 48px 32px; box-sizing:border-box;
  font-family:Aino,Arial,sans-serif;
}
#recording-program-details.vp-movie-detail-layout.film-detail-view .film-back {
  display:inline-block; min-height:32px; margin:0 0 18px; padding:0; font-size:14px; line-height:32px;
}
#recording-program-details.vp-movie-detail-layout.film-detail-view .vp-movie-detail-hero {
  position:relative; min-height:420px; margin:0 0 8px; padding:0;
}
#recording-program-details.vp-movie-detail-layout.film-detail-view .vp-movie-detail-poster {
  position:absolute; top:0; left:0; width:280px; height:420px; margin:0;
  overflow:hidden; border:1px solid rgba(201,195,216,.25); border-radius:7px;
  background:#1b1427; box-shadow:0 8px 24px rgba(0,0,0,.28);
}
#recording-program-details.vp-movie-detail-layout.film-detail-view .vp-movie-detail-poster img {
  position:absolute; top:0; left:50%; display:block; width:auto; max-width:none; height:100%; margin:0;
  -webkit-transform:translateX(-50%); -ms-transform:translateX(-50%); transform:translateX(-50%);
}
@supports(object-fit:cover) {
  #recording-program-details.vp-movie-detail-layout.film-detail-view .vp-movie-detail-poster img {
    left:0; width:100%; height:100%; object-fit:cover;
    -webkit-transform:none; -ms-transform:none; transform:none;
  }
}
#recording-program-details.vp-movie-detail-layout.film-detail-view .vp-movie-detail-body {
  position:relative; margin:0 0 0 328px; max-width:760px; padding:36px 0 0;
}
#recording-program-details.vp-movie-detail-layout.film-detail-view .film-detail-information {
  width:auto; max-width:680px; margin:0 0 16px;
}
#recording-program-details.vp-movie-detail-layout.film-detail-view .film-detail-information h1 {
  max-width:none; margin:0 0 14px; color:#f4f1f8; font-family:Aino,Arial,sans-serif;
  font-size:52px; font-weight:700; line-height:1.09; overflow-wrap:break-word; word-wrap:break-word;
}
#recording-program-details.vp-movie-detail-layout.film-detail-view .film-detail-summary {
  display:block; max-width:100%;
}
#recording-program-details.vp-movie-detail-layout.film-detail-view .film-detail-basics { display:block; white-space:normal; }
#recording-program-details.vp-movie-detail-layout.film-detail-view .film-meta {
  display:inline; margin:0; color:#c7bfd3; font-size:16px; line-height:23px;
}
#recording-program-details.vp-movie-detail-layout.film-detail-view .film-meta > span { margin-right:10px; }
#recording-program-details.vp-movie-detail-layout.film-detail-view .film-meta > span + span { padding-left:10px; }
#recording-program-details.vp-movie-detail-layout.film-detail-view .film-genres {
  display:inline; margin:0; padding:0; color:#c7bfd3; font-size:16px; line-height:23px;
}
#recording-program-details.vp-movie-detail-layout.film-detail-view .film-genres > span { margin-right:12px; }
#recording-program-details.vp-movie-detail-layout.film-detail-view .film-detail-channel { display:block; margin-top:7px; padding-left:0; }
#recording-program-details.vp-movie-detail-layout.film-detail-view .film-source { display:block; margin:0; font-size:14px; line-height:21px; }
#recording-program-details.vp-movie-detail-layout.film-detail-view .film-source > img { display:none; }
#recording-program-details.vp-movie-detail-layout.film-detail-view .film-source-text { display:block; padding:0; }
#recording-program-details.vp-movie-detail-layout.film-detail-view .film-source-name { display:inline; margin-right:8px; color:#c7bfd3; }
#recording-program-details.vp-movie-detail-layout.film-detail-view .film-source-date { display:inline; color:#bdb4cb; font-size:13px; line-height:21px; white-space:normal; }
#recording-program-details.vp-movie-detail-layout.film-detail-view .film-source-date span { display:inline-block; margin-left:8px; }
#recording-program-details.vp-movie-detail-layout.film-detail-view .film-description {
  width:540px; max-width:100%; margin:0 0 14px;
}
#recording-program-details.vp-movie-detail-layout.film-detail-view .film-detail-description {
  display:block; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3;
  max-height:72px; margin:0; overflow:hidden; color:#eeeaf4; font-size:16px; line-height:24px;
}
#recording-program-details.vp-movie-detail-layout.film-detail-view .film-detail-description.is-expanded {
  display:block; max-height:none; overflow:visible; -webkit-line-clamp:unset;
}
#recording-program-details.vp-movie-detail-layout.film-detail-view .film-description-toggle {
  min-height:32px; margin:0; padding:3px 0; font-size:14px; line-height:26px;
}
#recording-program-details.vp-movie-detail-layout.film-detail-view .film-detail-refresh {
  max-width:540px; margin:0 0 12px; font-size:13px; line-height:20px;
}
#recording-program-details.vp-movie-detail-layout.film-detail-view .film-detail-actions {
  display:block; width:auto; max-width:760px; margin:0; padding:0; white-space:normal;
}
#recording-program-details.vp-movie-detail-layout.film-detail-view .film-progress {
  display:block; width:480px; max-width:100%; margin:0 0 16px;
}
#recording-program-details.vp-movie-detail-layout.film-detail-view .film-progress-track { height:6px; margin:0 0 7px; }
#recording-program-details.vp-movie-detail-layout.film-detail-view .film-progress-track > span { background:#62dbc9; }
#recording-program-details.vp-movie-detail-layout.film-detail-view .film-progress-label { margin:0; color:#c2b9cf; font-size:13px; line-height:20px; }
#recording-program-details.vp-movie-detail-layout.film-detail-view .film-progress-label > span { margin-left:10px; }
#recording-program-details.vp-movie-detail-layout.film-detail-view .film-button-primary {
  display:inline-block; width:auto; min-width:240px; min-height:52px; margin:0 14px 10px 0;
  padding:14px 23px; border-radius:28px; font-size:16px; line-height:22px; vertical-align:middle;
}
#recording-program-details.vp-movie-detail-layout.film-detail-view .film-button-secondary,
#recording-program-details.vp-movie-detail-layout.film-detail-view .film-restart {
  display:inline-block; width:auto; min-width:0; max-width:100%; min-height:52px; margin:0 14px 10px 0;
  padding:0; border:0; border-radius:0; background:transparent; color:#f0ebf6!important;
  font:400 16px/22px Aino,Arial,sans-serif; text-align:left; text-decoration:none; vertical-align:middle;
}
#recording-program-details.vp-movie-detail-layout.film-detail-view .vp-movie-action-icon {
  display:inline-block; width:52px; height:52px; margin:0 9px 0 0; padding:0;
  border:1px solid rgba(121,201,193,.55); border-radius:50%; background:rgba(24,22,36,.8);
  color:#f0ebf6; font-size:27px; font-weight:400; line-height:50px; text-align:center; vertical-align:middle;
}
#recording-program-details.vp-movie-detail-layout.film-detail-view .vp-movie-action-label { display:inline; vertical-align:middle; }
#recording-program-details.vp-movie-detail-layout.film-detail-view .film-button-secondary:hover .vp-movie-action-icon,
#recording-program-details.vp-movie-detail-layout.film-detail-view .film-restart:hover .vp-movie-action-icon,
#recording-program-details.vp-movie-detail-layout.film-detail-view .film-button-secondary.active .vp-movie-action-icon {
  border-color:#76e6d4; color:#76e6d4; background:#282336;
}
#recording-program-details.vp-movie-detail-layout.film-detail-view .film-button:focus,
#recording-program-details.vp-movie-detail-layout.film-detail-view .film-restart:focus {
  outline:2px solid #76e6d4; outline-offset:3px;
}

/* User refinement: related names and years stay inside each poster gradient. */
#recording-program-details.vp-movie-detail-layout.film-detail-view .film-related { margin:0; padding:0; }
#recording-program-details.vp-movie-detail-layout.film-detail-view .film-related-heading { margin:0 0 4px; }
#recording-program-details.vp-movie-detail-layout.film-detail-view .film-related h2 { font:400 22px/36px Aino,Arial,sans-serif; }
#recording-program-details.vp-movie-detail-layout.film-detail-view .film-related-posters { margin:-4px -8px 0; padding:8px 8px 16px; }
#recording-program-details.vp-movie-detail-layout.film-detail-view .film-related-card {
  width:190px; margin-right:18px; overflow:hidden; background:transparent; border-radius:7px;
}
#recording-program-details.vp-movie-detail-layout.film-detail-view .film-related-poster { border-radius:7px; }
#recording-program-details.vp-movie-detail-layout.film-detail-view .film-related-card .film-card-title > .vp-card-year {
  display:block; max-height:16px; margin-top:3px; color:#b9afc8; font:400 12px/16px Aino,Arial,sans-serif;
}

@media(min-width:768px) and (max-width:1199px) {
  #recording-program-details.vp-movie-detail-layout.film-detail-view .film-detail-content { padding-left:28px; padding-right:28px; }
  #recording-program-details.vp-movie-detail-layout.film-detail-view .vp-movie-detail-poster { width:190px; height:285px; }
  #recording-program-details.vp-movie-detail-layout.film-detail-view .vp-movie-detail-body { margin-left:224px; padding-top:8px; }
  #recording-program-details.vp-movie-detail-layout.film-detail-view .film-detail-information h1 { font-size:36px; line-height:40px; }
  #recording-program-details.vp-movie-detail-layout.film-detail-view .film-related-card { width:176px; }
}
@media(max-width:767px) {
  #recording-program-details.vp-movie-detail-layout.film-detail-view .film-detail-content { padding:14px 20px 28px; }
  #recording-program-details.vp-movie-detail-layout.film-detail-view .film-back { margin-bottom:14px; }
  #recording-program-details.vp-movie-detail-layout.film-detail-view .vp-movie-detail-hero { min-height:0; margin-bottom:18px; }
  #recording-program-details.vp-movie-detail-layout.film-detail-view .vp-movie-detail-poster { position:relative; float:left; width:112px; height:168px; margin:0 18px 14px 0; }
  #recording-program-details.vp-movie-detail-layout.film-detail-view .vp-movie-detail-body { max-width:none; margin:0; padding:3px 0 0; }
  #recording-program-details.vp-movie-detail-layout.film-detail-view .film-detail-information { width:auto; min-height:168px; max-width:none; margin:0 0 12px; overflow:hidden; }
  #recording-program-details.vp-movie-detail-layout.film-detail-view .film-detail-information h1 { margin-bottom:9px; padding-right:44px; font-size:28px; line-height:32px; }
  #recording-program-details.vp-movie-detail-layout.film-detail-view .film-meta,
  #recording-program-details.vp-movie-detail-layout.film-detail-view .film-genres { font-size:12px; line-height:20px; }
  #recording-program-details.vp-movie-detail-layout.film-detail-view .film-meta > span { margin-right:6px; }
  #recording-program-details.vp-movie-detail-layout.film-detail-view .film-meta > span + span { padding-left:6px; }
  #recording-program-details.vp-movie-detail-layout.film-detail-view .film-genres > span { margin-right:8px; }
  #recording-program-details.vp-movie-detail-layout.film-detail-view .film-source-name,
  #recording-program-details.vp-movie-detail-layout.film-detail-view .film-source-date { font-size:12px; line-height:18px; }
  #recording-program-details.vp-movie-detail-layout.film-detail-view .film-source-date span { margin-left:0; }
  #recording-program-details.vp-movie-detail-layout.film-detail-view .film-description { clear:both; width:100%; max-width:none; margin-bottom:12px; }
  #recording-program-details.vp-movie-detail-layout.film-detail-view .film-detail-description { max-height:66px; font-size:14px; line-height:22px; }
  #recording-program-details.vp-movie-detail-layout.film-detail-view .film-detail-description.is-expanded { max-height:none; }
  #recording-program-details.vp-movie-detail-layout.film-detail-view .film-description-toggle { min-height:44px; padding:7px 0; }
  #recording-program-details.vp-movie-detail-layout.film-detail-view .film-button-primary { display:block; width:100%; min-width:0; margin:0 0 12px; }
  #recording-program-details.vp-movie-detail-layout.film-detail-view .film-button-secondary,
  #recording-program-details.vp-movie-detail-layout.film-detail-view .film-restart { margin:0 12px 10px 0; font-size:13px; }
  #recording-program-details.vp-movie-detail-layout.film-detail-view .vp-movie-action-icon { width:44px; height:44px; margin-right:8px; font-size:23px; line-height:42px; }
  #recording-program-details.vp-movie-detail-layout.film-detail-view .film-progress { width:100%; margin-bottom:14px; }
  #recording-program-details.vp-movie-detail-layout.film-detail-view .film-progress-label { font-size:12px; line-height:19px; }
  #recording-program-details.vp-movie-detail-layout.film-detail-view .film-related-card { width:158px; margin-right:14px; }
  #recording-program-details.vp-movie-detail-layout.film-detail-view .film-related h2 { font-size:20px; }
}
@media(max-width:479px) {
  #recording-program-details.vp-movie-detail-layout.film-detail-view .film-detail-content { padding-left:16px; padding-right:16px; }
  #recording-program-details.vp-movie-detail-layout.film-detail-view .vp-movie-detail-poster { width:88px; height:132px; margin-right:12px; }
  #recording-program-details.vp-movie-detail-layout.film-detail-view .film-detail-information { min-height:132px; }
  #recording-program-details.vp-movie-detail-layout.film-detail-view .film-detail-information h1 { font-size:25px; line-height:29px; }
}

/* Short desktop viewports keep the larger recommendations above the fold. */
@media(min-width:1200px) and (max-height:900px) {
  #recording-program-details.vp-movie-detail-layout.film-detail-view .vp-movie-detail-poster { width:260px; height:390px; }
  #recording-program-details.vp-movie-detail-layout.film-detail-view .vp-movie-detail-body { margin-left:308px; }
  #recording-program-details.vp-movie-detail-layout.film-detail-view .vp-movie-detail-hero { min-height:390px; }
  #recording-program-details.vp-movie-detail-layout.film-detail-view .film-related-card { width:184px; }
}

/* Shows and children using the show branch retain their existing hero artwork
   and recording list. Missing portrait data leaves information at the left. */
#recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-hero {
  min-height:474px; margin:0; padding:0;
}
#recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-info {
  position:relative; z-index:2; width:100%; max-width:none; min-height:445px;
  margin:0; padding:74px 48px 26px; box-sizing:border-box; font-family:Aino,Arial,sans-serif;
}
#recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-info * { box-sizing:border-box; }
#recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-hero.show-detail-no-wide { min-height:0; }
#recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-no-wide .show-detail-info { min-height:0; }
#recording-program-details.vp-movie-detail-layout.show-detail-view .vp-show-detail-copy {
  position:relative; max-width:760px; margin:0; padding:36px 0 0;
}
#recording-program-details.vp-movie-detail-layout.show-detail-view .vp-show-detail-poster {
  position:absolute; top:74px; left:48px; width:280px; max-width:none; height:420px; margin:0;
  overflow:hidden; border:1px solid rgba(201,195,216,.25); border-radius:7px;
  background:#1b1427; box-shadow:0 8px 24px rgba(0,0,0,.28);
}
#recording-program-details.vp-movie-detail-layout.show-detail-view .vp-show-detail-poster + .vp-show-detail-copy { margin-left:328px; min-height:420px; }
#recording-program-details.vp-movie-detail-layout.show-detail-view .vp-show-detail-poster img {
  position:absolute; top:0; left:50%; display:block; width:auto; max-width:none; height:100%; margin:0;
  -webkit-transform:translateX(-50%); -ms-transform:translateX(-50%); transform:translateX(-50%);
}
@supports(object-fit:cover) {
  #recording-program-details.vp-movie-detail-layout.show-detail-view .vp-show-detail-poster img {
    left:0; width:100%; height:100%; object-fit:cover;
    -webkit-transform:none; -ms-transform:none; transform:none;
  }
}
#recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-info h1 {
  width:auto; max-width:680px; margin:0 0 14px; color:#f4f1f8; font-family:Aino,Arial,sans-serif;
  font-size:52px; font-weight:700; line-height:1.09; overflow-wrap:break-word; word-wrap:break-word;
}
#recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-meta,
#recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-genres {
  display:block; max-width:680px; margin:0 0 6px; padding:0; color:#c7bfd3; font-size:16px; line-height:23px;
  white-space:normal;
}
#recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-meta > span { display:inline-block; margin:0 10px 0 0; }
#recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-meta > span + span { padding-left:10px; }
#recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-genres > span { display:inline-block; margin-right:12px; }
#recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-source {
  display:block; width:auto; max-width:680px; margin:0 0 16px; padding:0; color:#bdb4cb; font-size:14px; line-height:21px;
}
#recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-source > img { display:none; }
#recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-source > span { margin:0; padding:0; border:0; font:inherit; }
#recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-description-wrapper { width:540px; max-width:100%; margin:0 0 14px; }
#recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-description {
  display:block; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3;
  max-height:72px; margin:0; overflow:hidden; color:#eeeaf4; font-size:16px; line-height:24px;
}
#recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-description.is-expanded {
  display:block; max-height:none; overflow:visible; -webkit-line-clamp:unset;
}
#recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-description-toggle {
  min-height:32px; margin:0; padding:3px 0; font-size:14px; line-height:26px;
}
#recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-progress { width:480px; max-width:100%; margin:0 0 16px; }
#recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-progress-track { height:6px; margin:0 0 7px; }
#recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-progress-track > span { background:#62dbc9; }
#recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-progress-label {
  display:block; margin:0; color:#c2b9cf; font-size:13px; line-height:20px; overflow:hidden;
}
#recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-progress-label > span + span { float:right; margin-left:8px; }
#recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-actions { display:block; width:auto; max-width:760px; margin:0; padding:0; white-space:normal; }
#recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-actions .show-detail-button.show-detail-primary {
  display:inline-block; width:auto; min-width:240px; min-height:52px; margin:0 14px 10px 0;
  padding:14px 23px; border:1px solid #62dbc9; border-radius:28px;
  background:#62dbc9; color:#102b2a; font:700 16px/22px Aino,Arial,sans-serif; vertical-align:middle;
}
#recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-actions .show-detail-save,
#recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-actions .show-detail-restart {
  display:inline-block; width:auto; min-width:0; max-width:100%; min-height:52px; margin:0 14px 10px 0;
  padding:0; border:0; border-radius:0; background:transparent; color:#f0ebf6;
  font:400 16px/22px Aino,Arial,sans-serif; text-align:left; text-decoration:none; vertical-align:middle;
}
#recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-actions .vp-movie-action-icon {
  display:inline-block; width:52px; height:52px; margin:0 9px 0 0; padding:0;
  border:1px solid rgba(121,201,193,.55); border-radius:50%; background:rgba(24,22,36,.8);
  color:#f0ebf6; font-size:27px; font-weight:400; line-height:50px; text-align:center; vertical-align:middle;
}
#recording-program-details.vp-movie-detail-layout.show-detail-view .vp-movie-action-label { display:inline; vertical-align:middle; }
#recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-save:hover .vp-movie-action-icon,
#recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-restart:hover .vp-movie-action-icon,
#recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-save.active .vp-movie-action-icon { border-color:#76e6d4; color:#76e6d4; background:#282336; }
#recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-primary:hover { border-color:#85e5d7; background:#85e5d7; }
#recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-button:focus,
#recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-restart:focus { outline:2px solid #76e6d4; outline-offset:3px; }

@media(min-width:768px) and (max-width:1199px) {
  #recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-info { padding-left:28px; padding-right:28px; }
  #recording-program-details.vp-movie-detail-layout.show-detail-view .vp-show-detail-poster { left:28px; width:190px; height:285px; }
  #recording-program-details.vp-movie-detail-layout.show-detail-view .vp-show-detail-poster + .vp-show-detail-copy { margin-left:224px; min-height:285px; }
  #recording-program-details.vp-movie-detail-layout.show-detail-view .vp-show-detail-copy { padding-top:8px; }
  #recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-info h1 { font-size:36px; line-height:40px; }
}
@media(max-width:767px) {
  #recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-hero { min-height:0; }
  #recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-info { min-height:0; padding:242px 20px 20px; }
  #recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-no-wide .show-detail-info { padding-top:68px; }
  #recording-program-details.vp-movie-detail-layout.show-detail-view .vp-show-detail-copy,
  #recording-program-details.vp-movie-detail-layout.show-detail-view .vp-show-detail-poster + .vp-show-detail-copy { max-width:none; min-height:0; margin:0; padding:0; }
  #recording-program-details.vp-movie-detail-layout.show-detail-view .vp-show-detail-poster { display:none; }
  #recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-info h1 { max-width:none; margin-bottom:9px; font-size:28px; line-height:32px; }
  #recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-meta,
  #recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-genres { max-width:none; font-size:12px; line-height:20px; }
  #recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-meta > span { margin-right:6px; }
  #recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-meta > span + span { padding-left:6px; }
  #recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-source { margin-bottom:12px; font-size:12px; line-height:18px; }
  #recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-description-wrapper { width:100%; max-width:none; margin-bottom:12px; }
  #recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-description { max-height:66px; font-size:14px; line-height:22px; }
  #recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-description.is-expanded { max-height:none; }
  #recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-description-toggle { min-height:44px; padding:7px 0; }
  #recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-progress { width:100%; margin-bottom:14px; }
  #recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-progress-label { font-size:12px; line-height:19px; }
  #recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-actions .show-detail-button.show-detail-primary { display:block; width:100%; min-width:0; margin:0 0 12px; }
  #recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-actions .show-detail-save,
  #recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-actions .show-detail-restart { margin:0 12px 10px 0; font-size:13px; }
  #recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-actions .vp-movie-action-icon { width:44px; height:44px; margin-right:8px; font-size:23px; line-height:42px; }
}
@media(max-width:479px) {
  #recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-info { padding-left:16px; padding-right:16px; }
  #recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-info h1 { font-size:25px; line-height:29px; }
}

/* Load after movie-detail-layout.css. The unconditional slot belongs outside
   the existing ng-if description wrapper, so absent text reserves space too.
   Three collapsed lines + Read More row share one height in both branches. */
#recording-program-details.vp-movie-detail-layout .vp-detail-description-slot {
  display:block;
  clear:both;
  width:540px;
  max-width:100%;
  min-height:112px;
  margin:0;
  padding:0 0 8px;
  box-sizing:border-box;
  overflow:visible;
}

#recording-program-details.vp-movie-detail-layout.film-detail-view .vp-detail-description-slot > .film-description,
#recording-program-details.vp-movie-detail-layout.show-detail-view .vp-detail-description-slot > .show-detail-description-wrapper {
  width:100%;
  max-width:100%;
  margin:0;
}

#recording-program-details.vp-movie-detail-layout.film-detail-view .vp-detail-description-slot .film-detail-description,
#recording-program-details.vp-movie-detail-layout.show-detail-view .vp-detail-description-slot .show-detail-description {
  max-height:72px;
  margin:0;
  font-size:16px;
  line-height:24px;
  overflow-wrap:break-word;
  word-wrap:break-word;
}

#recording-program-details.vp-movie-detail-layout.film-detail-view .vp-detail-description-slot .film-description-toggle,
#recording-program-details.vp-movie-detail-layout.show-detail-view .vp-detail-description-slot .show-detail-description-toggle {
  min-height:32px;
  height:32px;
  margin:0;
  padding:3px 0;
  border:0;
  box-sizing:border-box;
  line-height:26px;
}

/* Keep explicit expansion in normal flow. No fixed outer height or clipping
   can cover the expanded text, its collapse control or the playback actions. */
#recording-program-details.vp-movie-detail-layout.film-detail-view .vp-detail-description-slot .film-detail-description.is-expanded,
#recording-program-details.vp-movie-detail-layout.show-detail-view .vp-detail-description-slot .show-detail-description.is-expanded {
  display:block;
  max-height:none;
  overflow:visible;
}

/* Watched and unwatched details keep the same space before their actions.
   The 56px slot includes the former progress bottom margin; do not add it twice. */
#recording-program-details.vp-movie-detail-layout .vp-detail-progress-slot {
  display:block;
  clear:both;
  width:480px;
  max-width:100%;
  min-height:56px;
  margin:0;
  padding:0;
  box-sizing:border-box;
  overflow:visible;
}

#recording-program-details.vp-movie-detail-layout.film-detail-view .vp-detail-progress-slot > .film-progress,
#recording-program-details.vp-movie-detail-layout.show-detail-view .vp-detail-progress-slot > .show-detail-progress {
  width:100%;
  max-width:100%;
  margin:0;
}

/* Keep every genre on one horizontal row. The film branch shares its row with
   year/duration/IMDb; show and child details have a separate genre row.
   A bounded native scroller keeps long metadata accessible without page overflow.
   The one-line height includes room for a classic, non-overlay scrollbar. */
#recording-program-details.vp-movie-detail-layout.film-detail-view .film-detail-basics,
#recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-genres {
  display:block;
  max-width:100%;
  height:43px;
  min-height:43px;
  box-sizing:border-box;
  font-size:16px;
  line-height:23px;
  white-space:nowrap;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
}

#recording-program-details.vp-movie-detail-layout.film-detail-view .film-meta,
#recording-program-details.vp-movie-detail-layout.film-detail-view .film-genres,
#recording-program-details.vp-movie-detail-layout.film-detail-view .film-genres > span,
#recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-genres > span {
  display:inline-block;
  vertical-align:top;
  white-space:nowrap;
}

/* The desktop information text is capped at 680px, while its existing body
   has 760px. Let metadata use that spare width without widening prose/title. */
@media(min-width:1200px) {
  #recording-program-details.vp-movie-detail-layout.film-detail-view .film-detail-basics {
    width:760px;
    max-width:760px;
  }
}

@media(max-width:767px) {
  #recording-program-details.vp-movie-detail-layout.film-detail-view .film-detail-basics,
  #recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-genres {
    height:auto;
    min-height:0;
    font-size:12px;
    line-height:20px;
    white-space:normal;
    overflow:visible;
    -webkit-overflow-scrolling:auto;
  }
  #recording-program-details.vp-movie-detail-layout.film-detail-view .film-meta,
  #recording-program-details.vp-movie-detail-layout.film-detail-view .film-genres {
    display:inline;
    white-space:normal;
  }
  #recording-program-details.vp-movie-detail-layout .vp-detail-description-slot {
    width:100%;
    max-width:none;
    min-height:110px;
    padding-bottom:0;
  }
  #recording-program-details.vp-movie-detail-layout.film-detail-view .vp-detail-description-slot .film-detail-description,
  #recording-program-details.vp-movie-detail-layout.show-detail-view .vp-detail-description-slot .show-detail-description {
    max-height:66px;
    font-size:14px;
    line-height:22px;
  }
  #recording-program-details.vp-movie-detail-layout.film-detail-view .vp-detail-description-slot .film-description-toggle,
  #recording-program-details.vp-movie-detail-layout.show-detail-view .vp-detail-description-slot .show-detail-description-toggle {
    min-height:44px;
    height:44px;
    padding:7px 0;
  }
  #recording-program-details.vp-movie-detail-layout.film-detail-view .vp-detail-description-slot .film-detail-description.is-expanded,
  #recording-program-details.vp-movie-detail-layout.show-detail-view .vp-detail-description-slot .show-detail-description.is-expanded {
    max-height:none;
  }
}

/* Desktop titles reserve two lines even when a name fits on one. Use explicit
   line heights and bounded blocks as the legacy-browser fallback; the complete
   title remains in the DOM and in the native title tooltip. Phones stay in flow.
   A fixed source slot also survives a missing channel or an unusually long name. */
@media(min-width:768px) {
  #recording-program-details.vp-movie-detail-layout.film-detail-view .film-detail-information h1,
  #recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-info h1 {
    height:114px;
    min-height:114px;
    max-height:114px;
    line-height:57px;
    overflow:hidden;
  }
  /* Reduce only long headings; their reserved height and baselines stay fixed. */
  #recording-program-details.vp-movie-detail-layout.film-detail-view .film-detail-information h1.vp-detail-title-long,
  #recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-info h1.vp-detail-title-long {
    font-size:40px;
  }
  #recording-program-details.vp-movie-detail-layout.film-detail-view .film-detail-information h1.vp-detail-title-very-long,
  #recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-info h1.vp-detail-title-very-long {
    font-size:32px;
  }
  /* Enhancement only: browsers without multiline ellipsis retain the bounded
     two-line block above and the full native tooltip/accessible heading text. */
  @supports(-webkit-line-clamp:2) {
    #recording-program-details.vp-movie-detail-layout.film-detail-view .film-detail-information h1,
    #recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-info h1 {
      display:-webkit-box;
      -webkit-box-orient:vertical;
      -webkit-line-clamp:2;
    }
  }
  #recording-program-details.vp-movie-detail-layout.film-detail-view .film-detail-summary {
    height:72px;
    min-height:72px;
    max-height:72px;
  }
  #recording-program-details.vp-movie-detail-layout.film-detail-view .film-detail-channel {
    height:29px;
    margin-top:0;
    padding-top:7px;
    box-sizing:border-box;
  }
  #recording-program-details.vp-movie-detail-layout.film-detail-view .film-source,
  #recording-program-details.vp-movie-detail-layout.film-detail-view .film-source-text {
    height:22px;
    line-height:22px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  #recording-program-details.vp-movie-detail-layout.film-detail-view .film-source-date {
    white-space:nowrap;
  }
  #recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-meta {
    height:23px;
    min-height:23px;
    max-height:23px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  #recording-program-details.vp-movie-detail-layout.show-detail-view .vp-detail-genres-slot {
    height:43px;
    min-height:43px;
    max-height:43px;
    margin:0;
    padding:0;
    box-sizing:border-box;
  }
  #recording-program-details.vp-movie-detail-layout.show-detail-view .vp-detail-genres-slot > .show-detail-genres {
    margin:0;
  }
  #recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-source {
    height:22px;
    min-height:22px;
    max-height:22px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
}
@media(min-width:768px) and (max-width:1199px) {
  #recording-program-details.vp-movie-detail-layout.film-detail-view .film-detail-information h1,
  #recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-info h1 {
    height:80px;
    min-height:80px;
    max-height:80px;
    line-height:40px;
  }
  #recording-program-details.vp-movie-detail-layout.film-detail-view .film-detail-information h1.vp-detail-title-long,
  #recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-info h1.vp-detail-title-long {
    font-size:28px;
  }
  #recording-program-details.vp-movie-detail-layout.film-detail-view .film-detail-information h1.vp-detail-title-very-long,
  #recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-info h1.vp-detail-title-very-long {
    font-size:23px;
  }
}
@media(min-width:1200px) {
  #recording-program-details.vp-movie-detail-layout.film-detail-view .vp-movie-detail-body,
  #recording-program-details.vp-movie-detail-layout.show-detail-view .vp-show-detail-copy {
    padding-top:8px;
  }
}

/* Route underline and keyboard focus are different states. Existing visible
   keyboard/TV outlines remain; this uses the app's established input modality
   instead of depending on newer browser focus-visible support. */
.blue-live-header[header-nav-focus] .main-nav li a:focus:not(.active) {
  border-bottom-color:transparent;
}
body.account-pointer-input .blue-live-header[header-nav-focus] .main-nav li a:focus {
  outline:0!important;
}

/* Login only. Keep the desktop layout and all other modal windows unchanged. */
@media only screen and (max-width:767px) {
  body.modal-open .modal.vp-login-mobile-window {
    position:fixed; top:0!important; right:0; bottom:0; left:0;
    width:100%; height:100%; margin:0; padding:0!important;
    z-index:100010!important; overflow-x:hidden; overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }
  .vp-login-mobile-window .modal-dialog {
    width:100%; max-width:none; height:auto; max-height:none; min-height:100%;
    margin:0; padding:0; overflow:visible;
    -webkit-transform:none!important; -ms-transform:none!important; transform:none!important;
  }
  .vp-login-mobile-window .modal-content {
    height:auto; max-height:none; min-height:100%; overflow:visible;
    margin:0; padding:0; border:0; border-radius:0;
    background:transparent; -webkit-box-shadow:none; box-shadow:none;
  }
  .vp-login-mobile-window .login-modal {
    position:relative; top:auto; right:auto; bottom:auto; left:auto;
    width:100%; min-height:100%; overflow:visible; background:transparent;
  }
  .vp-login-mobile-window .modal-wrap-inner {
    display:block; width:100%; min-height:100%; min-height:100vh;
    padding:12px 12px 36px; -webkit-box-sizing:border-box; box-sizing:border-box;
  }
  .vp-login-mobile-window .login-modal .modal-content-custom {
    position:relative; top:auto; width:100%; min-width:0; max-width:420px;
    margin:0 auto!important; padding:22px 18px 18px;
    -webkit-box-sizing:border-box; box-sizing:border-box;
    -webkit-flex:none; -ms-flex:none; flex:none;
    -webkit-animation:none!important; animation:none!important;
    -webkit-transform:none!important; -ms-transform:none!important; transform:none!important;
    overflow:visible;
  }
  .vp-login-mobile-window .login-modal .modal-close {
    top:8px!important; right:8px; z-index:3;
    width:44px; height:44px; margin:0; background-size:18px;
  }
  .vp-login-mobile-window .login-modal .modal-close:focus {
    outline:2px solid #6ee3d5; outline-offset:1px;
  }
  .vp-login-mobile-window .login-modal .theme-heading { padding-right:36px; }
  .vp-login-mobile-window .login-modal .theme-heading h2 {
    margin:0 0 8px; font-size:28px; line-height:1.2;
  }
  .vp-login-mobile-window .login-modal .login-modal-subtitle {
    margin:0 0 16px; font-size:14px; line-height:1.4;
  }
  .vp-login-mobile-window .login-modal .theme-heading .alert {
    margin:0 0 12px; padding:10px; font-size:14px; line-height:1.4;
    word-wrap:break-word;
  }
  .vp-login-mobile-window .login-modal .themeForm .form-group {
    margin-bottom:12px!important;
  }
  .vp-login-mobile-window .login-modal .themeForm .form-control {
    width:100%; height:48px!important; min-height:48px;
    padding:10px 14px; font-size:16px; color:#f3f0f7!important;
    -webkit-box-sizing:border-box; box-sizing:border-box;
  }
  .vp-login-mobile-window .login-modal .themeForm .submitBtn {
    min-height:48px; height:auto; padding:11px 14px; font-size:18px; line-height:1.4;
  }
  .vp-login-mobile-window .login-modal .themeForm .row {
    display:table; width:100%; margin-left:0; margin-right:0; table-layout:fixed;
  }
  .vp-login-mobile-window .login-modal .themeForm .row > .col-6 {
    display:table-cell; float:none; width:50%; max-width:50%; padding:0;
    vertical-align:middle; font-size:14px; line-height:1.4;
  }
  .vp-login-mobile-window .login-modal .form-check { padding-left:0; }
  .vp-login-mobile-window .login-modal .form-check label {
    display:inline-block; min-height:44px; margin:0; padding:10px 0;
    font-size:14px; line-height:24px;
  }
  .vp-login-mobile-window .login-modal .remember-me-checkbox:checked + label:after {
    top:18px; left:8px!important;
  }
  .vp-login-mobile-window .login-modal .text-end a {
    display:inline-block; min-height:44px; padding:12px 0 12px 8px;
    -webkit-box-sizing:border-box; box-sizing:border-box;
  }
  .vp-login-mobile-window .login-modal .othersLoginSec { padding:12px 0; }
  .vp-login-mobile-window .login-modal .laccTitle {
    margin:0 0 8px!important; font-size:14px; line-height:1.4;
  }
  .vp-login-mobile-window .login-modal .socialLoginBtn {
    min-height:44px; min-width:0; padding:10px 18px; font-size:16px; line-height:22px;
    -webkit-box-sizing:border-box; box-sizing:border-box;
  }
  .vp-login-mobile-window .login-modal .socialLoginBtn img { width:20px; margin-right:10px; }
  .vp-login-mobile-window .login-modal .themeForm .registerBottomSec {
    display:block; margin:14px 0 0!important; padding:12px;
  }
  .vp-login-mobile-window .login-modal .themeForm .registerBottomSec > span {
    display:block; padding:0; font-size:15px; line-height:1.3;
  }
  .vp-login-mobile-window .login-modal .themeForm .registerBottomSec small { font-size:12px; }
  .vp-login-mobile-window .login-modal .themeForm .registerBottomSec .registerTxtbtn {
    display:block; width:100%; min-height:44px; margin-top:10px; padding:10px 12px;
    font-size:16px; line-height:24px; -webkit-box-sizing:border-box; box-sizing:border-box;
  }
}
@media only screen and (max-width:359px) {
  .vp-login-mobile-window .login-modal .themeForm .row > .col-6 {
    display:block; width:100%; max-width:100%; text-align:left;
  }
  .vp-login-mobile-window .login-modal .text-end a { padding-left:0; }
}
/* Optional safe-area enhancement; the ordinary px/vh layout above is complete. */
@supports (padding-top:env(safe-area-inset-top)) {
  @media only screen and (max-width:767px) {
    .vp-login-mobile-window .modal-wrap-inner {
      padding-top:calc(12px + env(safe-area-inset-top));
      padding-bottom:calc(36px + env(safe-area-inset-bottom));
    }
  }
}

/* The guide intentionally hides background app-main-view panels. Its legacy
   selector also matches the nested reminders panel; reveal only this window. */
body.guide-route-active .vp-reminders-window .modal_overlay_small .app-main-view {
  visibility:visible;
}

/* The old reminders card has a 400px minimum width. Keep its desktop geometry
   and use a narrower card with a scrollable table on phones. */
@media only screen and (max-width:767px) {
  .vp-reminders-window .modal_overlay_small {
    width:94%!important;
    min-width:0!important;
    -webkit-box-sizing:border-box;
    box-sizing:border-box;
  }
  .vp-reminders-window .modal_overlay_small .textpage-content {
    padding:48px 16px 20px;
  }
  .vp-reminders-window .modal_overlay_small .textpage-content h1 {
    font-size:26px;
    line-height:1.2;
  }
  .vp-reminders-window .modal_overlay_small .popover_table {
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
}

/* detail-compact-actions-v1 */
@media(min-width:768px) {
  #recording-program-details.vp-movie-detail-layout .vp-detail-description-slot {
    min-height:104px;
    padding-bottom:0;
  }
  #recording-program-details.vp-movie-detail-layout .vp-detail-progress-slot {
    min-height:40px;
  }
  #recording-program-details.vp-movie-detail-layout.film-detail-view .film-detail-information,
  #recording-program-details.vp-movie-detail-layout.show-detail-view .show-detail-source {
    margin-bottom:8px;
  }
}

/* Selected compact recordings cards. Scoped; legacy layout fallbacks first. */
body .recordings-cards-design .my-recordings-panel { padding:24px 32px 16px !important; font-family:Aino,Arial,sans-serif; }
body .recordings-cards-design .recording-close { top:10px; right:12px; }
body .recordings-cards-design .recording-cards-heading { display:table; table-layout:fixed; width:100%; padding-right:52px; margin:0 0 16px; flex-shrink:0; box-sizing:border-box; }
body .recordings-cards-design .recording-cards-title { display:table-cell; vertical-align:middle; padding-right:20px; }
body .recordings-cards-design .recording-cards-title-line h1 { display:inline-block; margin:0 16px 0 0; color:#f4f2f7; font:700 26px/34px Aino,Arial,sans-serif; vertical-align:middle; }
body .recordings-cards-design .recording-cards-retention { margin:5px 0 0; padding:0; color:#b4aec2; font-size:14px; line-height:20px; }
body .recordings-cards-design .recording-cards-quota { display:table-cell; vertical-align:middle; width:340px; padding-left:24px; border-left:1px solid #51465f; color:#f4f2f7; }
body .recordings-cards-design .recording-cards-quota-label { font-size:15px; line-height:22px; }
body .recordings-cards-design .recording-cards-quota-label b { font-size:15px; font-weight:700; }
body .recordings-cards-design .recording-cards-quota-bar { height:7px; margin:6px 0; border-radius:5px; background:#0f0b19; overflow:hidden; }
body .recordings-cards-design .recording-cards-quota-bar > span { display:block; height:100%; background:#62dbc9; }
body .recordings-cards-design .recording-cards-tools { display:table; width:100%; margin:0 0 16px; flex-shrink:0; }
body .recordings-cards-design .recording-cards-filters { display:table-cell; vertical-align:middle; white-space:nowrap; }
body .recordings-cards-design .recording-cards-filters button { display:inline-block; min-height:44px; margin:0 7px 0 0; padding:9px 16px; border:1px solid #44374f; border-radius:6px; background:#241d32; color:#c3bdcf; font:400 14px/22px Aino,Arial,sans-serif; vertical-align:middle; }
body .recordings-cards-design .recording-cards-filters button:last-child { margin-right:0; }
body .recordings-cards-design .recording-cards-filters button.active { border-color:#62dbc9; background:#62dbc9; color:#10362f; font-weight:700; }
body .recordings-cards-design .recording-cards-tool-end { display:table-cell; text-align:right; vertical-align:middle; white-space:nowrap; }
body .recordings-cards-design .recording-cards-sort { display:inline-block; position:relative; margin:0; vertical-align:middle; font-weight:400; }
body .recordings-cards-design .recording-cards-sort select { display:block; width:236px; height:44px; padding:9px 34px 9px 12px; border:1px solid #44374f; border-radius:6px; background:#241d32; color:#f4f2f7; font:400 14px/22px Aino,Arial,sans-serif; -webkit-appearance:none; -moz-appearance:none; appearance:none; }
body .recordings-cards-design .recording-cards-sort select::-ms-expand { display:none; }
body .recordings-cards-design .recording-cards-sort .icon { position:absolute; right:12px; top:0; line-height:44px; font-size:14px; color:#c3bdcf; pointer-events:none; }
body .recordings-cards-design .recording-cards-scroll { display:inline-block; vertical-align:middle; }
body .recordings-cards-design .recording-cards-scroll button { display:inline-block; width:44px; height:44px; margin-left:5px; padding:0; border:1px solid #44374f; border-radius:6px; background:#241d32; color:#62dbc9; font-size:28px; line-height:42px; vertical-align:middle; }
body .recordings-cards-design .recording-card-grid { display:block; margin:0 -6px; font-size:0; }
body .recordings-cards-design .recording-card-slot { display:inline-block; width:50%; padding:0 6px 12px; box-sizing:border-box; vertical-align:top; }
body .recordings-cards-design .recording-card { display:block; position:relative; min-height:116px; padding:10px 60px 10px 188px; box-sizing:border-box; border:1px solid #44374f; border-radius:8px; background:#241d32; color:#f4f2f7; font-size:14px; cursor:pointer; }
body .recordings-cards-design .recording-card:hover { border-color:#76667e; background:#2a2239; }
body .recordings-cards-design .recording-card:focus { border-color:#62dbc9; outline:2px solid #62dbc9; outline-offset:-2px; }
body .recordings-cards-design .recording-card.recording-selected { border-color:#62dbc9; }
body .recordings-cards-design .recording-card-image { display:block; position:absolute; left:10px; top:10px; width:166px; height:94px; border-radius:5px; overflow:hidden; background:#171222; }
body .recordings-cards-design .recording-card-image img { display:block; width:100%; height:100%; object-fit:cover; }
body .recordings-cards-design .recording-card-copy { display:block; min-width:0; }
body .recordings-cards-design .recording-card-name { display:block; margin:0 0 4px; color:#f4f2f7; font:700 17px/21px Aino,Arial,sans-serif; overflow-wrap:break-word; word-wrap:break-word; }
body .recordings-cards-design .recording-card-channel { margin:0 0 3px; color:#c3bdcf; font-size:14px; line-height:18px; word-wrap:break-word; }
body .recordings-cards-design .recording-card-broadcast { margin:0 0 5px; color:#c3bdcf; font-size:14px; line-height:18px; word-wrap:break-word; }
body .recordings-cards-design .recording-card-availability { margin:0; color:#f4f2f7; font-size:14px; line-height:18px; font-weight:700; }
body .recordings-cards-design .recording-card-ready { color:#62dbc9; }
body .recordings-cards-design .recording-card-scheduled { color:#e4c282; }
body .recordings-cards-design .recording-card-start { font-weight:400; }
body .recordings-cards-design .recording-card-more { position:absolute; right:7px; top:2px; width:44px; height:44px; padding:0; border:0; border-radius:5px; background:transparent; color:#e6e0ee; font-size:27px; line-height:44px; }
body .recordings-cards-design .recording-card-open { position:absolute; right:9px; bottom:13px; width:44px; height:44px; padding:0 0 0 2px; border:1px solid #897b97; border-radius:50%; background:transparent; color:#f4f2f7; font-size:20px; line-height:42px; }
body .recordings-cards-design .recording-card-open .icon { color:#f4f2f7; }
body .recordings-cards-design .recording-card-details { padding-left:0; font-size:24px; }
body .recordings-cards-design .recording-card-open:hover, body .recordings-cards-design .recording-card-more:hover { background:#3b304a; border-color:#62dbc9; }
body .recordings-cards-design .recording-card-has-menu { z-index:3; }
body .recordings-cards-design .recording-card-actions-menu { position:absolute; top:42px; right:8px; z-index:4; min-width:190px; max-width:calc(100% - 16px); padding:5px; border:1px solid #71617f; border-radius:6px; background:#30253f; box-shadow:0 5px 16px rgba(0,0,0,.3); cursor:default; }
body .recordings-cards-design .recording-card-actions-menu button { display:block; width:100%; min-height:44px; padding:9px 12px; border:0; border-radius:3px; background:transparent; color:#f4f2f7; text-align:left; font:400 14px/22px Aino,Arial,sans-serif; }
body .recordings-cards-design .recording-card-actions-menu button:hover { background:#453653; }
body .recordings-cards-design .recording-card-actions-menu .icon { margin-right:9px; font-size:22px; vertical-align:middle; }
body .recordings-cards-design .recording-card-delete-confirm p { margin:7px 10px; color:#f4f2f7; font-size:14px; line-height:20px; }
body .recordings-cards-design button:focus, body .recordings-cards-design select:focus { outline:2px solid #62dbc9; outline-offset:2px; }
body .recordings-cards-design .recording-empty { padding:24px 8px; font-size:14px; }
@media (max-width:1199px) {
  body .recordings-cards-design .recording-cards-scroll { display:none; }
  body .recordings-cards-design .recording-cards-quota { width:285px; padding-left:18px; }
}
@media (max-width:1023px) and (min-width:768px) {
  body .recordings-cards-design .recording-card-slot { width:100%; }
  body .recordings-cards-design .recording-cards-heading { display:block; padding-right:40px; }
  body .recordings-cards-design .recording-cards-title { display:block; padding-right:0; }
  body .recordings-cards-design .recording-cards-quota { display:block; width:100%; padding:0; border:0; margin-top:10px; }
  body .recordings-cards-design .recording-cards-quota-label { display:inline-block; vertical-align:middle; margin-right:12px; }
  body .recordings-cards-design .recording-cards-quota-bar { display:inline-block; width:160px; vertical-align:middle; margin:0 12px 0 0; }
  body .recordings-cards-design .recording-cards-filters button { padding:9px 12px; }
  body .recordings-cards-design .recording-cards-sort select { width:215px; }
}
@media (max-width:767px) {
  body .recordings-cards-design .my-recordings-panel { padding:16px 16px 12px !important; }
  body .recordings-cards-design .recording-close { top:6px; right:3px; }
  body .recordings-cards-design .recording-cards-heading { display:block; padding-right:0; margin-bottom:10px; }
  body .recordings-cards-design .recording-cards-title { display:block; padding:0; }
  body .recordings-cards-design .recording-cards-title-line { padding-right:32px; white-space:nowrap; }
  body .recordings-cards-design .recording-cards-title-line h1 { margin-right:9px; font-size:22px; line-height:30px; }
  body .recordings-cards-design .recording-cards-retention { margin-top:3px; font-size:14px; line-height:18px; }
  body .recordings-cards-design .recording-cards-quota { display:block; position:relative; width:100%; margin-top:10px; padding:0; border:0; }
  body .recordings-cards-design .recording-cards-quota-label { padding-right:0; font-size:14px; line-height:20px; }
  body .recordings-cards-design .recording-cards-quota-label b { font-size:14px; }
  body .recordings-cards-design .recording-cards-quota-bar { margin:6px 0 0; height:7px; }
  body .recordings-cards-design .recording-cards-tools { display:block; margin-bottom:12px; }
  body .recordings-cards-design .recording-cards-filters { display:table; width:100%; table-layout:fixed; margin-bottom:8px; border-collapse:separate; border-spacing:5px 0; }
  body .recordings-cards-design .recording-cards-filters button { display:table-cell; width:auto; margin:0 5px 0 0; padding:8px 9px; min-height:44px; font-size:12px; line-height:20px; }
  body .recordings-cards-design .recording-cards-filters button:last-child { margin-right:0; }
  body .recordings-cards-design .recording-cards-tool-end { display:block; text-align:left; }
  body .recordings-cards-design .recording-cards-sort { display:block; width:100%; }
  body .recordings-cards-design .recording-cards-sort select { width:100%; height:44px; }
  body .recordings-cards-design .recording-cards-scroll { display:none; }
  body .recordings-cards-design .recording-card-grid { margin:0; }
  body .recordings-cards-design .recording-card-slot { display:block; width:100%; padding:0 0 12px; }
  body .recordings-cards-design .recording-card { min-height:0; padding:0; }
  body .recordings-cards-design .recording-card-image { position:relative; top:auto; left:auto; width:100%; height:132px; border-radius:7px 7px 0 0; }
  body .recordings-cards-design .recording-card-copy { min-height:83px; padding:8px 62px 10px 12px; }
  body .recordings-cards-design .recording-card-name { margin-bottom:3px; font-size:16px; line-height:19px; }
  body .recordings-cards-design .recording-card-channel { margin-bottom:2px; font-size:14px; line-height:17px; }
  body .recordings-cards-design .recording-card-broadcast { margin-bottom:3px; font-size:12px; line-height:17px; }
  body .recordings-cards-design .recording-card-availability { font-size:14px; line-height:18px; }
  body .recordings-cards-design .recording-card-open { right:10px; bottom:17px; }
  body .recordings-cards-design .recording-card-more { right:5px; top:3px; background:rgba(18,13,28,.8); }
}
@media (max-width:374px) {
  body .recordings-cards-design .recording-cards-title-line { white-space:normal; }
  body .recordings-cards-design .recording-cards-title-line h1 { display:block; padding-right:32px; }
  body .recordings-cards-design .recording-cards-filters { display:block; white-space:normal; border-spacing:0; }
  body .recordings-cards-design .recording-cards-filters button { display:inline-block; margin-bottom:5px; padding:8px 10px; }
}

/* Hidden-channel settings must bound every logo, including newly added IDs.
   Reset the old per-channel crop positions only in this settings list. Intrinsic
   auto sizing plus max bounds preserves proportions without object-fit. */
.account-area .account-channel-preferences .account-channel-logo > span {
  position:relative; display:block; width:72px; max-width:100%; height:34px;
  line-height:34px; margin:0 auto; overflow:hidden; font-size:0; text-align:center;
  -webkit-transform:none; -ms-transform:none; transform:none;
}
.account-area .account-channel-preferences .account-channel-logo img {
  position:static; display:inline-block; left:auto; top:auto; right:auto; bottom:auto;
  width:auto; height:auto; min-width:0; max-width:100%; max-height:34px;
  margin:0; vertical-align:middle;
  -webkit-transform:none; -ms-transform:none; transform:none;
}

/* The shared More grid fills its existing pane. Keep the original inline-block
   cards, 2:3 image ratio, scroll owner, title overlays and hover behavior. */
#program-search-modal.film-more-view.vp-poster-cards .shows-list-right-wrapper {
  width:100%; max-width:none; margin:0;
}
#program-search-modal.film-more-view.vp-poster-cards .show-item.movie-item {
  width:50%!important; max-width:50%!important; min-width:0; box-sizing:border-box;
}
@media (min-width:600px) {
  #program-search-modal.film-more-view.vp-poster-cards .show-item.movie-item { width:33.3333%!important; max-width:33.3333%!important; }
}
@media (min-width:900px) {
  #program-search-modal.film-more-view.vp-poster-cards .show-item.movie-item { width:25%!important; max-width:25%!important; }
}
@media (min-width:1200px) {
  #program-search-modal.film-more-view.vp-poster-cards .show-item.movie-item { width:20%!important; max-width:20%!important; }
}
@media (min-width:1600px) {
  #program-search-modal.film-more-view.vp-poster-cards .show-item.movie-item { width:16.6666%!important; max-width:16.6666%!important; }
}
@media (min-width:2200px) {
  #program-search-modal.film-more-view.vp-poster-cards .show-item.movie-item { width:14.2857%!important; max-width:14.2857%!important; }
}
@media (min-width:2500px) {
  #program-search-modal.film-more-view.vp-poster-cards .show-item.movie-item { width:12.5%!important; max-width:12.5%!important; }
}
@media (min-width:3000px) {
  #program-search-modal.film-more-view.vp-poster-cards .show-item.movie-item { width:10%!important; max-width:10%!important; }
}
@media (min-width:3600px) {
  #program-search-modal.film-more-view.vp-poster-cards .show-item.movie-item { width:8.3333%!important; max-width:8.3333%!important; }
}

/* Selected compact helpdesk, scoped to avoid the legacy corner-widget hooks. */
.hdc-root { font-family: Raleway, Arial, sans-serif; }
.hdc-root button, .hdc-root input, .hdc-root select, .hdc-root textarea { font-family: inherit; box-sizing: border-box; }
.hdc-root .hdc-trigger { position: fixed; right: 20px; bottom: 28px; z-index: 10020; width: 62px; height: 62px; margin: 0; padding: 0; border: 1px solid #61d7c8; border-radius: 50%; background: #61d7c8; color: #102d32; cursor: pointer; text-align: center; box-shadow: 0 3px 14px rgba(0,0,0,.25); }
.hdc-trigger i { display: block; font-size: 38px; line-height: 60px; }
.hdc-root .hdc-panel { position: fixed; right: 20px; bottom: 100px; z-index: 10021; width: 400px; max-height: 80%; max-height: calc(100% - 120px); margin: 0; padding: 22px; overflow-x: hidden; overflow-y: auto; box-sizing: border-box; background: #1b1728; background-image: linear-gradient(145deg, #261e36 0, #1b1728 55%); color: #f5f3fa; border: 1px solid #51445f; border-radius: 16px; box-shadow: 0 10px 32px rgba(0,0,0,.3); text-align: left; }
.hdc-panel.ng-hide { display: none !important; }
.hdc-root .hdc-close { position: absolute; top: 9px; right: 9px; width: 40px; height: 40px; margin: 0; padding: 0; background: rgba(255,255,255,.04); color: #d9d3e3; border: 0; border-radius: 50%; cursor: pointer; }
.hdc-close i { display: block; font-size: 36px; line-height: 38px; }
.hdc-heading { margin: 0 30px 16px 0; padding: 0; }
.hdc-root .hdc-heading h2 { margin: 0 0 5px; padding: 0; font-family: inherit; font-size: 26px; font-weight: 700; line-height: 1.25; color: #f5f3fa; }
.hdc-root .hdc-heading p { margin: 0; font-size: 16px; line-height: 1.4; color: #b9b0c9; }
.hdc-form { margin: 0; padding: 0; font-size: 14px; }
.hdc-field { min-width: 0; margin: 0 0 12px; padding: 0; }
.hdc-root .hdc-field label { display: block; margin: 0 0 6px; padding: 0; font-size: 14px; line-height: 20px; font-weight: 600; color: #f5f3fa; }
.hdc-root .hdc-field input, .hdc-root .hdc-field select, .hdc-root .hdc-field textarea { display: block; width: 100%; min-width: 0; height: 44px; margin: 0; padding: 10px 13px; border: 1px solid #655672; border-radius: 8px; background: #161021; color: #e8e2f0; font-size: 15px; font-weight: 400; line-height: 22px; text-align: left; box-shadow: none; }
.hdc-email-wrap { position: relative; display: block; }
.hdc-email-wrap i { position: absolute; top: 8px; left: 13px; font-size: 25px; line-height: 28px; color: #b9b0c9; pointer-events: none; }
.hdc-root .hdc-field .hdc-email-wrap input { padding-left: 43px; }
.hdc-field input::-webkit-input-placeholder, .hdc-field textarea::-webkit-input-placeholder { color: #b9b0c9; opacity: 1; }
.hdc-field input::-moz-placeholder, .hdc-field textarea::-moz-placeholder { color: #b9b0c9; opacity: 1; }
.hdc-field input:-ms-input-placeholder, .hdc-field textarea:-ms-input-placeholder { color: #b9b0c9; }
.hdc-field select option { background: #21182f; color: #f5f3fa; }
.hdc-row { display: block; margin: 0 -7px; }
.hdc-row:after { content: ''; display: table; clear: both; }
.hdc-row .hdc-field { float: left; width: 50%; padding: 0 7px; box-sizing: border-box; }
.hdc-root .hdc-field textarea { height: 110px; min-height: 80px; resize: vertical; }
.hdc-attachment { margin: 0 0 12px; color: #c8b6dd; }
.hdc-root .hdc-file-label { position: relative; display: inline-block; max-width: 100%; min-height: 36px; margin: 0; padding: 5px 0; overflow: hidden; cursor: pointer; font-weight: 400; font-size: 14px; line-height: 26px; vertical-align: middle; }
.hdc-file-label i { margin-right: 8px; font-size: 24px; vertical-align: middle; }
.hdc-file-label input { position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; font-size: 100px; }
.hdc-file-name { display: block; max-width: 100%; margin-top: 4px; font-size: 12px; line-height: 18px; word-wrap: break-word; overflow-wrap: break-word; }
.hdc-actions { text-align: right; white-space: nowrap; }
.hdc-root .hdc-cancel, .hdc-root .hdc-submit { display: inline-block; min-height: 44px; margin: 0; padding: 10px 15px; border: 0; border-radius: 8px; font-size: 14px; font-weight: 500; line-height: 24px; cursor: pointer; vertical-align: middle; }
.hdc-root .hdc-cancel { margin-right: 8px; background: transparent; color: #c8b6dd; }
.hdc-root .hdc-submit { min-width: 180px; background: #61d7c8; color: #102d32; font-weight: 700; }
.hdc-root .hdc-submit:hover, .hdc-root .hdc-trigger:hover { background: #78e2d6; }
.hdc-root .hdc-close:hover, .hdc-root .hdc-cancel:hover { background: rgba(255,255,255,.08); }
.hdc-root button:focus, .hdc-root input:focus, .hdc-root select:focus, .hdc-root textarea:focus { outline: 2px solid #61d7c8; outline-offset: 2px; }
.hdc-file-label:focus-within { outline: 2px solid #61d7c8; outline-offset: 2px; }
.hdc-root button[disabled], .hdc-root input[disabled], .hdc-root select[disabled], .hdc-root textarea[disabled], .hdc-disabled { opacity: .55; cursor: default; }
.hdc-message { margin: 0 0 15px; padding: 10px 12px; border: 1px solid #73607a; border-radius: 6px; font-size: 14px; line-height: 1.45; word-wrap: break-word; }
.hdc-message.alert-danger { background: #3d2532; color: #ffd5db; border-color: #a15d70; }
.hdc-message.alert-success { background: #183a35; color: #b7f3e7; border-color: #427c70; }
@media (max-width: 600px) {
  .hdc-root .hdc-trigger { width: 54px; height: 54px; right: 15px; bottom: 28px; }
  .hdc-trigger i { font-size: 34px; line-height: 52px; }
  .hdc-root .hdc-panel { right: 10px; left: 10px; bottom: 88px; width: auto; max-height: 80%; max-height: calc(100% - 108px); padding: 20px; border-radius: 14px; }
  .hdc-root .hdc-heading h2 { font-size: 24px; }
  .hdc-root .hdc-field input, .hdc-root .hdc-field select, .hdc-root .hdc-field textarea { font-size: 16px; }
  .hdc-root .hdc-cancel, .hdc-root .hdc-submit { padding-left: 12px; padding-right: 12px; }
  .hdc-root .hdc-submit { min-width: 0; }
  .hdc-root .hdc-panel .hdc-field textarea { height: 100px; }
  .hdc-optional { font-size: 13px; }
}
@media (max-height: 540px) {
  .hdc-root .hdc-panel { top: 10px; bottom: 10px; max-height: none; }
  .hdc-root .hdc-trigger { bottom: 12px; }
}

/* Expiry remains visible on the account button; the prompt opens on playback. */
.header .nav-right .account-area-trigger.vp-viewtime-ended { position:relative; box-shadow:0 0 0 2px #edba61; }
.header .vp-expired-account-tag { position:absolute; bottom:-5px; left:50%; width:50px; margin-left:-25px; padding:1px 0; border:1px solid #1a1526; border-radius:7px; background:#edba61; color:#292019; font:700 9px/12px Arial,sans-serif; text-align:center; white-space:nowrap; }
.modal.vp-viewtime-expired-window { top:0!important; right:0; bottom:0; left:0; height:100%; z-index:10040!important; overflow-x:hidden; overflow-y:auto; background:rgba(0,0,0,.55); }
.modal-backdrop.vp-viewtime-expired-backdrop { position:fixed; top:0; right:0; bottom:0; left:0; z-index:10039!important; }
.vp-viewtime-expired-window .modal-dialog { width:440px; max-width:none; height:auto!important; min-height:0; margin:150px auto 30px; }
.vp-viewtime-expired-window .modal-content { height:auto!important; min-height:0; overflow:hidden; border:1px solid #51455f; border-radius:14px; background:#20182d; color:#f6f3fa; box-shadow:0 14px 60px rgba(0,0,0,.45); }
.vp-expired-dialog { position:relative; padding:28px; text-align:left; }
.vp-expired-dialog-close { position:absolute; top:9px; right:11px; width:34px; height:34px; padding:0; border:0; border-radius:50%; background:transparent; color:#c5bdce; font:30px/32px Arial,sans-serif; cursor:pointer; }
.vp-expired-dialog-icon { display:block; margin:0 0 10px; color:#edba61; font-size:28px; line-height:32px; }
.vp-expired-dialog h2 { margin:0 25px 12px 0; color:#f6f3fa; font-family:Raleway,Arial,sans-serif; font-size:24px; line-height:30px; font-weight:700; }
.vp-expired-dialog p { margin:0 0 22px; color:#c7becf; font:15px/23px Raleway,Arial,sans-serif; }
.vp-expired-dialog-actions { text-align:left; }
.vp-expired-dialog-actions button { display:inline-block; box-sizing:border-box; min-height:44px; padding:11px 15px; border:1px solid transparent; border-radius:8px; font:700 14px/20px Raleway,Arial,sans-serif; cursor:pointer; }
.vp-expired-primary { background:#65d6c7; color:#062c2d; }
.vp-expired-secondary { margin-left:9px; background:transparent; color:#76e1d2; }
.vp-expired-dialog button:focus { outline:2px solid #edba61; outline-offset:2px; }
@media (max-width:600px) {
 .vp-viewtime-expired-window .modal-dialog { width:auto; margin:125px 16px 20px; }
 .vp-expired-dialog { padding:24px; }
 .vp-expired-dialog h2 { font-size:21px; line-height:27px; }
 .vp-expired-dialog p { font-size:14px; line-height:22px; }
 .vp-expired-dialog-actions button { font-size:13px; padding:10px 12px; }
}
@media (max-width:760px) {
 .header .nav-right .account-area-trigger.vp-viewtime-ended { position:absolute; }
 .header .vp-expired-account-tag { display:none; }
}

/* Expired-playback navigation validation revision. */

/* Shows share the movie hero; retain only the separate episode list beneath it. */
#recording-program-details.vp-movie-detail-layout.film-detail-view.show-detail-view .show-detail-content {
  padding-top:0;
}
@media(max-width:767px) {
  #recording-program-details.vp-movie-detail-layout.film-detail-view.show-detail-view .show-detail-recordings {
    padding-left:20px;
    padding-right:20px;
  }
}
@media(max-width:479px) {
  #recording-program-details.vp-movie-detail-layout.film-detail-view.show-detail-view .show-detail-recordings {
    padding-left:16px;
    padding-right:16px;
  }
}

/* A programme still is landscape artwork, not a portrait poster. Preserve the
   complete still when no dedicated poster is available. Normal film posters
   and the existing responsive column sizes remain unchanged. */
#recording-program-details.vp-movie-detail-layout.film-detail-view.show-detail-view .vp-movie-detail-poster.vp-detail-poster-fallback {
  height:auto;
}
#recording-program-details.vp-movie-detail-layout.film-detail-view.show-detail-view .vp-movie-detail-poster.vp-detail-poster-fallback img {
  position:static;
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  -webkit-transform:none;
  -ms-transform:none;
  transform:none;
}

/* Keep the unread count above the desktop bell and mobile menu icon. */
.blue-live-header.header .nav-right .notifs-count { top:2px; right:2px; z-index:2; }


body.live-blue-header-layout #header-user-menu.user-modal.account-dropdown {
  background: #1b1627;
  background: linear-gradient(180deg, #2a2039 0, #1b1627 120px);
}
body.live-blue-header-layout #header-user-menu .account-dropdown-close {
  width: 44px;
  height: 44px;
  padding: 0;
}
#header-user-menu .account-dropdown-balance.account-time-expired strong { color: #f5c66c; }

#movies-modal-parent.kids-catalogue #series-shows-list-cont .kids-more {
  display: inline-block;
  margin-left: 10px;
  vertical-align: middle;
}
#movies-modal-parent.kids-catalogue .kids-more-trigger {
  display: inline-block;
  min-height: 32px;
  padding: 4px 6px;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: #f0a06d;
  font: inherit;
  font-size: 14px;
  line-height: 20px;
  cursor: pointer;
}
#movies-modal-parent.kids-catalogue .kids-more-trigger:hover { color: #ffd2ab; }
#movies-modal-parent.kids-catalogue .kids-more-trigger:focus { outline: 2px solid #61d7c8; outline-offset: 2px; }
#movies-modal-parent.kids-catalogue .kids-more-trigger:disabled { cursor: default; opacity: .65; }
#movies-modal-parent.kids-catalogue .kids-more-trigger > i { margin-left: 8px; color: #eee; font-size: 11px; }

/* Compact account dropdown. The summary uses table cells for older browsers. */
body.live-blue-header-layout #header-user-menu.account-dropdown-compact {
  z-index:99999;
  width:360px;
  max-width:calc(100% - 24px);
  padding:20px 20px 7px;
  border:1px solid #494052;
  border-radius:12px;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}
#header-user-menu.account-dropdown-compact .account-dropdown-close {
  z-index:3;
  top:2px;
  right:2px;
}
#header-user-menu.account-dropdown-compact .account-dropdown-close > i {
  display:block;
  font-size:29px;
  line-height:44px;
}
#header-user-menu .account-dropdown-summary {
  display:table;
  table-layout:fixed;
  width:100%;
  padding:2px 32px 15px 0;
  border-bottom:1px solid #393044;
  box-sizing:border-box;
}
#header-user-menu .account-dropdown-summary > div {
  display:table-cell;
  vertical-align:middle;
}
#header-user-menu .account-dropdown-summary-avatar { width:44px; }
#header-user-menu .account-dropdown-summary-avatar .account-avatar {
  width:42px;
  height:42px;
  font-size:16px;
  line-height:42px;
}
#header-user-menu .account-dropdown-summary-name { padding-left:9px; }
#header-user-menu .account-dropdown-summary strong {
  display:block;
  font:600 17px/21px 'Aino-Bold',Arial,sans-serif;
}
#header-user-menu .account-dropdown-summary-name strong {
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#header-user-menu .account-dropdown-summary span:not(.account-avatar) {
  display:block;
  color:#b8b0c4;
  font-size:12px;
  line-height:16px;
}
#header-user-menu .account-dropdown-summary-time {
  width:115px;
  padding-left:5px;
  color:#73e8d8;
  text-align:right;
}
#header-user-menu .account-dropdown-summary-time strong {
  white-space:normal;
  word-wrap:break-word;
}
#header-user-menu .account-dropdown-summary-time.account-time-expired { color:#f5c66c; }
#header-user-menu .account-dropdown-summary-time.account-time-expired strong { font-size:14px; }
#header-user-menu.account-dropdown-compact .account-dropdown-nav {
  margin:0;
  padding:0;
  border:0;
}
#header-user-menu.account-dropdown-compact .account-dropdown-nav a {
  min-height:48px;
  padding:12px 23px 12px 37px;
  font-size:15px;
  line-height:23px;
  box-sizing:border-box;
}
#header-user-menu.account-dropdown-compact .account-dropdown-nav a > i:first-child {
  left:0;
  top:12px;
  width:23px;
  font-size:24px;
  line-height:24px;
}
#header-user-menu.account-dropdown-compact .account-dropdown-nav .account-nav-arrow {
  top:13px;
  right:4px;
  font-size:12px;
}
#header-user-menu.account-dropdown-compact .account-dropdown-nav a[href="/#/viewtime"]:before {
  position:absolute;
  top:12px;
  bottom:12px;
  left:-11px;
  width:2px;
  border-radius:2px;
  background:#74e6d4;
  content:"";
}
#header-user-menu.account-dropdown-compact .account-dropdown-nav .account-logout {
  margin-top:0;
  border:0;
}
@media (max-width:700px) {
  body.live-blue-header-layout #header-user-menu.account-dropdown-compact {
    left:8px;
    right:8px;
    width:auto;
    max-width:360px;
    margin-left:auto;
    padding-right:14px;
    padding-left:14px;
  }
  #header-user-menu .account-dropdown-summary { padding-right:36px; }
}
@media (max-width:360px) {
  #header-user-menu .account-dropdown-summary-time { width:105px; }
  #header-user-menu .account-dropdown-summary strong { font-size:15px; }
}
