/* Show Banner */
#playertop {
  width: 100%;
  max-height: 360px;
  overflow: hidden;
  margin-bottom: 0px;
}

#playertop img {
  width: 100%;
  height: auto;
  display: block;
}

/* Video Container */
#videocontainer {
  padding: 0;
  background: transparent;
  margin-bottom: 0px;
}

/* Player and Details Side by Side */
#player_container,
#details_container {
  display: inline-block;
  vertical-align: top;
}

#player_container {
  width: 58%;
  margin-right: 2%;
  position: relative;
  background-color: #000;
}

#details_container {
  width: 38%;
  padding: 0 1%;
}

#videotoolswrap {
  display: block;
  padding: 0 10px;
  font-size: 12px;
  line-height: 35px;
  margin: 0;
}

#videotoolswrap::after {
  content: "";
  display: table;
  clear: both;
}

#sharetools {
  display: block;
  position: relative;
  width: 200px;
  min-width: 200px;
  height: 35px;
  float: left;
  margin: 0;
  padding: 0;
  overflow: visible;
  line-height: 35px;
}

#sharebtn {
  display: inline-block;
  color: #efefef;
  cursor: pointer;
  white-space: nowrap;
}

#sharebtn .icon.billboard {
  display: inline-block;
  position: relative;
  width: 46.2422px;
  height: 35px;
  margin-right: 8px;
  vertical-align: middle;
}

#sharebtn .icon.billboard svg {
  width: 16px !important;
  height: 17px !important;
  padding: 0 0 5px 0;
  display: inline;
  fill: currentColor;
  vertical-align: middle;
}

#cw-share-menu {
  display: none;
  position: absolute;
  top: 35px;
  background: #171717;
  border: 1px solid #414141;
  padding: 10px;
  margin: 0 0 8px 0;
  z-index: 700;
  max-width: 220px;
}

#cw-share-buttons a {
  display: block;
  width: 35px;
  height: 35px;
  margin: 0 4px;
  float: left;
  border-radius: 17.5px;
  background: #6a6a6a url('/images/followus-buttons.png') no-repeat 0 0;
  text-indent: -9999px;
  overflow: hidden;
}

#cw-share-buttons a.facebook { background-position: 0 0; }
#cw-share-buttons a.twitter { background-position: -35px 0; }
#cw-share-buttons a.pinterest { background-position: -105px 0; }
#cw-share-buttons a.share-embed { background-position: -70px 0; }

#cw-share-options {
  display: none;
  padding: 10px 0 5px 0;
}

#videohelp {
  display: block;
  height: 35px;
  line-height: 35px;
  float: right;
  margin: 0;
  padding: 0;
}

#videohelp a {
  color: #727272;
  text-decoration: underline;
  font-weight: 400;
  line-height: 35px;
}

#videocontainer.theater-mode {
  display: block;
}

#videocontainer.theater-mode #player_container {
  width: 100% !important;
  margin-right: 0;
}

#videocontainer.theater-mode #details_container {
  width: 100%;
  padding: 2% 2% 0;
  margin-top: 12px;
}

#player_container #videocontainerwrap {
  padding-top: 56.25%;
  /* 16:9 aspect ratio */
  position: relative;
  width: 100%;
  height: 0;
  background: #000;
}

#cw-player {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* Details Container */
#details_container h3 {
  font-size: 24px;
  font-weight: 600;
  margin: 0 0 10px 0;
  color: #000;
}

#details_container p {
  font-size: 14px;
  color: #666;
  margin: 8px 0;
  line-height: 1.5;
}

#details_container p.desc {
  color: #333;
  margin-top: 15px;
}

.clearboth {
  clear: both;
}

/* Tab Navigation - mostly handled by inline styles */

/* Season Filters */
#seasons {
  padding: 2px;
  line-height: normal;
  color: rgb(0, 0, 0);
  border: 0px none rgb(0, 0, 0);
  padding-bottom: 20px !important;
}

#seasons .tab-button,
#seasons .season-filter {
  font-size: 22px;
  padding: 8px 16px;
  margin-right: 20px;
}

