/* --- SIATKA KART (GRID) --- */
.grid {
	display: grid;
	gap: 30px;
	margin: 40px 0;
}

.grid--3-cols {
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.card {
	background: var(--white);
	border: 1px solid #e5e5e5;
	border-radius: 8px;
	overflow: hidden;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.card:hover {
	transform: translateY(-5px);
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

.card__content {
	padding: 20px;
}

.card__image img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

.card__title {
	margin-top: 0;
}

.card__excerpt {
	min-height: 3.5em;
}

.archive-page {
	min-height: 60vh;
	padding: 64px 0 88px;
	background: #f9fafb;
}

.archive-page__header {
	max-width: 760px;
	margin: 0 auto 32px;
	text-align: center;
}

.archive-page__header h1 {
	margin: 0 0 12px;
	color: var(--dark);
	font-size: clamp(32px, 5vw, 46px);
}

.archive-page__header p:last-child {
	margin: 0;
}

.archive-page__eyebrow {
	margin: 0 0 8px;
	color: var(--primary);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

@media (max-width: 480px) {

	.grid {
		gap: 18px;
		margin: 28px 0;
	}

	.grid--3-cols {
		grid-template-columns: 1fr;
	}
}

.not-found-page {
	min-height: 60vh;
	padding: 88px 0;
	background: linear-gradient(180deg, #f4f6f8 0, #fff 100%);
}

.not-found-page__content {
	max-width: 700px;
	text-align: center;
}

.not-found-page h1 {
	margin: 0 0 16px;
	font-size: clamp(34px, 5vw, 52px);
}

.not-found-page__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
	margin-top: 28px;
}

.btn--secondary {
	border: 1px solid var(--primary);
	background: transparent;
	color: var(--primary);
}

.btn--secondary:hover,
.btn--secondary:focus-visible,
.btn--secondary:active {
	border-color: var(--primary-hover);
	background-color: var(--primary-hover);
	color: var(--white);
}

.search-page__results {
	max-width: 820px;
	margin: 0 auto;
}

.search-result {
	padding: 24px 0;
	border-bottom: 1px solid #e5e7eb;
}

.search-result h2 {
	margin: 0 0 8px;
	font-size: 24px;
}

.search-result__link {
	display: inline-block;
	margin-top: 8px;
	color: var(--primary);
	font-weight: 700;
}
