/* Blog — diari de l'editorial. Estètica editorial neta (ref. drassana): imatge
   amunt, meta discreta, títol, molt d'aire; targetes sense caixa. */

.blog-head {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 64px var(--pad-x) 8px;
}
.blog-head__h {
	margin: 0;
	font-family: var(--font-display);
	font-size: 46px;
	font-weight: 600;
	letter-spacing: -1px;
	color: var(--ink);
}
.blog-head__sub {
	margin: 0;
	max-width: 640px;
	font-family: var(--font-body);
	font-size: 18px;
	line-height: 27px;
	color: var(--ink-soft);
}

/* Meta (categoria/tag · temps de lectura) */
.blog-meta { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.blog-meta__tag,
.blog-meta__cat {
	font-family: var(--font-mono);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	color: var(--wine);
}
.blog-meta__dot { color: var(--ink-faint); }
.blog-meta__min {
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: .4px;
	color: var(--ink-faint);
}
.blog-meta--sm .blog-meta__cat,
.blog-meta--sm .blog-meta__min { font-size: 10.5px; }

/* Featured */
.blog-featured {
	display: flex;
	align-items: center;
	gap: 56px;
	padding: 16px var(--pad-x) 56px;
}
.blog-featured__img {
	flex-shrink: 0;
	width: 560px;
	height: 380px;
	border-radius: 6px;
	background: var(--line) center / cover no-repeat;
}
.blog-featured__body {
	flex: 1 1 0;
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.blog-featured__title {
	margin: 0;
	font-family: var(--font-display);
	font-size: 36px;
	font-weight: 600;
	letter-spacing: -0.6px;
	line-height: 1.12;
	color: var(--ink);
}
.blog-featured__excerpt {
	margin: 0;
	max-width: 56ch;
	font-family: var(--font-body);
	font-size: 17px;
	line-height: 1.6;
	color: var(--ink-soft);
}
.blog-featured__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 6px;
	font-family: var(--font-display);
	font-size: 15px;
	font-weight: 600;
	color: var(--wine);
	text-decoration: none;
}
.blog-featured__link:hover { gap: 12px; }
.blog-featured__link svg { transition: transform .3s cubic-bezier(.22,1,.36,1); }

/* Graella de posts — targetes sense caixa */
.blog-grid-wrap { padding: 24px var(--pad-x) 88px; }
.blog-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	row-gap: 52px;
	column-gap: 40px;
}
.blog-card {
	display: flex;
	flex-direction: column;
	gap: 14px;
	text-decoration: none;
}
.blog-card__img {
	aspect-ratio: 3 / 2;
	border-radius: 6px;
	background: var(--line) center / cover no-repeat;
	overflow: hidden;
	transition: transform .4s cubic-bezier(.22,1,.36,1);
}
.blog-card:hover .blog-card__img { transform: scale(1.02); }
.blog-card__body {
	display: flex;
	flex-direction: column;
	gap: 9px;
}
.blog-card__title {
	margin: 0;
	font-family: var(--font-display);
	font-size: 19px;
	font-weight: 600;
	line-height: 1.28;
	letter-spacing: -0.2px;
	color: var(--ink);
}
.blog-card:hover .blog-card__title { color: var(--wine); }

/* Sense imatge: isotip centrat */
.blog-featured__img--empty,
.blog-card__img--empty {
	background: var(--paper-2);
	display: flex;
	align-items: center;
	justify-content: center;
}
.blog-card__img--empty img { width: 42%; height: auto; opacity: .4; }

.blog-empty { grid-column: 1 / -1; color: var(--ink-soft); font-family: var(--font-body); }

/* Paginació */
.blog-pager {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding-top: 56px;
}
.blog-pager__item {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 1px solid var(--line);
	border-radius: 4px;
	background: var(--paper-card);
	font-family: var(--font-display);
	font-size: 14px;
	color: var(--ink);
	text-decoration: none;
}
.blog-pager__item.is-active {
	background: var(--wine);
	border-color: var(--wine);
	color: var(--paper);
	font-weight: 600;
}
.blog-pager__next {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 0 14px;
	height: 40px;
	font-family: var(--font-display);
	font-size: 14px;
	font-weight: 500;
	color: var(--ink);
	text-decoration: none;
}

@media (max-width: 1024px) {
	.blog-featured { flex-direction: column; align-items: flex-start; gap: 28px; }
	.blog-featured__img { width: 100%; height: auto; aspect-ratio: 3 / 2; }
	.blog-grid { grid-template-columns: repeat(2, 1fr); column-gap: 28px; row-gap: 40px; }
}
@media (max-width: 768px) {
	.blog-head__h { font-size: 34px; }
	.blog-featured__title { font-size: 28px; }
	.blog-grid { grid-template-columns: 1fr; row-gap: 36px; }
	.blog-pager { flex-wrap: wrap; }
	.blog-pager__item, .blog-pager__next { min-width: 44px; min-height: 44px; }
}
