/**
 * Widget: Product Categories as Icons
 */
.vac-caticons__grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.vac-caticons__item {
	margin: 0;
	text-align: center;
}

.vac-caticons__link {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	padding: 10px 6px;
	color: var(--vac-heading);
}

.vac-caticons__icon {
	--vac-ci-size: 56px;
	--vac-ci-box: 120px;
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--vac-ci-box);
	height: var(--vac-ci-box);
	color: var(--vac-primary-1);
	transition: color .4s ease, transform .5s cubic-bezier(.34, 1.56, .64, 1);
}

.vac-caticons__icon::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	border-radius: 50%;
	background-color: var(--vac-bg-1);
	transition: transform .5s cubic-bezier(.34, 1.56, .64, 1), background-color .4s ease, border-radius .6s ease;
}

.vac-caticons--none .vac-caticons__icon::before {
	display: none;
}

.vac-caticons--blob .vac-caticons__icon::before {
	border-radius: 58% 42% 55% 45% / 48% 56% 44% 52%;
}

.vac-caticons__icon svg {
	position: relative;
	z-index: 1;
	width: var(--vac-ci-size);
	height: var(--vac-ci-size);
	transition: transform .5s cubic-bezier(.34, 1.56, .64, 1);
}

.vac-caticons__item:hover .vac-caticons__icon {
	color: var(--vac-secondary-2);
}

.vac-caticons__item:hover .vac-caticons__icon::before {
	background-color: var(--vac-bg-3);
	transform: scale(1.08) rotate(-6deg);
}

.vac-caticons--blob .vac-caticons__item:hover .vac-caticons__icon::before {
	border-radius: 45% 55% 48% 52% / 55% 45% 55% 45%;
}

.vac-caticons__item:hover .vac-caticons__icon svg {
	transform: translateY(-4px) rotate(-4deg) scale(1.06);
}

.vac-caticons__title {
	font-family: var(--vac-font-heading);
	font-size: 22px;
	font-weight: 500;
	line-height: 1.2;
	color: var(--vac-heading);
	transition: color .3s;
}

.vac-caticons__item:hover .vac-caticons__title {
	color: var(--vac-primary-1);
}

.vac-caticons__count {
	margin-top: -6px;
	font-size: 13px;
	color: var(--vac-muted);
	letter-spacing: .02em;
}

.vac-caticons__num {
	font-weight: 600;
	color: var(--vac-heading);
}

@media all and (min-width: 992px) and (max-width: 1199px) {
	.vac-caticons__icon { --vac-ci-box: 104px; --vac-ci-size: 48px; }
	.vac-caticons__title { font-size: 20px; }
}

@media all and (min-width: 768px) and (max-width: 991px) {
	.vac-caticons__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media all and (min-width: 576px) and (max-width: 767px) {
	.vac-caticons__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px 12px; }
	.vac-caticons__icon { --vac-ci-box: 96px; --vac-ci-size: 44px; }
	.vac-caticons__title { font-size: 19px; }
}

@media all and (max-width: 575px) {
	.vac-caticons__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 12px; }
	.vac-caticons__icon { --vac-ci-box: 92px; --vac-ci-size: 42px; }
	.vac-caticons__title { font-size: 18px; }
}

@media all and (max-width: 380px) {
	.vac-caticons__icon { --vac-ci-box: 80px; --vac-ci-size: 38px; }
	.vac-caticons__title { font-size: 17px; }
}
