/* ---------- Breadcrumbs ---------- */
.breadcrumbs {
	padding-block: var(--space-4);
	font-size: var(--fs-small);
	color: var(--color-text-secondary);
}
.breadcrumbs ol {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-1) var(--space-2);
}
.breadcrumbs li:not(:last-child)::after {
	content: "\2039";
	margin-inline-start: var(--space-2);
	color: var(--color-neutral-300);
}
.breadcrumbs a {
	color: var(--color-text-secondary);
}

/* ---------- Archive header ---------- */
.archive-header {
	padding-block: var(--space-6) var(--space-8);
	border-bottom: 1px solid var(--color-neutral-200);
	margin-bottom: var(--space-8);
}
.archive-header__description {
	color: var(--color-text-secondary);
	margin-top: var(--space-3);
	max-width: var(--container-article);
}

/* ---------- Archive grid ---------- */
.archive-page {
	padding-block: var(--space-8) var(--space-16);
}
.archive-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-6);
}
@media (min-width: 768px) {
	.archive-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (min-width: 1024px) {
	.archive-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}
.archive-card .card__media {
	aspect-ratio: 16 / 9;
	position: relative;
}
.archive-card__badge {
	position: absolute;
	top: var(--space-3);
	right: var(--space-3);
	background: var(--color-teal-600);
	color: var(--color-neutral-0);
	font-size: var(--fs-meta);
	font-weight: var(--fw-semibold);
	padding: var(--space-1) var(--space-3);
	border-radius: var(--radius-pill);
}
.archive-card__excerpt {
	color: var(--color-text-secondary);
	font-size: var(--fs-small);
	line-height: var(--lh-small);
	margin-bottom: var(--space-2);
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* ---------- Pagination ---------- */
.archive-pagination {
	margin-top: var(--space-12);
	display: flex;
	justify-content: center;
	gap: var(--space-2);
}
.archive-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: var(--touch-target-min);
	height: var(--touch-target-min);
	padding-inline: var(--space-3);
	border-radius: var(--radius-sm);
	color: var(--color-navy-900);
	background: var(--color-neutral-50);
}
.archive-pagination .page-numbers.current {
	background: var(--color-teal-500);
	color: var(--color-neutral-0);
}

/* ---------- 404 ---------- */
.error-404-page {
	text-align: center;
	max-width: var(--container-article);
	padding-block: var(--space-20);
}
.error-404-page .search-form {
	display: flex;
	gap: var(--space-2);
	max-width: 480px;
	margin-inline: auto;
}
.error-404-page .search-field {
	flex: 1;
	min-height: var(--touch-target-min);
	padding-inline: var(--space-4);
	border: 1px solid var(--color-neutral-300);
	border-radius: var(--radius-sm);
	font-family: var(--font-family-base);
	font-size: var(--fs-body);
}
