/* =======================================================================
   KPSN Blog Listing — css/blog.css
   Scoped under .kpsn-blog so it never leaks into the rest of the site.
   ======================================================================= */

.kpsn-blog{
	--kpsn-orange:#F7941D;
	--kpsn-orange-dark:#E07B00;
	--kpsn-navy:#1B2A4A;
	--kpsn-navy-deep:#12203A;
	--kpsn-ink:#233047;
	--kpsn-muted:#5C6784;
	--kpsn-paper:#FFFFFF;
	--kpsn-paper-soft:#F7F8FB;
	--kpsn-line:#E7E9F1;
	--kpsn-radius:14px;
	font-family:'Poppins',sans-serif;
	color:var(--kpsn-ink);
	background:var(--kpsn-paper);
	line-height:1.6;
	-webkit-font-smoothing:antialiased;
	overflow-x:hidden;
	width:100%;
}
.kpsn-blog *,
.kpsn-blog *::before,
.kpsn-blog *::after{ box-sizing:border-box; font-family:'Poppins',sans-serif; }
.kpsn-blog img{ max-width:100%; display:block; border:0; }
.kpsn-blog a{ text-decoration:none; color:inherit; }
.kpsn-blog p{ margin:0 0 14px; color:var(--kpsn-muted); }
.kpsn-blog ul{ list-style:none; margin:0; padding:0; }

.kpsn-blog-wrap{ max-width:1180px; margin:0 auto; padding:0 24px; width:100%; }

/* ---------- Hero ---------- */
.kpsn-blog-hero{
	background:linear-gradient(160deg, var(--kpsn-navy-deep) 0%, var(--kpsn-navy) 55%, #24345c 100%);
	color:#fff;
	padding:56px 0;
	overflow:hidden;
}
.kpsn-blog-hero-grid{
	display:grid;
	grid-template-columns:1.15fr 0.85fr;
	gap:32px;
	align-items:start;
}
.kpsn-blog-eyebrow{
	display:inline-flex;
	align-items:center;
	gap:8px;
	font-size:12.5px;
	font-weight:700;
	letter-spacing:.14em;
	text-transform:uppercase;
	color:var(--kpsn-orange);
	margin-bottom:14px;
}
.kpsn-blog-h1{
	font-size:clamp(24px,3.4vw,34px);
	font-weight:800;
	color:#fff;
	margin:0 0 14px;
	line-height:1.3;
	text-transform:uppercase;
}
.kpsn-blog-h1 span{ color:var(--kpsn-orange); }
.kpsn-blog-hero-desc{
	max-width:520px;
	margin:0;
	color:#C4CBE0;
	font-size:14.5px;
}
.kpsn-blog-hero-media{
	border-radius:var(--kpsn-radius);
	overflow:hidden;
	box-shadow:0 24px 50px -20px rgba(0,0,0,.5);
}
.kpsn-blog-hero-media img{
	width:100%;
	height:100%;
	object-fit:cover;
	aspect-ratio:16/9;
}

/* ---------- Toolbar (search + category dropdown) ---------- */
.kpsn-blog-toolbar{
	display:flex;
	gap:16px;
	align-items:center;
	justify-content:center;
	flex-wrap:wrap;
	margin:-26px auto 44px;
	position:relative;
	z-index:2;
	background:#fff;
	border:1px solid var(--kpsn-line);
	border-radius:100px;
	padding:8px;
	max-width:720px;
	box-shadow:0 20px 44px -24px rgba(18,32,58,.28);
}
.kpsn-blog-search{
	flex:1;
	min-width:220px;
	display:flex;
	align-items:center;
	gap:10px;
	background:var(--kpsn-paper-soft);
	border-radius:100px;
	padding:10px 18px;
}
.kpsn-blog-search svg{ width:16px; height:16px; color:var(--kpsn-muted); flex-shrink:0; }
.kpsn-blog-search input[type="text"],
.kpsn-blog-search input[type="search"]{
	border:none;
	outline:none;
	background:transparent;
	width:100%;
	font-size:13.5px;
	color:var(--kpsn-ink);
}
.kpsn-blog-cat-select select{
	border:none;
	outline:none;
	background:var(--kpsn-paper-soft);
	border-radius:100px;
	padding:10px 38px 10px 18px;
	font-size:13.5px;
	font-weight:600;
	color:var(--kpsn-navy);
	cursor:pointer;
	-webkit-appearance:none;
	appearance:none;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235C6784' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat:no-repeat;
	background-position:right 14px center;
	background-size:13px;
}

/* ---------- Section / Grid ---------- */
.kpsn-blog-section{ padding:0 0 56px; }

.kpsn-blog-grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:26px;
}
.kpsn-blog-card{
	background:#fff;
	border:1px solid var(--kpsn-line);
	border-radius:var(--kpsn-radius);
	overflow:hidden;
	display:flex;
	flex-direction:column;
	transition:transform .2s ease, box-shadow .2s ease;
}
.kpsn-blog-card:hover{
	transform:translateY(-4px);
	box-shadow:0 20px 40px -22px rgba(27,42,74,.28);
}
.kpsn-blog-card-media{
	position:relative;
	aspect-ratio:16/10;
	overflow:hidden;
	background:var(--kpsn-paper-soft);
	display:block;
}
.kpsn-blog-card-media img{ width:100%; height:100%; object-fit:cover; }
.kpsn-blog-num{
	position:absolute;
	top:14px;
	left:14px;
	width:32px;
	height:32px;
	border-radius:50%;
	background:var(--kpsn-orange);
	color:#fff;
	font-size:12.5px;
	font-weight:800;
	display:flex;
	align-items:center;
	justify-content:center;
	box-shadow:0 6px 14px -4px rgba(224,123,0,.6);
}
.kpsn-blog-card-body{
	padding:20px 20px 22px;
	display:flex;
	flex-direction:column;
	flex-grow:1;
}
.kpsn-blog-cat{
	font-size:11.5px;
	font-weight:700;
	letter-spacing:.08em;
	text-transform:uppercase;
	margin-bottom:9px;
}
.kpsn-blog-title,.kpsn-blog-title a{
	font-size:17px !important;
	font-weight:700 !important;
	color:var(--kpsn-navy) !important;
	line-height:1.35 !important;
	margin:0 0 10px !important;
}

