.cpg-mini-cart-recs,
.cpg-mini-cart-recs * {
	box-sizing: border-box;
}

.cpg-mini-cart-recs {
	width: 100%;
	margin: 0 0 14px;
	padding: 0 0 14px;
	border-bottom: 1px solid var(--cpg-border-color);
	color: var(--cpg-color-text);
}

.cpg-mini-cart-recs[hidden] {
	display: none;
}

.cpg-mini-cart-recs__title {
	margin: 0 0 8px;
	font-family: var(--cpg-title-font);
	font-size: 17px;
	line-height: 1.2;
	color: var(--cpg-color-text);
}

.cpg-mini-cart-recs__track {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: 270px;
	gap: 8px;
	overflow-x: auto;
	overflow-y: hidden;
	padding: 1px 1px 3px;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	overscroll-behavior-inline: contain;
	-webkit-overflow-scrolling: touch;
	cursor: grab;
}

.cpg-mini-cart-recs__track.is-dragging {
	cursor: grabbing;
	user-select: none;
	scroll-snap-type: none;
}

.cpg-mini-cart-recs__track::-webkit-scrollbar {
	display: none;
}

.cpg-mini-cart-recs__card {
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr);
	gap: 10px;
	min-width: 0;
	min-height: 88px;
	padding: 8px;
	overflow: hidden;
	scroll-snap-align: start;
	background: var(--cpg-cream);
	border-radius: var(--cpg-border-radius-m);
}

.cpg-mini-cart-recs__image-link {
	display: block;
	width: 72px;
	height: 72px;
	overflow: hidden;
	align-self: center;
	background: var(--cpg-white-bg);
	border-radius: var(--cpg-border-radius-s);
	text-decoration: none;
}

.cpg-mini-cart-recs__image {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: 100%;
	object-fit: contain;
}

.cpg-mini-cart-recs__body {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-rows: auto auto;
	column-gap: 8px;
	row-gap: 5px;
	min-width: 0;
	align-content: center;
}

.cpg-mini-cart-recs__name {
	grid-column: 1 / -1;
	min-width: 0;
	margin: 0;
	font-family: var(--cpg-title-font);
	font-size: 11.5px;
	line-height: 1.25;
}

.cpg-mini-cart-recs__name a {
	display: -webkit-box;
	overflow: hidden;
	color: var(--cpg-color-text);
	text-decoration: none;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.cpg-mini-cart-recs__name a:hover {
	color: var(--cpg-red);
}

.cpg-mini-cart-recs__price {
	display: flex;
	align-items: center;
	align-self: center;
	min-width: 0;
	overflow: hidden;
	gap: 4px;
	font-family: var(--cpg-title-font);
	font-size: 12px;
	line-height: 1.1;
	white-space: nowrap;
}

.cpg-mini-cart-recs__price del {
	color: var(--cpg-label-muted);
	font-size: 10px;
}

.cpg-mini-cart-recs__price ins {
	color: var(--cpg-red-primary);
	text-decoration: none;
}

.cpg-mini-cart-recs__price .amount {
	color: inherit;
}

.cpg-mini-cart-recs__add {
	display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 25px;
    padding: 4px 15px;
    border: 0;
    border-radius: 10px;
    background: var(--cpg-red);
    color: var(--cpg-white-bg);
    font-family: var(--cpg-title-font);
    font-size: 11px;
    line-height: 1;
    cursor: pointer;
    transition: background var(--cpg-transition), opacity var(--cpg-transition);
}

.cpg-mini-cart-recs__add:hover:not(:disabled) {
	background: var(--cpg-red);
}

.cpg-mini-cart-recs__add:disabled {
	cursor: progress;
	opacity: .78;
}

.cpg-mini-cart-recs.is-adding .cpg-mini-cart-recs__add:not(.is-adding) {
	pointer-events: none;
	opacity: .58;
}

.cpg-mini-cart-recs__add.is-added {
	background: var(--cpg-success-color);
}

.cpg-mini-cart-recs__add.is-error {
	background: var(--cpg-error-color);
}

.cpg-mini-cart-recs__spinner {
	display: inline-block;
	width: 10px;
	height: 10px;
	margin-right: 5px;
	border: 1.5px solid var(--cpg-white-bg);
	border-right-color: transparent;
	border-radius: 50%;
	animation: cpgMiniCartRecsSpin .7s linear infinite;
}

.cpg-mini-cart-recs__track:focus-visible,
.cpg-mini-cart-recs__add:focus-visible,
.cpg-mini-cart-recs__name a:focus-visible {
	outline: 2px solid var(--cpg-color-text);
	outline-offset: 2px;
}

@keyframes cpgMiniCartRecsSpin {
	to {
		transform: rotate(360deg);
	}
}

@media (max-width: 480px) {
	.cpg-mini-cart-recs {
		margin-bottom: 12px;
		padding-bottom: 12px;
	}

	.cpg-mini-cart-recs__title {
		margin-bottom: 7px;
		font-size: 15px;
	}

	.cpg-mini-cart-recs__track {
		grid-auto-columns: 245px;
	}

	.cpg-mini-cart-recs__card {
		grid-template-columns: 66px minmax(0, 1fr);
		gap: 8px;
		min-height: 82px;
		padding: 8px;
	}

	.cpg-mini-cart-recs__image-link {
		width: 66px;
		height: 66px;
	}

	.cpg-mini-cart-recs__name {
		font-size: 12px;
	}

	.cpg-mini-cart-recs__add {
		padding-inline: 9px;
		font-size: 10.5px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.cpg-mini-cart-recs__track {
		scroll-behavior: auto;
	}

	.cpg-mini-cart-recs__spinner {
		animation-duration: 1.4s;
	}
}
