/* ---- Blog / archive grid -------------------------------------------------
   Tokens mirror the Elementor kit: navy #1B3369, primary #295FEA,
   accent #C2410C, hairline #E5E9F2, page bg #F8F9FC, muted #566B87.
   Poppins is already loaded by the kit, so nothing extra is fetched here. */

.itst-blog { background: #F8F9FC; font-family: "Poppins", sans-serif; }
.itst-blog__wrap { max-width: 1200px; margin: 0 auto; padding: 0 20px; }

/* Hero band reuses the footer gradient so the page reads as part of the site. */
.itst-blog__hero {
	background-image: linear-gradient(96deg, #1D4ED8 0%, #7E22CE 100%);
	padding: 56px 0 60px;
	text-align: center;
}
.itst-blog__title {
	margin: 0 0 12px;
	color: #FFFFFF;
	font-size: 42px;
	line-height: 1.2;
	font-weight: 700;
}
.itst-blog__sub {
	margin: 0 auto;
	max-width: 720px;
	color: rgba(255, 255, 255, .88);
	font-size: 17px;
	line-height: 1.65;
}

.itst-blog__body { padding: 56px 0 72px; }

.itst-blog__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
}

/* ---- Card ---- */
.itst-card {
	display: flex;
	flex-direction: column;
	background: #FFFFFF;
	border: 1px solid #E5E9F2;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(27, 51, 105, .08);
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.itst-card:hover,
.itst-card:focus-within {
	transform: translateY(-4px);
	box-shadow: 0 16px 32px rgba(27, 51, 105, .14);
	border-color: #D7DEEC;
}

.itst-card__media {
	display: block;
	position: relative;
	aspect-ratio: 16 / 9;
	background: #EEF2FB;
	overflow: hidden;
}
.itst-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .35s ease;
}
.itst-card:hover .itst-card__media img { transform: scale(1.04); }

/* Four of the 52 posts have no featured image; they get a branded monogram
   instead of a broken-looking empty frame. */
.itst-card__ph {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background-image: linear-gradient(135deg, #1D4ED8 0%, #7E22CE 100%);
	color: #FFFFFF;
	font-size: 46px;
	font-weight: 700;
	letter-spacing: .02em;
}

.itst-card__body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	padding: 20px 22px 22px;
}

.itst-card__meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 12px;
}
.itst-card__cat {
	display: inline-block;
	padding: 4px 11px;
	border-radius: 999px;
	background: #FFF3EB;
	color: #9A3412;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.5;
	text-decoration: none;
	transition: background-color .2s ease, color .2s ease;
}
.itst-card__cat:hover,
.itst-card__cat:focus-visible { background: #C2410C; color: #FFFFFF; }
.itst-card__date { color: #566B87; font-size: 12.5px; }

.itst-card__title {
	margin: 0 0 10px;
	font-size: 18px;
	line-height: 1.4;
	font-weight: 600;
}
.itst-card__title a {
	color: #1B3369;
	text-decoration: none;
	transition: color .2s ease;
}
.itst-card__title a:hover,
.itst-card__title a:focus-visible { color: #295FEA; }

/* The whole card is clickable via the title link stretched over it, so the
   "Read More" affordance stays decorative and out of the tab order. */
.itst-card__title a::after { content: ""; position: absolute; inset: 0; }
.itst-card { position: relative; }
.itst-card__cat { position: relative; z-index: 2; }

.itst-card__excerpt {
	margin: 0 0 18px;
	color: #374151;
	font-size: 14.5px;
	line-height: 1.7;
}

.itst-card__more {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin-top: auto;
	color: #C2410C;
	font-size: 14px;
	font-weight: 600;
}
.itst-card__more svg { transition: transform .25s ease; }
.itst-card:hover .itst-card__more svg { transform: translateX(4px); }

/* ---- Pagination ---- */
.itst-pager {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 8px;
	margin-top: 44px;
}
.itst-pager .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 42px;
	padding: 0 14px;
	border: 1px solid #E5E9F2;
	border-radius: 10px;
	background: #FFFFFF;
	color: #1B3369;
	font-size: 14.5px;
	font-weight: 600;
	text-decoration: none;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.itst-pager a.page-numbers:hover,
.itst-pager a.page-numbers:focus-visible {
	background: #EEF2FB;
	border-color: #295FEA;
	color: #295FEA;
}
.itst-pager .page-numbers.current {
	background: #295FEA;
	border-color: #295FEA;
	color: #FFFFFF;
}
.itst-pager .page-numbers.dots { border-color: transparent; background: transparent; }

.itst-blog__empty {
	margin: 0;
	padding: 48px 0;
	text-align: center;
	color: #566B87;
	font-size: 16px;
}

/* ---- Responsive ---- */
@media (max-width: 1024px) {
	.itst-blog__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
	.itst-blog__title { font-size: 34px; }
}
@media (max-width: 767px) {
	.itst-blog__grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
	.itst-blog__hero { padding: 40px 0 44px; }
	.itst-blog__title { font-size: 28px; }
	.itst-blog__sub { font-size: 15px; }
	.itst-blog__body { padding: 36px 0 52px; }
}