/* Active season button style */
#seasons .tab-button:first-child,
  #seasons .season-filter.active,
  #seasons .tab-button.active {
  background-color: rgba(108, 123, 128, 0.8);
}

/* Inactive season buttons */
#seasons .tab-button:not(:first-child):not(.active),
  #seasons .season-filter:not(.active) {
  background-color: transparent;
}

/* Video Grid Container */
#video-thumbs-container {
  /* padding: 20px 0; */
  margin-top: 20px;
}

.videothumbslist {
  padding: 0;
}

.playlist-title {
  font-size: 24px;
  font-weight: 500;
  margin-bottom: 20px;
  color: #000;
}

.playlist-title .epcount {
  font-weight: 400;
  color: #666;
  margin-left: 10px;
}

/* Episode Grid */
.touchcarousel-container {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  list-style: none;
  padding: 0;
  margin: 0;
}

/* Episode Thumbnail Items */
.bbitem,
.bbitem.touchcarousel-item,
li.upcoming.bbxitem {
  position: relative;
  transition: transform 0.2s ease;
  display: block;
  line-height: normal;
  color: rgb(0, 0, 0);
}

.bbitem:hover,
  .bbitem.touchcarousel-item:hover {
  transform: scale(1.05);
  z-index: 10;
}

/* Currently Playing Episode */
.bbitem.isplaying .thumbLink,
.bbitem.touchcarousel-item.current .thumbLink {
  border: 1px solid rgb(255, 69, 0);
  background-color: rgb(25, 25, 25);
}

.bbitem .thumbLink,
li.upcoming.bbxitem .thumbLink {
  display: block;
  text-decoration: none;
  color: rgb(0, 0, 238);
  border-radius: 0;
  overflow: visible;
}

.bbitem .videoimage,
li.upcoming.bbxitem .videoimage {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%;
  /* 16:9 aspect ratio */
  overflow: hidden;
  background: rgb(0, 0, 0);
  border-radius: 0;
}

.bbitem .videoimage img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: inline;
  background-color: rgb(0, 0, 0);
}

/* Video play button overlay - positioned within videoimage */
.bbitem .videoimage .videoplayhover2 {
  position: absolute;
  width: 49px;
  height: 49px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: url("/images/video-thumb-play.png") no-repeat 0 0;
  z-index: 5;
  pointer-events: none; /* Allow clicks to pass through to the link */
}

/* Video Details - Always Visible */
.bbitem .videodetails1,
li.upcoming.bbxitem .videodetails1 {
  position: relative;
  padding: 6px 8px 2px;
  min-height: 52px;
  background-color: rgb(5, 12, 13);
  color: rgb(255, 255, 255);
  overflow: visible;
  line-height: normal;
}

.bbitem .videodetails1 .eptitle {
  font-size: 16px;
  font-weight: 500;
  margin: 0 4px;
  color: rgb(255, 255, 255);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: normal;
}

.bbitem .videodetails1 .videoinfo {
  font-size: 12px;
  color: rgb(167, 167, 167);
  margin: 0 4px;
  line-height: normal;
}

/* Hover Details - Hidden by default */
.bbitem .videodetails {
  display: none;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(255, 255, 255, 0.98);
  padding: 15px;
  box-shadow: 0 -2px 10px rgba(0,0,0,0.1);
  border-radius: 0 0 4px 4px;
  z-index: 20;
}

.bbitem:hover .videodetails {
  display: block;
}

.bbitem .videodetails .et {
  font-size: 14px;
  font-weight: 600;
  margin: 0 0 5px 0;
  color: #000;
}

.bbitem .videodetails .d2 {
  font-size: 12px;
  color: #666;
  margin: 0 0 8px 0;
}

.bbitem .videodetails .d3 {
  font-size: 12px;
  color: #333;
  line-height: 1.4;
  margin: 0;
}

.bbitem .videodetails .d4 {
  font-size: 11px;
  color: #999;
}

/* About Section */
#about-the-show {
  padding: 0;
  margin-top: 10px;
  line-height: normal;
}

#about-the-show .synopsis {
  max-width: none;
  width: 95%;
  display: inline-block;
  vertical-align: top;
  line-height: 1.5;
  color: rgb(250, 250, 250);
}

