/* ==========================================================================
   Blog Page - Page Banner (title + breadcrumb)
   ========================================================================== */
.page-banner{
	position:relative;
	padding-top:calc(var(--header-height) + 70px);
	padding-bottom:60px;
	background-color:var(--color-bg-soft);
	background-image:var(--page-banner-bg);
	background-size:cover;
	background-position:top;
	overflow:hidden;
}

.page-banner__inner{
	position:relative;
	z-index:2;
}

.page-banner__breadcrumb{
	font-family:var(--font-body);
	font-size:14px;
	margin-bottom:16px;
}

.page-banner__breadcrumb a{
	color:var(--color-text-muted);
	transition:color .25s ease;
}

.page-banner__breadcrumb a:hover{
	color:var(--color-gold-dark);
}

.page-banner__separator{
	margin:0 8px;
	color:var(--color-text-muted);
}

.page-banner__current{
	color:var(--color-gold-dark);
	font-weight:600;
}

.page-banner__title{
	font-family:var(--font-heading);
	font-size:clamp(34px, 4.4vw, 28px);
	font-weight:600;
	line-height:1.15;
	color:var(--color-black);
	margin:0;
}

@media (max-width: 768px){

	.page-banner{
		padding-top:calc(var(--header-height) + 40px);
		padding-bottom:44px;
	}
}


/* ==========================================================================
   Blog Page - Posts Grid (3 per row)
   ========================================================================== */
.blog-grid{
	background:var(--color-bg);
	padding:60px 0 100px;
}

.blog-grid__list{
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	gap:36px;
}

.blog-card{
	display:flex;
	flex-direction:column;
	width:100%;
	min-width:0;
	background:var(--color-bg);
	border:1px solid var(--color-border);
	border-radius:6px;
	overflow:hidden;
	transition:transform .35s ease, box-shadow .35s ease;
}

.blog-card:hover{
	transform:translateY(-8px);
	box-shadow:0 24px 44px rgba(17,17,17,0.12);
}

.blog-card__image-wrap{
	position:relative;
	aspect-ratio:4 / 3;
	overflow:hidden;
	background:var(--color-bg-soft);
}

.blog-card__image-wrap img{
	width:100%;
	height:100%;
	object-fit:cover;
	transition:transform .5s ease;
}

.blog-card:hover .blog-card__image-wrap img{
	transform:scale(1.06);
}

.blog-card__category{
	position:absolute;
	top:16px;
	left:16px;
	background:var(--color-black);
	color:var(--color-gold);
	font-family:var(--font-heading);
	font-size:11px;
	font-weight:700;
	letter-spacing:0.06em;
	text-transform:uppercase;
	padding:6px 14px;
	border-radius:20px;
	z-index:2;
}

.blog-card__body{
	flex:1;
	display:flex;
	flex-direction:column;
	padding:26px 24px 28px;
}

.blog-card__date{
	font-family:var(--font-body);
	font-size:13px;
	color:var(--color-gold-dark);
	margin-bottom:10px;
	letter-spacing:0.02em;
}

.blog-card__title{
	font-family:var(--font-heading);
	font-size:20px;
	font-weight:600;
	color:var(--color-black);
	margin:0 0 12px;
	line-height:1.3;
}

.blog-card__excerpt{
	font-family:var(--font-body);
	font-size:14.5px;
	line-height:1.7;
	color:var(--color-text-muted);
	margin:0 0 20px;
	flex:1;
}

.blog-card__link{
	display:inline-flex;
	align-items:center;
	gap:8px;
	font-family:var(--font-heading);
	font-size:14.5px;
	font-weight:600;
	color:var(--color-black);
}

.blog-card__link svg{
	transition:transform .3s ease;
}

.blog-card:hover .blog-card__link svg{
	transform:translateX(4px);
}

/* ---- Pagination ---- */
.blog-grid__pagination{
	margin-top:56px;
	display:flex;
	justify-content:center;
}

.blog-grid__pagination ul{
	list-style:none;
	display:flex;
	align-items:center;
	gap:8px;
	margin:0;
	padding:0;
}

.blog-grid__pagination .page-numbers{
	display:flex;
	align-items:center;
	justify-content:center;
	min-width:42px;
	height:42px;
	padding:0 10px;
	border-radius:50%;
	font-family:var(--font-heading);
	font-size:14px;
	font-weight:600;
	color:var(--color-black);
	background:var(--color-bg-soft);
	border:1px solid var(--color-border);
	transition:background .25s ease, color .25s ease, border-color .25s ease;
}

.blog-grid__pagination a.page-numbers:hover{
	background:var(--color-black);
	border-color:var(--color-black);
	color:var(--color-gold);
}

.blog-grid__pagination .page-numbers.current{
	background:var(--color-gold);
	border-color:var(--color-gold);
	color:var(--color-black);
}

.blog-grid__pagination .page-numbers.dots{
	background:transparent;
	border:none;
}

/* ---- Empty state ---- */
.blog-grid__empty{
	text-align:center;
	padding:60px 0;
}

.blog-grid__empty p{
	font-family:var(--font-body);
	font-size:16px;
	color:var(--color-text-muted);
}

/* ==========================================================================
   Responsive - Posts Grid
   ========================================================================== */
@media (max-width: 1024px){

	.blog-grid{
		padding:64px 0 80px;
	}

	.blog-grid__list{
		grid-template-columns:repeat(2, 1fr);
		gap:28px;
	}
}

@media (max-width: 640px){

	.blog-grid__list{
		grid-template-columns:1fr;
		gap:24px;
	}

	.blog-grid__pagination{
		margin-top:40px;
	}
}

@media (max-width: 480px){

	.blog-grid{
		padding:52px 0 64px;
	}

	.blog-card__body{
		padding:22px 20px 24px;
	}
}