.so-widget-menu-categories h2 { text-align:center; }

.so-widget-menu-categories .categories { display:grid; grid-template-columns:repeat(6, 1fr); grid-template-rows:repeat(3, calc(100vw / 9.6)); grid-gap:15px; padding:15px; }

.so-widget-menu-categories .category.item-1 { grid-row-end:span 2; }
.so-widget-menu-categories .category.item-4 { grid-column-end:span 2; grid-row-end:span 2; }
.so-widget-menu-categories .category.item-6 { grid-column-end:span 2; grid-row-end:span 2; }
.so-widget-menu-categories .category.item-7 { grid-row-end:span 2; }

.so-widget-menu-categories .category a { color:#fff; display:flex; align-items:center; justify-content:center; height:100%; overflow:hidden; position:relative; text-decoration:none; }

.so-widget-menu-categories .category .image { background-position:center; background-size:cover; position:absolute; top:0; left:0; width:100%; height:100%; transition:transform 0.6s; }
.so-widget-menu-categories .category a:hover .image { transform:scale(1.05); }

.so-widget-menu-categories .category .image::before { background-color:#000; content:''; display:block; opacity:0.6; position:absolute; top:0; left:0; width:100%; height:100%; }

.so-widget-menu-categories .category .name { font-size:21px; font-weight:700; position:relative; text-align:center; text-transform:uppercase; }

@media (max-width:991px) {
	.so-widget-menu-categories .category .name { font-size:18px; }
}

@media (max-width:767px) {
	.so-widget-menu-categories .categories { grid-template-columns:repeat(3, 1fr); grid-template-rows:repeat(6, calc(100vw / 4.8)); }
}

@media (max-width:575px) {
	.so-widget-menu-categories .category .name { font-size:16px; }
}