.cat-gallery {
	padding: 0 48px 90px;
}

.cat-gallery__title {
	text-align: center;
	margin: 0 0 40px;
}

.cat-gallery__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-auto-rows: 260px;
	grid-auto-flow: dense;
	gap: 20px;
}

.kg-card {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: 18px;
	box-shadow: 0 16px 40px -26px rgba(42, 33, 24, .5);
}

.kg-card.tall { grid-row: span 2; }
.kg-card.wide { grid-column: span 2; }

.kg-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .6s ease;
}

.kg-card:hover .kg-img {
	transform: scale(1.06);
}

@media (max-width: 900px) {
	.cat-gallery { padding: 0 20px 60px; }
	.cat-gallery__grid {
		grid-template-columns: repeat(2, 1fr);
		grid-auto-rows: 200px;
		gap: 12px;
	}
	/* на 2 колонках высокие карточки дают дыры, поэтому делаем их обычными */
	.kg-card.tall { grid-row: span 1; }
}

@media (max-width: 560px) {
	.cat-gallery__grid { grid-auto-rows: 160px; }
}