
html{scroll-behavior:smooth}
.reveal{opacity:0;transform:translateY(30px);transition:.7s ease}
.reveal.show{opacity:1;transform:none}
.osv-video-card,.v12-sidebar-card,.v13-side-card,.v15-card{
transition:.22s ease, box-shadow .22s ease;
}
.osv-video-card:hover,.v12-sidebar-card:hover,.v13-side-card:hover,.v15-card:hover{
transform:translateY(-6px);
box-shadow:0 22px 55px rgba(0,0,0,.16);
}
.btn,.action,.v15-btn{
transition:.2s ease;
}
.btn:hover,.action:hover,.v15-btn:hover{
transform:translateY(-2px) scale(1.02);
}
.live-dot,.v7-live-dot{
animation:pulse 1.5s infinite;
}
@keyframes pulse{
0%{transform:scale(.8);opacity:.5}
50%{transform:scale(1.2);opacity:1}
100%{transform:scale(.8);opacity:.5}
}


/* ==========================================================
   OSV Global Color System
   ========================================================== */

:root{
  --osv-page:#FCFCFC;
  --osv-card:#FFFFFF;
  --osv-border:#EAEAEA;
}

html,
body{
  background:var(--osv-page) !important;
}

.osv-main,
.osv-shell,
main{
  background:transparent;
}

.osv-video-card,
.v15-card,
.v12-sidebar-card,
.v13-side-card,
.card,
.tile{
  background:var(--osv-card) !important;
  border:1px solid var(--osv-border);
}



/* ===== 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;
}
