*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{
background:radial-gradient(circle at top,#1a1a1a,#0d0d0d);
color:white;
font-family:Arial;
}

a{
text-decoration:none;
color:inherit;
}

/* TOPBAR */
.topbar{
display:flex;
justify-content:space-between;
align-items:center;
padding:18px 25px;
background:#111;
border-bottom:1px solid #222;
position:sticky;
top:0;
z-index:999;
}

.logo{
font-size:32px;
font-weight:bold;
}

.logo-red{color:#ff3131;}
.logo-white{color:white;}

.tagline{
font-size:12px;
color:#888;
}

/* MENU */
.menu{
display:flex;
gap:15px;
}

.menu a{
color:#ccc;
}

.menu a:hover{
color:#ff3131;
}

/* FILTERS */
.filters{
display:flex;
gap:10px;
flex-wrap:wrap;
margin-bottom:20px;
}

.filter-btn{
background:#1a1a1a;
border:1px solid #222;
padding:10px 14px;
border-radius:999px;
color:#ccc;
cursor:pointer;
transition:0.2s;
}

.filter-btn:hover,
.filter-btn.active{
border-color:#ff3131;
color:white;
}

/* LAYOUT */
.layout{
display:flex;
max-width:1400px;
margin:auto;
padding:20px;
gap:20px;
}

main{flex:3;}
.sidebar{flex:1;}

/* GRID */
#posts-container{
display:grid;
grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
gap:20px;
}

/* CARD */
.card{
background:#151515;
border:1px solid #222;
border-radius:14px;
overflow:hidden;
transition:0.2s;
}

.card:hover{
transform:translateY(-5px);
border-color:#ff3131;
}

.thumb-wrapper{
position:relative;
}

.thumb{
width:100%;
height:220px;
object-fit:cover;
}

.badge{
position:absolute;
top:10px;
left:10px;
background:#ff3131;
padding:5px 10px;
border-radius:999px;
font-size:12px;
}

/* META */
.card-content{
padding:12px;
}

.meta{
display:flex;
justify-content:space-between;
color:#aaa;
font-size:13px;
margin-top:8px;
}

/* TOP */
.widget{
background:#151515;
padding:15px;
border-radius:12px;
border:1px solid #222;
}

.top-item{
margin-bottom:10px;
}

.top-item a:hover{
color:#ff3131;
}

/* PAGINATION */
#pagination{
display:flex;
justify-content:center;
gap:8px;
margin-top:25px;
flex-wrap:wrap;
}

.page-btn{
background:#1a1a1a;
border:1px solid #222;
padding:8px 12px;
border-radius:999px;
color:#ccc;
cursor:pointer;
}

.page-btn:hover{
border-color:#ff3131;
}

.page-btn.active{
background:#ff3131;
border-color:#ff3131;
color:white;
}

/* RESPONSIVE */
@media(max-width:900px){
.layout{flex-direction:column;}
.menu{display:none;}
}