/* Sparkton WooCommerce Category Grid */
.scg-section,
.scg-section * {
	box-sizing: border-box;
}

.scg-section {
	width: 100%;
	position: relative;
	background: #fff;
}

.scg-inner {
	width: 100%;
	margin-inline: auto;
}

.scg-intro {
	width: 100%;
}

.scg-heading {
	display: block;
	padding: 0;
	font-size: clamp(32px, 4vw, 58px);
	line-height: 1.08;
	font-weight: 700;
	letter-spacing: -.035em;
}

.scg-heading-highlight {
	color: #458300;
}

.scg-intro-description {
	margin: 0;
	font-size: clamp(16px, 1.6vw, 22px);
	line-height: 1.5;
}

.scg-grid {
	display: grid;
	grid-template-columns: repeat(var(--scg-columns-desktop, 4), minmax(0, 1fr));
	align-items: stretch;
	width: 100%;
}

.scg-item {
	min-width: 0;
	display: flex;
}

.scg-card {
	width: 100%;
	min-width: 0;
	display: flex;
	flex-direction: column;
	position: relative;
	overflow: hidden;
	color: inherit;
	text-decoration: none !important;
	outline: none;
	transition-property: transform, box-shadow, border-color, background-color;
	transition-timing-function: ease;
	isolation: isolate;
}

.scg-card:hover,
.scg-card:focus,
.scg-card:focus-visible {
	text-decoration: none !important;
}

.scg-card:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

.scg-equal-height .scg-card {
	height: 100%;
}

.scg-media {
	position: relative;
	width: 100%;
	flex: 0 0 auto;
	overflow: visible;
}

.scg-image-wrap {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	overflow: hidden;
	flex: 0 0 auto;
}

.scg-image {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	transition: transform .45s cubic-bezier(.2,.7,.2,1);
	transform-origin: center;
}

.scg-no-image {
	display: block;
	width: 100%;
	height: 100%;
	background:
		linear-gradient(135deg, rgba(74,148,20,.08), rgba(74,148,20,0)),
		repeating-linear-gradient(45deg, #f5f6f7 0 14px, #fff 14px 28px);
}

.scg-content {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	flex: 1 1 auto;
	z-index: 2;
}

.scg-copy {
	display: flex;
	flex-direction: column;
	min-width: 0;
	flex: 1 1 auto;
}

.scg-title {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
	margin: 0;
	font-size: clamp(15px, 1.1vw, 18px);
	line-height: 1.25;
	font-weight: 700;
	transition: color .25s ease;
}

.scg-meta,
.scg-description {
	display: block;
	margin: 0;
	font-size: 12px;
	line-height: 1.45;
}

.scg-description {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

.scg-icon {
	position: absolute;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	z-index: 5;
	line-height: 1;
	transition: color .25s ease, background-color .25s ease, transform .25s ease, box-shadow .25s ease;
}

.scg-icon i,
.scg-icon svg,
.scg-arrow i,
.scg-arrow svg {
	display: block;
	fill: currentColor;
}

.scg-card:hover .scg-icon,
.scg-card:focus-visible .scg-icon {
	transform: scale(1.06);
}

.scg-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	line-height: 1;
	transition: color .25s ease, transform .25s ease;
}

/* Desktop mosaic patterns. */
.scg-layout-feature-first .scg-item:first-child {
	grid-column: span 2;
	grid-row: span 2;
}

.scg-layout-feature-first .scg-item:first-child .scg-image-wrap {
	height: calc(100% - 110px);
	min-height: 360px;
}

.scg-layout-alternating-wide .scg-item:nth-child(5n + 1),
.scg-layout-alternating-wide .scg-item:nth-child(5n + 5) {
	grid-column: span 2;
}

.scg-layout-editorial .scg-item:nth-child(7n + 1) {
	grid-column: span 2;
	grid-row: span 2;
}

.scg-layout-editorial .scg-item:nth-child(7n + 4),
.scg-layout-editorial .scg-item:nth-child(7n + 7) {
	grid-column: span 2;
}

.scg-no-spans .scg-item {
	grid-column: span 1 !important;
	grid-row: span 1 !important;
}

.scg-editor-message {
	padding: 18px 20px;
	border: 1px dashed #c9cdd2;
	border-radius: 10px;
	background: #fff;
	color: #5f6368;
	font-size: 14px;
}

@media (max-width: 1024px) {
	.scg-grid {
		grid-template-columns: repeat(var(--scg-columns-tablet, 2), minmax(0, 1fr));
	}

	.scg-reset-tablet .scg-item {
		grid-column: span 1 !important;
		grid-row: span 1 !important;
	}

	.scg-reset-tablet .scg-item .scg-image-wrap {
		height: inherit;
		min-height: 0;
	}
}

@media (max-width: 767px) {
	.scg-grid {
		grid-template-columns: repeat(var(--scg-columns-mobile, 1), minmax(0, 1fr));
	}

	.scg-item {
		grid-column: span 1 !important;
		grid-row: span 1 !important;
	}

	.scg-layout-feature-first .scg-item:first-child .scg-image-wrap {
		height: inherit;
		min-height: 0;
	}

	.scg-heading {
		letter-spacing: -.025em;
	}

	.scg-title {
		font-size: 14px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.scg-card,
	.scg-image,
	.scg-icon,
	.scg-arrow {
		transition-duration: .01ms !important;
	}
}
