.gb-product-card {
	position: relative;
	min-width: 0;
}

.gb-product-card__link {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 100%;
	aspect-ratio: 1;
	padding: max(2rem, calc(2 * var(--su)));
	border: 1px solid var(--color-deep-pine-10);
	border-radius: 0 var(--radius-lg) 0 var(--radius-lg);
	background: var(--color-deep-pine-025);
	color: var(--color-deep-pine);
	text-decoration: none;
	overflow: hidden;
	transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.gb-product-card__link:hover,
.gb-product-card__link:focus-visible {
	outline: none;
	transform: translateY(max(-0.25rem, calc(-0.25 * var(--su))));
	border-color: var(--color-deep-pine-20);
	box-shadow: 0 max(1.125rem, calc(1.125 * var(--su))) max(2.5rem, calc(2.5 * var(--su))) rgba(1, 38, 30, 0.08);
}

.gb-product-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: max(2rem, calc(2 * var(--su)));
	height: max(2rem, calc(2 * var(--su)));
	flex: 0 0 max(2rem, calc(2 * var(--su)));
	border: 1px solid var(--color-deep-pine-10);
	border-radius: var(--radius-pill);
	background: var(--color-white);
}

.gb-product-card .gb-product-card__icon-image {
	display: block;
	width: max(1.25rem, calc(1.25 * var(--su)));
	height: max(1.25rem, calc(1.25 * var(--su)));
	max-width: none;
	object-fit: contain;
}

.gb-product-card__icon-fallback {
	display: block;
	width: max(1.25rem, calc(1.25 * var(--su)));
	height: max(1.25rem, calc(1.25 * var(--su)));
	background-color: currentColor;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.167 4.167h11.666v8.333H4.167V4.167Zm1.25 1.25v5.833h9.166V5.417H5.417Zm2.083 9.166h5v1.25h-5v-1.25Z' fill='%2301261E'/%3E%3C/svg%3E");
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: contain;
	mask-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.167 4.167h11.666v8.333H4.167V4.167Zm1.25 1.25v5.833h9.166V5.417H5.417Zm2.083 9.166h5v1.25h-5v-1.25Z' fill='%2301261E'/%3E%3C/svg%3E");
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
}

.gb-product-card__arrow.pk-button-icon {
	position: absolute;
	top: max(2rem, calc(2 * var(--su)));
	right: max(2rem, calc(2 * var(--su)));
	--pk-button-icon-size: max(2rem, calc(2 * var(--su)));
	--pk-button-icon-glyph-size: max(1.25rem, calc(1.25 * var(--su)));
}

.gb-product-card__content {
	display: flex;
	flex-direction: column;
	gap: max(1rem, calc(1 * var(--su)));
	margin-top: max(3rem, calc(3 * var(--su)));
}

.gb-product-card .gb-product-card__title {
	margin: 0;
	color: var(--color-deep-pine);
	font-family: var(--pk-heading-font-family);
	font-size: var(--scaling-h4);
	font-weight: var(--pk-heading-font-weight);
	line-height: var(--pk-heading-line-height);
	letter-spacing: var(--pk-heading-letter-spacing);
}

.gb-product-card__tagline {
	display: block;
	max-width: max(13.3125rem, calc(13.3125 * var(--su)));
	color: var(--color-deep-pine);
	font-family: var(--pk-text-font-family);
	font-size: var(--desktop-body-sm);
	font-weight: var(--pk-text-font-weight);
	line-height: var(--pk-text-line-height);
	letter-spacing: var(--pk-text-letter-spacing);
}

.gb-product-card__link:hover .gb-product-card__arrow,
.gb-product-card__link:focus-visible .gb-product-card__arrow {
	background-color: var(--button-icon-bg-1-hover);
	color: var(--button-icon-color-1-hover);
}

@media (max-width: 767px) {
	.gb-product-card__link {
		aspect-ratio: auto;
		min-height: max(18rem, calc(18 * var(--su)));
		padding: max(1.5rem, calc(1.5 * var(--su)));
	}

	.gb-product-card__arrow.pk-button-icon {
		top: max(1.5rem, calc(1.5 * var(--su)));
		right: max(1.5rem, calc(1.5 * var(--su)));
	}

	.gb-product-card__tagline {
		max-width: none;
	}
}
