/* ---------- karta produktu w siatce ---------- */
	.tp-wrap ul.products li.product .tp-card__media {
		position: relative; display: block; margin: 0 0 14px; aspect-ratio: 1;
		border-radius: 10px; background: #faf9f7; overflow: hidden;
	}
	/* multiply: białe tło zdjęcia "znika" w kafelku, więc wszystkie zdjęcia
	   leżą na tym samym jasnym tle, niezależnie od tego, jak je zrobiono */
	.tp-wrap ul.products li.product .tp-card__media img {
		position: absolute; inset: 0; box-sizing: border-box;
		width: 100% !important; height: 100% !important; margin: 0 !important; padding: 9%;
		object-fit: contain; mix-blend-mode: multiply; background: transparent !important;
		border-radius: 0 !important; aspect-ratio: auto;
	}
	.tp-wrap ul.products li.product:hover .tp-card__media img { opacity: 1; }
	.tp-wrap ul.products li.product .tp-card__media .onsale {
		position: absolute; top: 10px; left: 10px; right: auto; z-index: 1;
		min-width: 0; min-height: 0; margin: 0; padding: 4px 10px; border-radius: 99px;
		background: #fff; color: var(--tp-accent-text); font-size: .75rem; font-weight: 700; line-height: 1.3;
	}
	.tp-wrap ul.products li.product .tp-card__media .tp-card__var {
		position: absolute; left: 10px; bottom: 10px; z-index: 1;
		padding: 4px 10px; border-radius: 99px; background: #fff;
		color: var(--tp-ink); font-size: .75rem; font-weight: 600; line-height: 1.3;
		box-shadow: 0 1px 4px rgba(31, 29, 26, .1);
	}
	.tp-wrap ul.products li.product .price .tp-from { margin-right: 2px; font-size: .75em; font-weight: 500; color: var(--tp-muted); }
	.tp-wrap ul.products li.product .woocommerce-loop-product__title {
		margin: 0 0 6px; padding: 0; font-size: .9375rem; font-weight: 500; line-height: 1.4; color: var(--tp-ink);
	}
	.tp-wrap ul.products li.product a.woocommerce-LoopProduct-link:hover .woocommerce-loop-product__title { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--tp-line); }
	.tp-wrap ul.products li.product .star-rating { margin: 0 0 8px; }
	.tp-wrap ul.products li.product .price { margin: 0 0 14px; font-size: 1.125rem; font-weight: 700; color: var(--tp-ink); }
	.tp-wrap ul.products li.product .price del { margin-right: 6px; font-size: .8em; font-weight: 400; color: var(--tp-muted); opacity: 1; }
	.tp-wrap ul.products li.product .price ins { color: var(--tp-sale, #d92d20); text-decoration: none; }
	.tp-wrap ul.products li.product .button {
		display: flex; align-items: center; justify-content: center; min-height: 42px; padding: 0 12px;
		border: 1px solid var(--tp-line); border-radius: 8px; background: #fff;
		color: var(--tp-ink); font-size: .875rem; font-weight: 600;
	}
	.tp-wrap ul.products li.product .button:hover { border-color: var(--tp-accent); background: var(--tp-accent); color: var(--tp-on-accent); }
	.tp-wrap ul.products li.product .button.loading { opacity: .6; }
	.tp-wrap ul.products li.product .button.added { border-color: var(--tp-ok); color: var(--tp-ok); }
	.tp-wrap ul.products li.product .button.added::after { content: none; }
	.tp-wrap ul.products li.product .added_to_cart { display: block; margin-top: 8px; font-size: .8125rem; font-weight: 600; text-align: center; color: var(--tp-ink); text-decoration: underline; text-underline-offset: 3px; }
	@media (max-width: 559px) {
		.tp-wrap ul.products li.product .tp-card__media { margin-bottom: 10px; border-radius: 8px; }
		.tp-wrap ul.products li.product .woocommerce-loop-product__title { font-size: .875rem; line-height: 1.35; }
		.tp-wrap ul.products li.product .price { margin-bottom: 10px; font-size: 1rem; }
		.tp-wrap ul.products li.product .button { min-height: 40px; font-size: .8125rem; }
	}