/* ========================================
VTUBER NEWS HEADER
======================================== */

.vtuber-news-header{
background:#f7f8fb;
padding:60px 20px;
border-bottom:1px solid #e5e7eb;
}

.news-vtuber-inner{
max-width:1100px;
margin:auto;
display:flex;
align-items:center;
gap:40px;
}

.news-vtuber-image img{
width:140px;
height:auto;
object-fit:contain;
}

.news-vtuber-info h1{
font-size:32px;
font-weight:700;
margin-bottom:6px;
color:#334155;
}

.vtuber-name-en{
font-size:14px;
color:#64748b;
margin-bottom:12px;
}

.news-count{
font-size:14px;
color:#94a3b8;
margin-bottom:14px;
}

.back-vtuber{
display:inline-block;
font-size:14px;
color:#2563eb;
text-decoration:none;
}

.back-vtuber:hover{
text-decoration:underline;
}



/* ========================================
NEWS FILTER
======================================== */

.news-filter{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:10px;
	margin-top: 30px;
	margin-bottom: 30px;
}

.news-filter a{
display:flex;
align-items:center;
justify-content:center;
padding:10px 12px;
border-radius:8px;
font-size:13px;
border:1px solid #e2e8f0;
text-decoration:none;
color:#475569;
background:white;
transition:all .2s ease;
text-align:center;
}

.news-filter a:hover{
background:#f1f5f9;
}

.news-filter a.active{
background:#334155;
color:white;
border-color:#334155;
}

.news-filter-all{
background:#f5f5f5;
color:#64748b;
}



/* ========================================
NEWS LIST
======================================== */

.news-list{
position:relative;
list-style:none;
padding:0;
margin:0;
display:flex;
flex-direction:column;
gap:18px;
}

.news-list::before{
	content:"";
	position:absolute;
	left:30px;
	top:0;
	bottom:0;
	width:2px;
	background:#e5e7eb;
}



/* ========================================
NEWS ITEM
======================================== */

.news-item{
list-style:none;
}

.news-item a{
display:grid;
grid-template-columns:120px 200px 1fr;
gap:20px;
align-items:center;
padding:18px;
border-radius:10px;
background:#ffffff;
text-decoration:none;
transition:background .15s ease;
}

.news-item a:hover{
background:#f8fafc;
}



/* ========================================
DATE
======================================== */

.news-date{
	display:flex;
	flex-direction:column;
	align-items:center;
	position:relative;
}
/* .news-date::after{
	content:"";
	position:absolute;
	right:-8px;
	top:50%;
	transform:translateY(-50%);
	width:12px;
	height:12px;
	background:#334155;
	border-radius:50%;
} */
@media (max-width:768px){
	.news-date{
		flex-direction: row-reverse;
		justify-content:center;
		gap:6px;
	}
	.news-date::after {
		display:none;
	}
}

.news-day{
	font-size: 24px;
	font-weight: 700;
	color: #334155;
	line-height: 1;
}
@media (max-width:768px){
	.news-day{
		font-size: 16px;
	}
}

.news-month{
	font-size: 11px;
	color: #64748b;
	text-transform: uppercase;
	margin-top: .7em;
}
@media (max-width:768px){
	.news-month{
		font-size: 16px;
		margin-top: 0;
	}
}

.news-year{
font-size:11px;
color:#94a3b8;
}
@media (max-width:768px){
	.news-year{
		font-size: 16px;
	}
}




/* ========================================
THUMBNAIL
======================================== */

.news-thumb{
width:200px;
aspect-ratio:16/9;
overflow:hidden;
border-radius:6px;
}

.news-thumb img{
width:100%;
height:100%;
object-fit:cover;
}



/* ========================================
META
======================================== */

.news-meta{
display:flex;
flex-direction:column;
gap:6px;
}

.news-category{
display:inline-block;
font-size:11px;
padding:3px 8px;
border-radius:4px;
background:#334155;
color:white;
width:fit-content;
}

.news-title{
font-size:16px;
font-weight:600;
color:#1e293b;
line-height:1.4;
}



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

.news-pagination{
margin-top:40px;
text-align:center;
}

.news-pagination .page-numbers{
display:inline-block;
margin:4px;
padding:8px 14px;
border-radius:6px;
border:1px solid #e5e7eb;
text-decoration:none;
color:#334155;
font-size:14px;
}

.news-pagination .page-numbers:hover{
background:#f1f5f9;
}

.news-pagination .current{
background:#334155;
color:white;
border-color:#334155;
}



/* ========================================
NO NEWS
======================================== */

.no-news{
text-align:center;
color:#94a3b8;
font-size:15px;
padding:60px 0;
}



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

@media (max-width:768px){

.news-vtuber-inner{
flex-direction:column;
text-align:center;
}

.news-vtuber-image img{
	width: auto;
}

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

.news-filter-all{
grid-column:1 / -1;
}

.news-list::before{
display:none;
}

.news-item a{
display:flex;
flex-direction:column;
padding:16px;
border:1px solid #e5e7eb;
box-shadow:0 2px 6px rgba(0,0,0,0.05);
align-items:center;
text-align:center;
}

.news-item a:hover{
background:#ffffff;
}

.news-thumb{
width:100%;
}

.news-meta{
align-items:center;
text-align:center;
}

.news-category{
margin:auto;
}

.news-title{
font-size:15px;
text-align:center;
}

}
