/* OSV Dynamic Home V11 */
.v11-dash{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:18px;
  margin:34px 0 8px;
}
.v11-dash-card{
  background:#F6F6F6;
  border:1px solid #E8E8E8;
  border-radius:26px;
  padding:22px;
}
.v11-dash-card.dark{
  background:#0D0D0D;
  color:#fff;
}
.v11-dash-card h3{
  font-family:'Bebas Neue',Impact,sans-serif;
  font-size:38px;
  line-height:.9;
  margin:8px 0;
}
.v11-dash-card p{
  margin:0;
  color:#666;
  line-height:1.45;
  font-size:13px;
}
.v11-dash-card.dark p{color:#d0d0d0}

.v11-featured-video{
  display:grid;
  grid-template-columns:280px 1fr;
  gap:22px;
  background:#0D0D0D;
  color:#fff;
  border-radius:32px;
  padding:20px;
  margin:48px 0;
  align-items:center;
}
.v11-featured-video img{
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  border-radius:22px;
  background:#ddd;
}
.v11-featured-video h2{
  font-family:'Bebas Neue',Impact,sans-serif;
  font-size:58px;
  line-height:.86;
  margin:8px 0;
}
.v11-featured-video p{
  color:#d0d0d0;
  margin:0 0 16px;
  line-height:1.55;
}

.v11-spotlight{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:24px;
  margin:52px 0;
}
.v11-spotlight-main{
  background:#0D0D0D;
  color:#fff;
  border-radius:34px;
  padding:34px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  min-height:420px;
  position:relative;
  overflow:hidden;
}
.v11-spotlight-main:before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at top left,rgba(229,9,20,.58),transparent 55%);
}
.v11-spotlight-main>*{position:relative}
.v11-spotlight-main h2{
  font-family:'Bebas Neue',Impact,sans-serif;
  font-size:70px;
  line-height:.84;
  margin:10px 0;
}
.v11-spotlight-main p{
  color:#d5d5d5;
  line-height:1.58;
}
.v11-spotlight-videos{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.v11-mini-card{
  background:#fff;
  border:1px solid #E8E8E8;
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 16px 38px rgba(0,0,0,.07);
}
.v11-mini-card img{
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  background:#ddd;
}
.v11-mini-card div{padding:15px}
.v11-mini-card h3{font-size:16px;line-height:1.15;margin:0 0 7px}
.v11-mini-card p{font-size:12px;color:#666;margin:0}

.v11-mood-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin:24px 0 48px;
}
.v11-mood{
  border-radius:26px;
  background:#F6F6F6;
  border:1px solid #E8E8E8;
  padding:24px;
  min-height:170px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.v11-mood.dark{
  background:#0D0D0D;
  color:#fff;
}
.v11-mood h3{
  font-family:'Bebas Neue',Impact,sans-serif;
  font-size:42px;
  line-height:.9;
  margin:8px 0;
}
.v11-mood p{
  color:#666;
  font-size:13px;
  line-height:1.45;
}
.v11-mood.dark p{color:#d0d0d0}

.v11-live-stat{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.v11-stat-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#E50914;
  animation:pulse 1.3s infinite;
}

@media(max-width:1050px){
  .v11-dash,.v11-spotlight,.v11-featured-video{grid-template-columns:1fr}
  .v11-mood-grid,.v11-spotlight-videos{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
  .v11-dash,.v11-mood-grid,.v11-spotlight-videos{grid-template-columns:1fr}
  .v11-featured-video h2,.v11-spotlight-main h2{font-size:46px}
}



/* ===== OSV PAGE WIDTH FIX ===== */

html,body{
overflow-x:hidden;
}

.container,
.container-fluid,
main,
.page,
.page-wrapper,
.content,
.content-wrapper{

max-width:1600px;
margin:0 auto;
padding-left:32px;
padding-right:32px;
box-sizing:border-box;

}

@media(max-width:991px){

.container,
.container-fluid,
main,
.page,
.page-wrapper,
.content,
.content-wrapper{

padding-left:16px;
padding-right:16px;

}

}



/* ===== NOW PLAYING BLINK ===== */

@keyframes osvBlinkDot{
    0%,100%{
        opacity:1;
        transform:scale(1);
    }
    50%{
        opacity:.2;
        transform:scale(.75);
    }
}

.now-playing-dot,
.live-dot,
.playing-dot,
.now-playing .dot{
    animation:osvBlinkDot .9s infinite;
}