#about-the-show .synopsis p {
  font-size: 16px;
  line-height: 1.5;
  color: rgb(250, 250, 250);
  margin: 16px 0;
}

#about-the-show .synopsis h3,
#about-the-show .synopsis h3.d-header {
  border-bottom: 1px solid rgb(250, 250, 250) !important;
  font-size: 16px;
  font-weight: 500;
  color: rgb(250, 250, 250);
  margin: 0;
  padding: 16px 0 0;
  border: none;
  display: inline-block;
  line-height: 36px;
}

/* Social Media Follow Buttons */
#about-the-show #cw-followus {
  display: block;
  max-width: 310px;
  margin: 10px 10px 5px 0;
}

#about-the-show #cw-followus .fulinks {
  display: block;
}

#about-the-show #cw-followus .fulinks a {
  display: inline-block;
  width: 35px;
  height: 35px;
  margin: 0 5px 7px 0;
  background: rgb(106, 106, 106) url("/images/followus-buttons.png") no-repeat;
  text-decoration: none;
  text-indent: -9999px; /* Hide text */
}

#about-the-show #cw-followus .fulinks a.facebook {
  background-position: 0 0;
}

#about-the-show #cw-followus .fulinks a.twitter {
  background-position: -35px 0;
}

#about-the-show #cw-followus .fulinks a.instagram {
  background-position: -70px 0;
}

#about-the-show #cw-followus .fulinks a:hover {
  opacity: 0.8;
}

/* Responsive Breakpoints */
@media (max-width:1200px) {
  .touchcarousel-container {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width:900px) {
  .touchcarousel-container {
    grid-template-columns: repeat(2, 1fr);
  }
  
  #playertop {
    max-height: 200px;
  }
  
  #player_container,
  #details_container {
    display: block;
    width: 100%;
    margin: 0;
  }
  
  #details_container {
    margin-top: 20px;
    padding: 0;
  }
}

@media (max-width:600px) {
  .touchcarousel-container {
    grid-template-columns: 1fr;
    gap: 15px;
  }
  
  #playertop {
    max-height: 150px;
  }
  
  #player_container,
  #details_container {
    display: block;
    width: 100%;
    margin: 0;
  }
  
  #details_container {
    margin-top: 20px;
    padding: 0;
  }
  
  #seasons .tab-button,
  #seasons .season-filter {
    font-size: 18px;
    padding: 7px 14px;
    margin-right: 10px;
  }
  
  .playlist-title {
    font-size: 20px;
  }
  
  #about-the-show .synopsis p {
    font-size: 14px;
  }
}

body#shows.cw-shows-bg.cw-unified {
  background-image: none;
}

#playertop {
  padding: 0;
  position: relative;
  background-color: transparent;
}

#playertop img {
  width: 100%;
  height: auto;
}

#video-header {
  padding: 0.5em 0 0.5em 0;
  overflow: hidden;
  /* clearfix */
  margin: 0;
  line-height: normal;
  color: #000;
  /* Match live site */
  border: 0;
}

/* Clearfix for float layouts */
.clearfix:after,
  #video-header:after {
  content: "";
  display: table;
  clear: both;
}

.clearfix,
#video-header {
  zoom: 1;
  /* For IE 6/7 */
}

.banner-gradient {
  height: 25%;
  width: 100%;
  position: absolute;
  bottom: 0;
  background-image: linear-gradient(to bottom, rgba(25,25,25,0), rgba(25,25,25,0.67), rgba(0,0,0,1));
  z-index: 2;
}

#player_container #videocontainerwrap {
  padding-top: 56.25%;
  vertical-align: middle;
  position: relative;
  display: inline-block;
  width: 100%;
  height: 0;
  background: #000;
}

#player_container iframe#player,
#player_container #cw-player {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* Front Card Container (for loading/pre-roll states) */
#frontcardContainer {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  z-index: 90;
}

/* Video Player Styles from bc-video-1.css */
.primaryColorBg {
  background-color: #ff4500 !important;
}

.primaryColorBg:hover {
  background-color: #cc3600 !important;
}

.secondaryColorBg {
  background-color: #ffff00 !important;
}

.blackColorBg {
  background-color: #000 !important;
}

