/* =========================
RESET
========================= */

*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:Arial;
}

body{
background:#0b0b0f;
color:#fff;
}


/* =========================
NAV
========================= */

nav{
display:flex;
justify-content:space-between;
align-items:center;
padding:12px 18px;
background:rgba(0,0,0,.7);
backdrop-filter:blur(10px);
position:sticky;
top:0;
z-index:1000;
border-bottom:1px solid rgba(255,255,255,.05);
}

.logo{
color:#ff2e2e;
font-weight:bold;
flex:0 0 auto;
}

.nav-right{
display:flex;
gap:12px;
align-items:center;
flex:0 0 auto;
}

.nav-right input{
padding:7px 10px;
border-radius:8px;
border:none;
outline:none;
background:#1a1a1f;
color:#fff;
min-width:140px;
}

.nav-right a{
color:#ddd;
text-decoration:none;
font-size:13px;
white-space:nowrap;
}

.burger{
display:none;
font-size:22px;
cursor:pointer;
color:#fff;
}


/* =========================
MOBILE MENU
========================= */

.mobile-menu{
position:fixed;
top:60px;
right:0;
width:220px;
background:#000;
padding:15px;
display:flex;
flex-direction:column;
gap:10px;
transform:translateX(100%);
transition:.3s;
z-index:999;
}

.mobile-menu.show{
transform:translateX(0);
}

.mobile-menu a{
color:#fff;
text-decoration:none;
padding:8px 0;
border-bottom:1px solid #222;
}


/* =========================
GRID INDEX
========================= */

.grid{
display:grid;
grid-template-columns:repeat(6,1fr);
gap:14px;
padding:25px;
max-width:1300px;
margin:auto;
}


/* =========================
CARD GLOBAL
========================= */

.card{
cursor:pointer;
background:#141420;
border-radius:10px;
overflow:hidden;
transition:.25s;
box-shadow:0 4px 15px rgba(0,0,0,.3);
}

.card:hover{
transform:scale(1.05);
box-shadow:0 10px 25px rgba(255,0,0,.15);
}

.card img,
.rel-card img{
width:100%;
display:block;
border-radius:10px;
}

.title{
padding:8px;
font-size:12px;
opacity:.8;
}


/* =========================
PAGINATION
========================= */

.pagination{
display:flex;
justify-content:center;
gap:8px;
padding:20px;
flex-wrap:wrap;
}

.pagination button{
background:#1a1a22;
color:#fff;
border:none;
padding:7px 12px;
border-radius:10px;
cursor:pointer;
}

.pagination button:hover{
background:#ff2e2e;
}


/* =========================
PLAYER
========================= */

.player{
width:100%;
height:77vh;
background:#000;
position:relative;
}

iframe{
width:100%;
height:100%;
border:0;
}

.playLayer{
position:absolute;
inset:0;
display:flex;
align-items:center;
justify-content:center;
background:rgba(0,0,0,.5);
cursor:pointer;
font-size:22px;
font-weight:bold;
}


/* =========================
INFO
========================= */

.info{
max-width:1200px;
margin:20px auto;
padding:20px;
background:#141420;
border-radius:12px;
}


/* =========================
RELATED
========================= */

.rel-wrap{
max-width:1200px;
margin:20px auto;
position:relative;
padding:10px;
}

.rel-box{
display:flex;
gap:12px;
overflow-x:auto;
scroll-snap-type:x mandatory;
-webkit-overflow-scrolling:touch;
scrollbar-width:none;
}

.rel-box::-webkit-scrollbar{
display:none;
}

.rel-card{
min-width:140px;
scroll-snap-align:start;
flex:0 0 auto;
cursor:pointer;
}

.arrow{
position:absolute;
top:40%;
background:#000;
color:#fff;
border:none;
padding:10px;
cursor:pointer;
opacity:.8;
z-index:10;
}

.arrow:hover{
opacity:1;
}

.left{
left:0;
}

.right{
right:0;
}


/* =========================
OVERLAY
========================= */

#overlay{
display:none;
position:relative;
width:100%;
background:#0b0b0f;
padding:20px;
z-index:20;
}

body.overlay-open{
overflow:hidden;
}

.overlay-grid{
display:grid;
grid-template-columns:repeat(6,1fr);
gap:14px;
}

#overlayPagination{
margin-bottom:40px;
}


/* =========================
FOOTER
========================= */

footer{
background:#000;
padding:35px 20px;
margin-top:40px;
border-top:1px solid rgba(255,255,255,.05);
}

.footer-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:15px;
max-width:1200px;
margin:auto;
font-size:13px;
opacity:.7;
}


/* =========================
RESPONSIVE
========================= */

@media(max-width:1000px){

.grid,
.overlay-grid{
grid-template-columns:repeat(4,1fr);
}

}

@media(max-width:768px){

.nav-right{
display:none;
}

.burger{
display:block;
}

.arrow{
display:none;
}

}

@media(max-width:700px){

.footer-grid{
grid-template-columns:repeat(2,1fr);
}

}

@media(max-width:600px){

.grid,
.overlay-grid{
grid-template-columns:repeat(2,1fr);
}

}
