section.categories {}
.categories__container {}
.categories__content {}
.categories__heading { 
	margin-inline: auto;
	margin-bottom: 40px;
	color: var(--black-color);
 }
.categories__content > svg { 
	margin-inline: auto; 
	margin-bottom: -10px;
	width: clamp(200px, 27.78vw, 400px);
	aspect-ratio: 20 / 13;
	height: auto;
	display: block;
}
.categories .gallery {
	display: grid; gap: 17px;
	grid-template-columns: minmax(100px, 1fr) minmax(100px, 1fr);
}
.categories__gallery {}
.categories__gallery-column.part-1 {
	grid-template-areas: 
		"item-1-1 item-1-2"
		"item-1-3 item-1-3"
		"item-1-4 item-1-5"
		"item-1-6 item-1-6";
}
.gallery .part-1 .item-link:nth-child(1) { grid-area: item-1-1; }
.gallery .part-1 .item-link:nth-child(2) { grid-area: item-1-2; }
.gallery .part-1 .item-link:nth-child(3) { grid-area: item-1-3; }
.gallery .part-1 .item-link:nth-child(4) { grid-area: item-1-4; }
.gallery .part-1 .item-link:nth-child(5) { grid-area: item-1-5; }
.gallery .part-1 .item-link:nth-child(6) { grid-area: item-1-6; }
.categories__gallery-column.part-2 {
	grid-template-areas: 
		"item-2-1 item-2-1"
		"item-2-2 item-2-3"
		"item-2-4 item-2-4"
		"item-2-5 item-2-5";
}
.gallery .part-2 .item-link:nth-child(1) { grid-area: item-2-1; }
.gallery .part-2 .item-link:nth-child(2) { grid-area: item-2-2; }
.gallery .part-2 .item-link:nth-child(3) { grid-area: item-2-3; }
.gallery .part-2 .item-link:nth-child(4) { grid-area: item-2-4; }
.gallery .part-2 .item-link:nth-child(5) { grid-area: item-2-5; }
.categories__item { 
	position: relative;
	border-radius: 20px; 
	overflow: hidden;
	height: 100%;
}
.categories__item-link { height: 100%; }
.categories__item-link:has(.small._1x1)  { aspect-ratio: 331 / 319; }
.categories__item-link:has(.small._1x2)  { aspect-ratio: 331 / 497; }
.categories__item-link:has(.small._2x1)  { aspect-ratio: 680 / 354; }
.categories__item-link:has(.medium._2x1) { aspect-ratio: 680 / 424; }
.categories__item-link:has(.large._1x2)  { aspect-ratio: 680 / 863; }
.categories__item:hover .categories__item-image { transform: scale(1); }
.categories__item:hover .categories__item-text { bottom: -80px; }
.categories__item::before {
	content: "";
	position: absolute;
	z-index: 1;
	inset: 0;
	pointer-events: none;
	background-image: 
		linear-gradient( to top, 
			rgba(0, 0, 0, 0.4) 0%, 
			rgba(0, 0, 0, 0) 30%
		);
	border-radius: 20px;
}
.categories__item-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1.2);
	transition: transform 0.4s ease;
	will-change: transform;
}
.categories__item-text {
	position: absolute;
	z-index: 2;
	bottom: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 20px;
	color: var(--white-color);
	transition: bottom 0.4s ease;
	will-change: bottom;
}
.categories__item.medium .categories__item-text,
.categories__item.large .categories__item-text,
.categories__item.small._2x1 .categories__item-text {
	flex-direction: row;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}
.categories__button {
	margin-top: 40px;
    margin-inline: auto;
}
.categories.categories--swiper .categories__gallery {
	display: block;
	overflow: visible !important;
}
.categories.categories--swiper .categories__gallery-column {
	display: none;
}
.categories.categories--swiper .swiper-wrapper {
	align-items: stretch;
}
.categories.categories--swiper .swiper-slide {
	height: auto;
	width: clamp(220px, 70vw, 360px);
}
.categories.categories--swiper .swiper-slide .categories__item {
	width: 100%;
	height: 100%;
}