.blackColorBgOpacity40 {
  background-color: rgba(0, 0, 0, 0.4) !important;
}

.blackColorBgOpacity60 {
  background-color: rgba(0, 0, 0, 0.6) !important;
}

.blackColorBgOpacity80 {
  background-color: rgba(0, 0, 0, 0.8) !important;
}

/* Front Card Styles */
#frontcardContainer .primaryColorBg {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

#frontcardContainer .action-button {
  font-family: 'Roboto', sans-serif;
  font-size: 14px;
  font-weight: 500;
  text-transform: uppercase;
  padding: 10px 20px;
  border: none;
  border-radius: 3px;
  cursor: pointer;
  color: #fff;
}

/* Resume/Loading States */
#frontcardContainer .resume-container {
  text-align: center;
  color: #fff;
}

#frontcardContainer .resume-text {
  margin-bottom: 20px;
  font-size: 16px;
}

/* Countdown Timer */
.countdown-timer {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 60px;
  height: 60px;
}

.countdown-timer svg {
  transform: rotate(-90deg);
  width: 100%;
  height: 100%;
}

.countdown-timer circle {
  fill: none;
  stroke: #fff;
  stroke-width: 3;
  stroke-dasharray: 188.4;
  stroke-dashoffset: 0;
  animation: countdown 10s linear;
}

@keyframes countdown {
  from {
    stroke-dashoffset: 0;
  }
  
  to {
    stroke-dashoffset: 188.4;
  }
}


/* Squeezeback */
.squeezeback-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 30%;
  background: linear-gradient(to top, rgba(0,0,0,0.9), transparent);
  z-index: 93;
  display: none;
}

.squeezeback-overlay.show {
  display: block;
}

/* Loading Spinner */
.spinner-container {
  width: 100px;
  height: 100px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.spinner-container.active {
  animation: container-rotate 1568ms linear infinite;
}

@keyframes container-rotate {
  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}

.spinner-layer {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
  animation: layer-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
}

@keyframes layer-fade-in-out {
  0%, 25% {
    opacity: 0;
  }
  
  26%, 89% {
    opacity: 1;
  }
  
  90%, 100% {
    opacity: 0;
  }
}

.spinner-circle {
  box-sizing: border-box;
  position: absolute;
  width: 100%;
  height: 100%;
  border: 3px solid transparent;
  border-radius: 50%;
  border-color: #ff4500 transparent transparent transparent;
  animation: left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
}

@keyframes left-spin {
  0% {
    transform: rotate(130deg);
  }
  
  50% {
    transform: rotate(-5deg);
  }
  
  100% {
    transform: rotate(130deg);
  }
}

#video-thumbs-container,
#about-the-show {
  opacity: 0;
  height: 0;
  margin-top: 10px;
  overflow: hidden;
  transition: opacity 0.25s ease-in-out;
  -moz-transition: opacity 0.25s ease-in-out;
  -webkit-transition: opacity 0.25s ease-in-out;
}

#video-thumbs-container.visible,
#about-the-show.visible {
  opacity: 1;
  height: auto;
  overflow: visible;
}

/* When container is visible, show the videothumbslist inside */
#video-thumbs-container.visible .videothumbslist {
  opacity: 1;
  height: auto;
  overflow: visible;
}

#about-the-show .synopsis {
  display: inline-block;
  vertical-align: top;
  padding: 0;
  width: 95%;
  line-height: 150%;
  color: rgb(250, 250, 250);
}

.tab-button {
  display: block;
  float: left;
  padding: 8px 16px;
  margin: 0 20px 0 0;
  width: auto;
  text-align: left;
  cursor: pointer;
  color: #fff;
  font-size: 22px;
  font-weight: 400;
  font-family: 'Rajdhani', sans-serif !important;
  border: 2px solid transparent;
  border-radius: 6px;
  background: transparent;
  line-height: normal;
  transition: all;
}

#seasons {
  overflow: hidden;
  padding: 2px;
}

.tab-button span {
  vertical-align: middle;
}

.tab-button:hover,
  .tab-button.active {
  color: #fff;
  background-color: var(--color-cw-grey-salt-80);
  font-weight: 400;
  /* Keep same font-weight */
}

