/*==============================*/
/*=====----- TEMPLATE -----=====*/
/*==============================*/

.card-grid {
	position: relative;
	padding: 0 16px 32px;
	margin-bottom: 0;
	color: var(--gray-dark);
}

.card-grid.marin-bottom {
	margin-bottom: 40px;
}

.card-grid::before {
	position: absolute;
	inset: 275px 0 0 0;
	z-index: 1;
	display: block;
	background: var(--gray-warm);
	content: '';
	pointer-events: none;
}

.card-grid .template-inner {
	position: relative;
	z-index: 2;
	max-width: 1168px;
	padding-top: 91px;
	margin: 0 auto;
	background: url('/includes/public/assets/shared/swatches.svg') no-repeat center top / 100% auto;
}

.card-grid.hide-blob .template-inner {
	background: none;
}

.card-grid .template-header {
	margin-bottom: 18px;
}

.card-grid .template-title {
	font-family: var(--font-display);
	font-weight: bold;
	font-size: 2.875rem;
	line-height: calc(51 / 46);
	color: inherit;
}

.card-grid .template-title small {
	display: block;
	font-weight: normal;
	font-size: 1.1875rem;
}

.card-grid .view-all {
	margin-top: 12px;
}

.card-grid .slides {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 40px;
	padding: 24px 20px 32px;
	background: var(--white);
	border-radius: 12px;
	box-shadow: 0 16px 32px rgba(0, 0, 0, 0.1);
}

/*============================*/
/*=====----- SLIDES -----=====*/
/*============================*/

.card-grid .title-icon {
	width: 36px;
	margin-bottom: 16px;
}

.card-grid .slide-title {
	margin-bottom: 16px;
	font-family: var(--font-display);
	font-weight: var(--font-weight-medium);
	font-size: 1.1875rem;
	line-height: calc(28 / 19);
	color: inherit;
}

.card-grid .slide-desc {
	font-family: var(--font-body);
	font-weight: normal;
	font-size: var(--text-sm);
	line-height: calc(11 / 7);
	color: inherit;
}

.card-grid .slide-footer {
	margin-top: 16px;
}

/*===================================*/
/*=====----- MEDIA QUERIES -----=====*/
/*===================================*/

@media (min-width: 40em) {
	.card-grid .slides {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 52em) {
	.card-grid .template-inner {
		padding-top: 55px;
		background-size: 796px auto;
		background-position: right top;
	}
}

@media (min-width: 64em) {
	.card-grid {
		padding-bottom: 100px;
	}

	.card-grid.margin-bottom {
		margin-bottom: 72px;
	}

	.card-grid::before {
		top: 302px;
	}

	.card-grid .template-header {
		margin-bottom: 40px;
	}

	.card-grid .template-title {
		font-size: 3.5rem;
	}

	.card-grid .template-title small {
		font-size: 1.1875rem;
	}

	.card-grid .slides {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 85px 64px;
		padding: 47px 64px 92px;
	}
}