.categories-container {
	padding: 1.5rem 2rem;
	gap: 1.5rem;
	display: grid;
}

.categories-container a {
	text-decoration: none;
	color: unset;
}

.categories-container .category {
	max-width: 360px;
	margin: auto
}

.categories-container img {
	max-width: 100%;
}


.categories-container .category-description {
	max-width: calc(100% - 2rem);
	background-color: #f8f8f8;
	border-bottom: 5px solid var(--risalto-red-light);
	margin: -3rem auto 0;
	position: relative;
	padding: 1rem 2rem;
	box-sizing: border-box;
}

 .category-image-container
{
	--size: calc(100vw - 64px);
	width: var(--size);
	height: calc(var(--size) * 3 / 4);
	overflow: hidden;
	position: relative;
	justify-self: center;
}

 .category-image-container img
{   
	display: block;
	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 100%;
	position: absolute;
	object-fit: cover;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
} 

@media (min-width:425px)
{
	.category-image-container
 {
		--size: 360px;
 }
}

@media (min-width:600px)
{
	.categories-container .category
	{
		max-width: 420px;
	}

	.category-image-container
	{
		--size: 420px;
	}
}

@media (min-width:992px)
{
	.categories-container
	{
		grid-template-columns: repeat(3, 1fr);
		max-width: 1200px;
		margin: auto;
	}

	.categories-container .category
	{
		max-width: unset;
		flex: 1;
	}

	.category-image-container
	{
		--size: calc((100vw - 64px - 48px) / 3);
	}
}

@media (min-width:1264px)
{
	.category-image-container
	{
		--size: calc((1200px - 64px - 48px) / 3);
	}
}
