/* Mini koszyk (szuflada z prawej) – wymiary z Figmy "Koszyk boczny". */

.minicart__head {
	justify-content: flex-end;
	height: auto;
	padding: 1.25rem 1.25rem 0;
}

/* Mniejszy przycisk zamknięcia niż w pozostałych szufladach. */
.minicart__head .icon--close {
	width: 24px;
	height: 24px;
}

.minicart__content {
	display: flex;
	flex: 1;
	flex-direction: column;
	min-height: 0;
}

.minicart__items {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 2.5rem;
	overflow-y: auto;
	margin: 0;
	padding: 3.5rem 2.25rem 2rem;
	list-style: none;
}

.minicart__item {
	display: grid;
	grid-template-columns: 7.5625rem 1fr 1.25rem;
	align-items: center;
	gap: 1.25rem;
	transition: opacity var(--dur) ease;
}

.minicart__item.is-removing {
	opacity: 0.4;
	pointer-events: none;
}

/* Ostatnio dodany produkt. */
.minicart__item.is-new { animation: minicart-enter var(--dur-slow) var(--ease-out), minicart-new 2.4s ease; }

@keyframes minicart-enter {
	from {
		opacity: 0;
		transform: translateX(1.5rem);
	}
}

@keyframes minicart-new {
	0%, 60% {
		background: var(--color-surface);
		box-shadow: 0 0 0 0.75rem var(--color-surface);
	}
}

.minicart__image img {
	display: block;
	width: 7.5625rem;
	height: 3.125rem;
	background: none;
	object-fit: contain; /* Cały but w kadrze, bez przycinania krawędzi zdjęcia. */
	mix-blend-mode: multiply; /* Białe tło zdjęcia znika na białej szufladzie. */
}

.minicart__badge {
	display: none;
	margin-bottom: 0.375rem;
	padding: 0.125rem 0.5rem;
	background: var(--color-text-strong);
	color: var(--color-background);
	letter-spacing: 0.03em;
}

.minicart__item.is-new .minicart__badge { display: inline-block; }

.minicart__name {
	display: block;
	color: var(--color-text-strong);
	font: 400 0.875rem / normal var(--font-body);
	text-decoration: none;
}

a.minicart__name:hover { text-decoration: underline; }

.minicart__info .variation {
	display: flex;
	flex-wrap: wrap;
	gap: 0 0.25rem;
	margin: 0.25rem 0 0;
	color: var(--color-muted);
	font: 300 0.75rem / 1.5 var(--font-body);
}

.minicart__info .variation :is(dd, p) { margin: 0; }

.minicart__price {
	display: block;
	margin-top: 0.625rem;
	color: var(--color-muted);
	font: 300 0.8125rem / normal var(--font-body);
}

.minicart__remove {
	display: inline-flex;
	color: var(--color-text);
	transition: color var(--dur-fast) ease;
}

.minicart__remove:hover { color: var(--color-black); }

.minicart__footer {
	flex: none;
	padding: 0 2.25rem 2.25rem;
}

.minicart__total {
	margin: 0 0 2.25rem;
	padding-top: 1rem;
	border-top: 1px solid var(--color-muted);
	color: var(--color-text-strong);
	font: 300 1.125rem / normal var(--font-body);
	text-align: center;
}

.minicart__total strong { font-weight: 500; }

.minicart__checkout {
	/* Słabszy czarny, na hover mocniejszy (działa w każdym trybie hovera przycisków). */
	--btn-bg: var(--color-text);
	--btn-border: var(--color-text);
	--btn-fill: var(--color-black);
	--btn-fill-fg: var(--btn-primary-text);

	justify-content: center;
	width: 100%;
}

.minicart__checkout:hover {
	--btn-bg: var(--color-black);
	--btn-border: var(--color-black);
}

.minicart__checkout::after {
	width: 15px;
	height: 13px;
	-webkit-mask-image: var(--icon-arrow-custom, url("../img/arrow-right.svg"));
	mask-image: var(--icon-arrow-custom, url("../img/arrow-right.svg"));
}

.minicart__empty {
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1.5rem;
	padding: 2.25rem;
	text-align: center;
}

.minicart__empty p { margin: 0; }

/* Komunikaty błędów nad formularzem produktu (np. brak rozmiaru w magazynie). */
.solitstore-notices { margin-bottom: 1rem; }

@media (prefers-reduced-motion: reduce) {
	.minicart__item.is-new { animation: none; background: var(--color-surface); }
}

/* Mobile: mniejsze zdjęcie i odstępy – nazwa produktu ma więcej miejsca. */
@media (max-width: 47.999rem) {
	.minicart__items {
		gap: 1.75rem;
		padding: 2rem 1.25rem 1.5rem;
	}

	.minicart__item {
		grid-template-columns: 5rem 1fr 1.25rem;
		gap: 0.875rem;
	}

	.minicart__image img {
		width: 5rem;
		height: 3.5rem;
	}

	.minicart__footer { padding: 0 1.25rem 1.25rem; }
	.minicart__total { margin-bottom: 1.25rem; }
}
