/* Blog listing + detail — INTINKO front */

.blog-page {
	padding: 72px 0 96px;
	background:
		radial-gradient(circle at top right, rgba(9, 179, 111, 0.12), transparent 36%),
		linear-gradient(180deg, #f4faf7 0%, #ffffff 48%);
}

.blog-page-inner {
	max-width: 1120px;
}

.blog-page-header {
	max-width: 640px;
	margin-bottom: 48px;
}

.blog-page-eyebrow {
	font-family: var(--font-secondary, "Sen", sans-serif);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--primary, #09B36F);
	margin: 0 0 10px;
}

.blog-page-header h1 {
	font-family: var(--font-secondary, "Sen", sans-serif);
	font-size: clamp(32px, 4vw, 46px);
	line-height: 1.15;
	font-weight: 700;
	color: #111;
	margin: 0 0 14px;
}

.blog-page-lead {
	font-size: 17px;
	line-height: 1.6;
	color: #666;
	margin: 0;
}

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

.blog-page-grid .blog-card {
	background: #fff;
	border: 1px solid var(--border, #C1ECDC);
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 12px 35px rgba(15, 36, 48, 0.06);
	display: flex;
	flex-direction: column;
}

.blog-page-grid .blog-card-featured {
	grid-column: span 1;
}

.blog-page-grid .blog-card-image {
	width: 100%;
	height: 220px;
	object-fit: cover;
	display: block;
}

.blog-card-media-link {
	display: block;
}

.blog-page-grid .blog-card-body {
	padding: 22px 22px 26px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex: 1;
}

.blog-page-grid .blog-card-body h2 {
	font-family: var(--font-secondary, "Sen", sans-serif);
	font-size: 22px;
	line-height: 1.25;
	margin: 0;
}

.blog-page-grid .blog-card-body h2 a,
.blog-card-body h4 a {
	color: inherit;
	text-decoration: none;
}

.blog-page-grid .blog-card-body h2 a:hover,
.blog-card-body h4 a:hover {
	color: var(--primary, #09B36F);
}

.blog-page-grid .blog-card-body > p:not(.blog-card-meta) {
	color: #666;
	font-size: 15px;
	line-height: 1.55;
	margin: 0;
	flex: 1;
}

.blog-page-empty {
	color: #666;
	font-size: 16px;
}

.blog-page-empty a {
	color: var(--primary, #09B36F);
	font-weight: 600;
}

/* Detail */

.blog-detail {
	padding: 56px 0 96px;
	background: linear-gradient(180deg, #f4faf7 0%, #ffffff 40%);
}

.blog-detail-inner {
	max-width: 760px;
}

.blog-detail-back {
	margin: 0 0 24px;
}

.blog-detail-back a {
	color: var(--primary, #09B36F);
	font-weight: 600;
	text-decoration: none;
}

.blog-detail-back a:hover {
	text-decoration: underline;
}

.blog-detail-meta {
	font-size: 14px;
	color: #666;
	margin: 0 0 12px;
}

.blog-detail-header h1 {
	font-family: var(--font-secondary, "Sen", sans-serif);
	font-size: clamp(30px, 4vw, 44px);
	line-height: 1.15;
	font-weight: 700;
	margin: 0 0 16px;
	color: #111;
}

.blog-detail-lead {
	font-size: 18px;
	line-height: 1.55;
	color: #555;
	margin: 0 0 28px;
}

.blog-detail-figure {
	margin: 0 0 32px;
	border-radius: 18px;
	overflow: hidden;
	border: 1px solid var(--border, #C1ECDC);
}

.blog-detail-figure img {
	width: 100%;
	height: auto;
	display: block;
	max-height: 440px;
	object-fit: cover;
}

.blog-detail-content {
	font-size: 17px;
	line-height: 1.7;
	color: #222;
}

.blog-detail-content h2,
.blog-detail-content h3 {
	font-family: var(--font-secondary, "Sen", sans-serif);
	margin: 1.6em 0 0.6em;
	line-height: 1.25;
}

.blog-detail-content p {
	margin: 0 0 1.1em;
}

.blog-detail-content ul,
.blog-detail-content ol {
	margin: 0 0 1.1em;
	padding-left: 1.25em;
}

.blog-detail-content img {
	max-width: 100%;
	height: auto;
	border-radius: 12px;
}

.blog-detail-content a {
	color: var(--primary, #09B36F);
}

.blog-detail-tags {
	margin: 28px 0 0;
	font-size: 14px;
	color: #666;
}

.blog-detail-tags span {
	font-weight: 700;
	color: #111;
}

.blog-detail-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 40px;
}

.blog-detail-actions .btn {
	border-radius: 8px;
	padding: 12px 22px;
	font-size: 15px;
	min-height: 48px;
}

.blog-detail-actions .btn-outline {
	border: none;
	background: var(--primary-light, #E2F6EE);
	color: var(--primary, #09B36F);
}

.blog-detail-actions .btn-outline:hover {
	background: rgba(9, 179, 111, 0.22);
	color: var(--primary, #09B36F);
}

@media (max-width: 960px) {
	.blog-page-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.blog-page {
		padding: 48px 0 72px;
	}

	.blog-page-grid {
		grid-template-columns: 1fr;
	}

	.blog-detail {
		padding: 40px 0 72px;
	}
}