#player_container,
#details_container {
  height: auto !important;
  width: 49% !important;
  display: inline-block;
  vertical-align: top;
  color: #fff;
}

#details_container {
  width: 46% !important;
  padding: 2%;
  color: #fff;
}

#details_container h3 {
  font-size: 22px;
  font-weight: 400;
  margin: 0 0 0.5em 0;
  color: #fff;
}

#details_container p {
  margin: 0;
  font-size: 14px;
  color: #fff;
}

#details_container p.desc {
  font-size: 14px;
  margin-bottom: 0;
  margin-top: 0.5em;
  color: #fff;
}

.videothumbslist .touchcarousel {
  overflow: visible;
}

.touchcarousel li.touchcarousel-item {
  position: relative;
  padding: 0 0 40px 0;
  min-height: 236px;
}

.touchcarousel li.touchcarousel-item div.inner {
  position: relative;
  overflow: visible;
  transition: transform 0.15s ease-out;
}

.videothumbslist a.thumbLink .videodetails1 {
  min-height: 52px;
  background-color: var(--color-cw-black-pepper);
}

li.bbitem.touchcarousel-item p.eptitle {
  font-size: 16px;
  font-weight: 500;
  color: #fff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

li.bbitem.touchcarousel-item:hover p.eptitle {
  white-space: normal;
  overflow: auto;
  text-overflow: unset;
}

li.bbitem.touchcarousel-item p.videoinfo {
  font-size: 12px;
  color: #a7a7a7;
}

li.bbitem.touchcarousel-item .vdesc {
  font-size: 12px;
  display: none;
  padding: 0 8px 10px;
  color: #a7a7a7;
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  background-color: #222222;
}

li.bbitem.touchcarousel-item:hover {
  z-index: 100;
  cursor: pointer;
}

li.bbitem.touchcarousel-item:hover div.inner {
  transform: scale(1.05);
  z-index: 10;
}

li.bbitem.touchcarousel-item .thumbgrow {
  transition: all .1s ease-in-out;
}

li.bbitem.touchcarousel-item:hover .thumbgrow {
  transform: scale(1.05);
  cursor: pointer;
  -webkit-box-shadow: 5px 5px 22px 1px rgba(0,0,0,0.75);
  -moz-box-shadow: 5px 5px 22px 1px rgba(0,0,0,0.75);
  box-shadow: 5px 5px 22px 1px rgba(0,0,0,0.75);
}

li.bbitem.touchcarousel-item:hover .thumbgrow .vdesc {
  display: block;
}

li.bbitem.touchcarousel-item:hover .thumbgrow .videodetails1 {
  background-color: #222222;
}

li.bbitem.touchcarousel-item div.videoimage {
  position: relative;
}

/* Responsive Classes (applied via JavaScript based on viewport width) */
@media (max-width:480px) {
  body {
    --is-w480: true;
  }
}

@media (max-width:768px) {
  body {
    --is-wSmall: true;
  }
}

/* Responsive overrides for small screens */
@media (max-width:768px) {
  #player_container,
  #details_container {
    width: 100% !important;
    display: block !important;
  }
  
  .videothumbslist .touchcarousel {
    padding: 0 4%;
  }
  
  #seasons {
    padding: 0 2%;
  }
  
  .tab-button {
    font-size: 0.9em;
    margin-right: 2%;
    margin-left: 2%;
  }
  
  .touchcarousel li.touchcarousel-item {
    margin-left: auto;
    margin-right: auto;
    width: 300px;
    display: block;
    float: none;
  }
}

/* Original selectors for backwards compatibility */
body.w480 #player_container,
body.w480 #details_container,
body.wSmall #player_container,
body.wSmall #details_container {
  width: 100% !important;
}

body.w480 .videothumbslist .touchcarousel,
body.wSmall .videothumbslist .touchcarousel {
  padding: 0 4%;
}

body.w480 #seasons,
body.wSmall #seasons {
  padding: 0 2%;
}

body.wSmall .tab-button {
  font-size: 0.9em;
  margin-right: 2%;
  margin-left: 2%;
}

body.wSmall .videothumbslist .touchcarousel {
  padding: 0;
}

