/* pasek w koszyku: jeden tor z punktami + linia rabatu (podwójna klasa wygrywa ze starym .tp-freeship z tp-02) */
	.tp-freeship.tp-prog{box-sizing:border-box;width:calc(100% - 32px);max-width:1168px;margin:24px auto 0;padding:18px 22px 16px;border:1px solid var(--tp-line,#e7e2da);border-radius:12px;background:#fff;color:var(--tp-ink,#1f1d1a)}
	.tp-freeship.tp-prog[hidden]{display:none}
	.tp-prog__msg{margin:0 0 20px;font-size:.9375rem;line-height:1.45}
	.tp-prog__msg strong{white-space:nowrap}
	.tp-prog__note{display:block;margin-top:2px;font-size:.8125rem;color:var(--tp-muted,#5f5b55)}
	.tp-prog__track{position:relative;height:6px;margin:0 14px 34px 0;border-radius:99px;background:#eee8e1}
	.tp-prog__fill{height:100%;width:0;border-radius:inherit;background:var(--tp-accent,#ff7a3d);transition:width .5s ease}
	.tp-prog__mark{position:absolute;top:50%;transform:translate(-50%,-50%)}
	.tp-prog__dot{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#fff;color:var(--tp-muted,#5f5b55);box-shadow:0 0 0 2px #eee8e1;transition:background-color .3s,color .3s}
	.tp-prog__dot svg{width:16px;height:16px}
	.tp-prog__mark.is-done .tp-prog__dot{background:var(--tp-accent,#ff7a3d);color:var(--tp-on-accent,#1f1d1a);box-shadow:none}
	.tp-prog__lbl{position:absolute;top:36px;left:50%;transform:translateX(-50%);font-size:.75rem;font-weight:600;color:var(--tp-muted,#5f5b55);white-space:nowrap}
	.tp-prog__mark.is-done .tp-prog__lbl{color:var(--tp-ink,#1f1d1a)}
	.tp-prog__disc{display:flex;align-items:flex-start;gap:10px;margin:0;padding-top:12px;border-top:1px solid var(--tp-line,#e7e2da);font-size:.875rem;line-height:1.45}
	.tp-prog__disc[hidden]{display:none}
	.tp-prog__disc svg{flex:0 0 18px;width:18px;height:18px;margin-top:1px;color:var(--tp-accent-text,#c94a08)}
	.tp-freeship.tp-prog:not([hidden]) + .wp-block-woocommerce-cart{padding-top:16px}
	/* "Twój koszyk jest pusty" nie mignie, zanim koszyk się wczyta. Pokazuje się dopiero,
	   gdy skrypt potwierdzi pusty koszyk — a gdyby skrypt nie ruszył, awaryjnie po 3 s. */
	body:not(.tp-cart-ready) .wp-block-woocommerce-empty-cart-block{visibility:hidden;animation:tp-cart-reveal 0s linear 3s forwards}
	@keyframes tp-cart-reveal{to{visibility:visible}}
	@media (prefers-reduced-motion:reduce){.tp-prog__fill,.tp-prog__dot{transition:none}}

	.gift-badge,.gift-item-row .wc-block-components-product-name::after{display:inline-block;background:#f4f0ec;color:#c95a22;padding:2px 10px;border-radius:99px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;margin-left:6px;vertical-align:middle;text-decoration:none}
	.gift-item-row .wc-block-components-product-name::after{content:"Za 1 gr"}
	.gift-item-row .wc-block-cart-item__remove-link{display:none!important}
	.wc-block-cart-items__row.gift-item-row td{background:#fafafa}