.kpsn-blog-title a:hover{ color:var(--kpsn-orange-dark); }
.kpsn-blog-meta{
	display:flex;
	align-items:center;
	gap:14px;
	font-size:12px;
	color:var(--kpsn-muted);
	margin-bottom:12px;
	flex-wrap:wrap;
}
.kpsn-blog-meta span{ display:inline-flex; align-items:center; gap:5px; }
.kpsn-blog-meta svg{ width:12.5px; height:12.5px; flex-shrink:0; }
.kpsn-blog-excerpt{ font-size:13px; color:var(--kpsn-muted); margin-bottom:14px; flex-grow:1; }
.kpsn-blog-readmore{
	display:inline-flex;
	align-items:center;
	gap:6px;
	font-size:13px;
	font-weight:700;
	color:var(--kpsn-orange-dark);
	margin-top:auto;
}
.kpsn-blog-readmore svg{ width:13px; height:13px; }

.kpsn-blog-empty{ text-align:center; padding:60px 20px; color:var(--kpsn-muted); }

/* ---------- Pagination ---------- */
.kpsn-blog-pagination{
	display:flex;
	justify-content:center;
	align-items:center;
	gap:8px;
	margin-top:44px;
	flex-wrap:wrap;
}
.kpsn-blog-pagination a,
.kpsn-blog-pagination span{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:36px;
	height:36px;
	padding:0 10px;
	border-radius:50%;
	border:1px solid var(--kpsn-line);
	font-size:13px;
	font-weight:600;
	color:var(--kpsn-navy);
	background:#fff;
}
.kpsn-blog-pagination .kpsn-page-current{
	background:var(--kpsn-orange);
	border-color:var(--kpsn-orange);
	color:#fff;
}
.kpsn-blog-pagination .kpsn-page-dots{
	border:none;
	background:transparent;
	min-width:auto;
}
.kpsn-blog-pagination a:hover{
	border-color:var(--kpsn-orange);
	color:var(--kpsn-orange-dark);
}
.kpsn-blog-pagination .kpsn-page-nav{
	border-radius:50%;
}

/* ---------- CTA banner ---------- */
.kpsn-blog-cta{
	background:linear-gradient(135deg, var(--kpsn-orange) 0%, var(--kpsn-orange-dark) 100%);
	border-radius:0;
	padding:32px 0;
	color:#fff;
}
.kpsn-blog-cta-inner{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:24px;
	flex-wrap:wrap;
}
.kpsn-blog-cta-copy{ display:flex; align-items:center; gap:16px; }
.kpsn-blog-cta-icon{
	flex-shrink:0;
	width:46px;
	height:46px;
	border-radius:50%;
	background:rgba(255,255,255,.2);
	display:flex;
	align-items:center;
	justify-content:center;
}
.kpsn-blog-cta-icon svg{ width:22px; height:22px; color:#fff; }
.kpsn-blog-cta-title{ font-size:18px; font-weight:800; margin:0 0 4px; color:#fff; }
.kpsn-blog-cta-sub{ margin:0; color:rgba(255,255,255,.92); font-size:13px; }
.kpsn-blog-cta-actions{ display:flex; gap:12px; flex-wrap:wrap; }
.kpsn-blog-btn{
	display:inline-flex;
	align-items:center;
	gap:8px;
	padding:12px 24px;
	border-radius:100px;
	font-weight:700;
	font-size:13.5px;
	white-space:nowrap;
}
.kpsn-blog-btn-light{ background:#fff; color:var(--kpsn-orange-dark); }
.kpsn-blog-btn-dark{ background:var(--kpsn-navy); color:#fff; }

/* =======================================================================
   Responsive
   ======================================================================= */
@media (max-width:960px){
	.kpsn-blog-hero-grid{ grid-template-columns:1fr; }
	.kpsn-blog-hero-media{ order:-1; }
	.kpsn-blog-grid{ grid-template-columns:1fr 1fr; }
}

@media (max-width:640px){
	.kpsn-blog-wrap{ padding:0 18px; }
	.kpsn-blog-hero{ padding:40px 0; }
	.kpsn-blog-h1{ font-size:22px; }
	.kpsn-blog-hero-desc{ font-size:13.5px; }
	.kpsn-blog-toolbar{
		flex-direction:column;
		border-radius:20px;
		align-items:stretch;
		margin:-18px auto 36px;
	}
	.kpsn-blog-cat-select select{ width:100%; }
	.kpsn-blog-grid{ grid-template-columns:1fr; gap:20px; }
	.kpsn-blog-cta-inner{ flex-direction:column; text-align:center; }
	.kpsn-blog-cta-copy{ flex-direction:column; text-align:center; }
	.kpsn-blog-cta-actions{ width:100%; justify-content:center; }
	.kpsn-blog-btn{ flex:1; justify-content:center; }
	.kpsn-blog-pagination a,
	.kpsn-blog-pagination span{ min-width:32px; height:32px; font-size:12px; }
}