body.wSmall .touchcarousel li.touchcarousel-item {
  margin-left: auto;
  margin-right: auto;
  width: 300px;
  display: block;
  float: none;
}

/* Upcoming Episode Tile */
li.upcoming .videoimage {
  background-image: url(/images/cw/upcoming-thumbnail-bkgd.jpg);
  background-size: cover;
}

li.upcoming a.thumbLink {
  outline: none !important;
  cursor: default !important;
}

li.upcoming .videoimageoverlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: transparent;
  opacity: 1.0;
  padding: 10% 8% 0 8%;
}

li.upcoming .videoimageoverlay > p {
  color: rgb(255, 69, 0);
  background-color: transparent;
  margin: 0 0 12px 0;
  font-size: 24px;
  text-transform: none;
}

li.upcoming .overlay-lower-clock {
  float: left;
  width: 36%;
}

li.upcoming .overlay-lower-details {
  float: left;
  width: 56%;
}

li.upcoming .overlay-lower-clock img {
  width: 56%;
  margin: 0 0 0 30%;
  height: auto;
}

li.upcoming .overlay-lower-details p {
  font-size: 14px;
  color: #ffffff;
  text-align: left;
  font-weight: 300;
  line-height: 130%;
  margin: 0;
}

li.upcoming .overlay-lower-details p.d {
  font-size: 38px;
  line-height: 105%;
  font-weight: 400;
  letter-spacing: -2px;
}

li.upcoming .overlay-lower-details p.t {
  font-size: 12px;
}

li.upcoming .overlay-lower-details p.ep {
  font-size: 14px;
}

/* You May Also Like Recommendations Section - from legacy cw-unified-24.css */
#video-recommendations-container {
  margin-top: 40px;
  z-index: 1;
  padding: 0 0 40px;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}

#video-recommendations-container h2.recommendations {
  color: #fff;
  font: 20px 'Rajdhani', sans-serif;
  font-weight: 600;
  margin: 0 0 20px 0;
}

#video-recommendations-container .recommendations-list {
  width: 100%;
}

#video-recommendations-container .touchcarousel-container {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: nowrap;
  gap: 12px;
}

#video-recommendations-container li.touchcarousel-item {
  width: calc(16.666% - 10px);
  min-width: 150px;
  position: relative;
  list-style: none;
}

#video-recommendations-container li.touchcarousel-item .inner {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  border: 2px solid transparent;
  border-radius: 6px;
  transition: transform 0.25s ease-out, border-color 0.8s ease;
}

/* Spacer to maintain aspect ratio for absolute positioned inner */
#video-recommendations-container li.touchcarousel-item::before {
  content: '';
  display: block;
  padding-top: 150%; /* 2:3 aspect ratio */
}

#video-recommendations-container .videowrapped {
  padding: 0;
}

#video-recommendations-container div.inner .videowrapped a.thumbLink,
#video-recommendations-container li.bbitem.touchcarousel-item div.inner a.thumbLink,
#video-recommendations-container li.bbitem.touchcarousel-item div.inner div.videoimage,
#video-recommendations-container li.bbitem.touchcarousel-item div.inner img {
  border-radius: 4px;
  aspect-ratio: 2/3;
}

#video-recommendations-container a.thumbLink,
#video-recommendations-container div.videoimage {
  display: block;
  width: 100%;
}

#video-recommendations-container div.videoimage img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

#video-recommendations-container li.touchcarousel-item:hover {
  z-index: 1;
  cursor: pointer;
}

#video-recommendations-container li.touchcarousel-item:hover .inner {
  position: absolute;
  transform: translate(-1%, -1%) scale(1.05);
  border-color: #fff;
}

@media (max-width: 1024px) {
  #video-recommendations-container li.touchcarousel-item {
    width: calc(25% - 10px);
  }
}

@media (max-width: 768px) {
  #video-recommendations-container .touchcarousel-container {
    gap: 10px;
    flex-wrap: wrap;
  }

  #video-recommendations-container li.touchcarousel-item {
    width: calc(33.333% - 10px);
  }
}

@media (max-width: 480px) {
  #video-recommendations-container li.touchcarousel-item {
    width: calc(50% - 5px);
  }
}
