.rcl-product-cat-grid {
	--rcl-pcg-gap: 20px; /* 0.75em; */
	--rcl-pcg-cols: 2;
	--rcl-pcg-content-width: 75%;
	--rcl-pcg-media-width: 25%;
	--rcl-pcg-border-radius: 20px; /* 0.75rem; */
	display: grid;
	gap: var(--rcl-pcg-gap);
	grid-template-columns: repeat(
		auto-fit,
		minmax(min(100%, max(12rem, calc((100% - calc(var(--rcl-pcg-cols) - 1) * var(--rcl-pcg-gap)) / var(--rcl-pcg-cols)))), 1fr)
	);
	margin: 1em 0;
}

.rcl-product-cat-grid__item {
	position: relative;
	display: flex;
	flex-direction: row;
	align-items: stretch;
	min-height: 65px;
	padding: 0;
	border-radius: var(--rcl-pcg-border-radius);
	outline: 2px solid var(--e-global-color-accent);
	text-decoration: none;
	overflow: hidden;
	isolation: isolate;
	background-image: linear-gradient(
		to right,
		var(--e-global-color-33f6861),
		var(--e-global-color-accent)
	);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	transition: transform 300ms ease, outline-color 300ms ease, background-position 0.4s ease, box-shadow 0.3s ease;
}

.rcl-product-cat-grid__item::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background-image: linear-gradient(
		to right,
		color-mix(in srgb, var(--e-global-color-33f6861) 90%, transparent),
		color-mix(in srgb, var(--e-global-color-accent) 55%, transparent)
	);
	background-size: 200% 100%;
	background-position: 100% 0;
	background-repeat: no-repeat;
	transition: background-position 0.4s ease, opacity 0.4s ease;
	pointer-events: none;
}

.rcl-product-cat-grid__content {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 0.35rem;
	flex: 1 1 var(--rcl-pcg-content-width);
	width: var(--rcl-pcg-content-width);
	max-width: var(--rcl-pcg-content-width);
	padding: 1.5rem 1.75rem;
	box-sizing: border-box;
}

.rcl-product-cat-grid__item:not(:has(.rcl-product-cat-grid__media)) .rcl-product-cat-grid__content {
	flex: 1 1 100%;
	width: 100%;
	max-width: 100%;
}

.rcl-product-cat-grid__media {
	position: relative;
	z-index: 2;
	flex: 0 0 var(--rcl-pcg-media-width);
	width: var(--rcl-pcg-media-width);
	align-self: stretch;
	background-color: #fff;
	background-image: var(--rcl-pcg-bg-image, none);
	background-position: center;
	background-repeat: no-repeat;
	background-size: auto 80%;
	border-radius: var(--rcl-pcg-border-radius);
}

.rcl-product-cat-grid__heading {
	font-size: 1.5rem;
}

.rcl-product-cat-grid__heading,
.rcl-product-cat-grid__text {
	position: relative;
	z-index: 2;
}

.rcl-product-cat-grid__name,
.rcl-product-cat-grid__count {
	position: relative;
	z-index: 2;
}

.rcl-product-cat-grid__text {
	color: #fff;
	font-size: 0.875em;
	line-height: 1.4;
	width: 100%;
}

.rcl-product-cat-grid__text :where(p, h1, h2, h3, h4, h5, h6) {
	color: inherit;
	margin: 0 0 0.35em;
}

.rcl-product-cat-grid__text :where(p:last-child, h1:last-child, h2:last-child, h3:last-child, h4:last-child, h5:last-child, h6:last-child) {
	margin-bottom: 0;
}

.rcl-product-cat-grid__name {
	color: var(--e-global-color-secondary);
	transition: color 0.25s ease;
	font-weight: bold;
	font-size: 1em;
	line-height: 1.2;
}

.rcl-product-cat-grid__count {
	color: var(--e-global-color-86ee97e);
	font-size: 0.75em;
}

.rcl-product-cat-grid__item:hover {
	transform: scale(1.05);
	outline-color: var(--e-global-color-86ee97e);
	z-index: 1;
	background-position: 0% 0;
}

.rcl-product-cat-grid__item:hover::after {
	background-position: 0% 0;
	opacity: 0.75;
}

.rcl-product-cat-grid__item:hover .rcl-product-cat-grid__name {
	color: var(--e-global-color-secondary);
}
