/* ZONDA – koszyk, kasa i potwierdzenie (klasyczne szablony WooCommerce). */

/* Kroki */
.z-steps {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 20px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-family: var(--f-mono, 'IBM Plex Mono'), monospace;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.z-steps__item {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--c-text-3, #5B6164);
}

.z-steps__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border: 2px solid currentColor;
	border-radius: 50%;
}

.z-steps__item.is-current {
	color: var(--c-black, #040809);
}

.z-steps__item.is-current .z-steps__num {
	background: var(--c-orange, #EF4923);
	border-color: var(--c-black, #040809);
}

.z-steps__item.is-done {
	color: var(--c-green-text, #046A33);
}

/* Pasek darmowej dostawy */
.z-freeship {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 14px 16px;
	background: var(--c-yellow, #FFF94F);
	border: 2px solid var(--c-black, #040809);
	border-radius: 4px;
	font-size: 15px;
}

.z-freeship[hidden] {
	display: none;
}

.z-freeship__bar {
	display: block;
	height: 8px;
	background: #fff;
	border: 1px solid var(--c-black, #040809);
	border-radius: 4px;
	overflow: hidden;
}

.z-freeship__bar span {
	display: block;
	height: 100%;
	background: var(--c-orange, #EF4923);
	transition: width 0.3s ease;
}

.z-freeship.is-done .z-freeship__bar span {
	background: var(--c-green, #058C42);
}

/* Koszyk – krok 1 (templates/cart/cart.php): karty po lewej, podsumowanie po prawej (wzór: koszyk More'moi) */
.woocommerce-cart .woocommerce { display: block; }
.z-cart__secure {
	margin: 0 0 20px;
	padding: 8px 12px;
	border-radius: 4px;
	background: var(--c-bg-photo, #F1ECEC);
	color: var(--c-text-2, #3E4447);
	font-size: 14px;
	text-align: center;
}
.z-cart__secure::before { content: "🔒 "; }
.z-cart {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	gap: 24px;
	align-items: start;
}
.z-cart__main { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.z-cart__aside { position: sticky; top: 100px; display: flex; flex-direction: column; gap: 16px; }
.z-cart__card,
.z-cart__summary {
	padding: 24px;
	border: 2px solid var(--c-black, #040809);
	border-radius: var(--r-card, 6px);
	background: #fff;
}
.z-cart__title {
	margin: 0 0 16px;
	color: var(--c-black, #040809);
	font-family: var(--f-display, 'Barlow Condensed'), sans-serif;
	font-size: 28px;
	font-weight: 800;
	line-height: 1;
	text-transform: uppercase;
}
.z-cart__card .z-freeship { margin-bottom: 8px; }
.z-cart__main > .z-pitch { margin: 0; }

/* Pozycje */
.z-cart__item {
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr) auto 110px 32px;
	gap: 16px;
	align-items: center;
	padding: 16px 0;
	border-bottom: 1px solid var(--c-line, #E6E0E1);
}
.z-cart__thumb img { display: block; width: 96px; height: auto; border-radius: 4px; background: var(--c-bg-photo, #F6F6F6); }
.z-cart .z-cart__name {
	color: var(--c-black, #040809) !important;
	font-family: var(--f-display, 'Barlow Condensed'), sans-serif;
	font-size: 19px;
	font-weight: 800;
	line-height: 1.1;
	text-decoration: none !important;
	text-transform: uppercase;
}
.z-cart__info .variation { display: grid; grid-template-columns: auto 1fr; gap: 2px 6px; margin: 6px 0 0; font-size: 13px; color: var(--c-text-2, #3E4447); }
.z-cart__info .variation dt { font-weight: 600; }
.z-cart__info .variation dd,
.z-cart__info .variation dd p { margin: 0; }
.z-cart a.z-cart__change {
	display: inline-block;
	margin-top: 6px;
	color: var(--c-black, #040809) !important;
	font-size: 14px;
	font-weight: 700;
	text-decoration: underline !important;
	text-underline-offset: 2px;
}
.z-cart__qty .quantity { display: inline-flex; align-items: center; border: 1px solid var(--c-field-border, #CFC8C9); border-radius: 4px; }
.z-cart__qty input.qty { width: 40px; height: 36px; padding: 0; border: 0; text-align: center; -moz-appearance: textfield; }
.z-cart__qty input.qty::-webkit-inner-spin-button,
.z-cart__qty input.qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.z-cart .z-qty-btn {
	width: 32px;
	height: 36px;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: var(--c-black, #040809) !important;
	font-size: 18px;
	cursor: pointer;
}
.z-cart__price { font-weight: 700; text-align: right; white-space: nowrap; }
.z-cart a.remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	color: var(--c-black, #040809) !important;
	font-size: 22px;
	text-decoration: none !important;
}
.z-cart a.remove:hover { background: var(--c-orange-text, #C2361A); color: #fff !important; }
.z-cart__notes { margin: 16px 0 0; padding: 0; list-style: none; font-size: 14px; color: var(--c-text-2, #3E4447); }
.z-cart__note { margin: 4px 0; }
.z-cart__note--info::before { content: "ⓘ "; }
.z-cart__note--truck::before { content: "🚚 "; }

/* Dostawa i płatność */
.z-cart__options { margin: 0; padding: 0; list-style: none; border: 1px solid var(--c-line, #E6E0E1); border-radius: 6px; }
.z-cart__options li + li { border-top: 1px solid var(--c-line, #E6E0E1); }
.z-cart__option { display: flex; align-items: center; gap: 14px; padding: 16px; cursor: pointer; }
.z-cart__option:has(input:checked) { outline: 2px solid var(--c-black, #040809); outline-offset: -2px; border-radius: 6px; background: var(--c-snow, #FFFBFC); }
.z-cart__option input { flex: 0 0 auto; width: 20px; height: 20px; margin: 0; accent-color: var(--c-black, #040809); }
.z-cart__option-text { flex: 1; display: flex; flex-direction: column; gap: 2px; }
.z-cart__option-text strong { font-size: 16px; }
.z-cart__option-text small { color: var(--c-text-3, #5B6164); font-size: 13px; }
.z-cart__option-price { font-weight: 700; white-space: nowrap; }
.z-cart__option-icon img { max-height: 24px; width: auto; }

/* Podsumowanie */
.z-cart__coupon { margin-bottom: 16px; }
.z-cart__coupon label { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 700; }
.z-cart__coupon-row { display: flex; }
.z-cart__coupon-row input { flex: 1; min-width: 0; height: 44px; padding: 0 12px; border: 1px solid var(--c-field-border, #CFC8C9); border-right: 0; border-radius: 4px 0 0 4px; }
.z-cart .z-cart__coupon-btn {
	height: 44px;
	padding: 0 16px !important;
	border: 1px solid var(--c-black, #040809) !important;
	border-radius: 0 4px 4px 0 !important;
	background: var(--c-black, #040809) !important;
	color: #fff !important;
	font-weight: 700;
	cursor: pointer;
}
.z-cart__coupon-msg:empty { display: none; }
.z-cart__coupon-msg { margin-top: 8px; font-size: 13px; }
.z-cart__coupon-msg ul,
.z-cart__coupon-msg .woocommerce-message,
.z-cart__coupon-msg .woocommerce-error { margin: 0; padding: 8px 10px; list-style: none; }
.z-cart__costs { width: 100%; margin: 0; border: 0 !important; border-collapse: collapse; }
.z-cart__costs th,
.z-cart__costs td { padding: 6px 0 !important; border: 0 !important; background: none !important; font-size: 15px; font-weight: 400; text-align: left; }
.z-cart__costs td { text-align: right !important; white-space: nowrap; }
.z-cart__costs td::before { display: none !important; }
.z-cart__costs tr.order-total th,
.z-cart__costs tr.order-total td { padding-top: 14px !important; border-top: 1px solid var(--c-line, #E6E0E1) !important; }
.z-cart__costs tr.order-total th { font-weight: 700; }
.z-cart__costs tr.order-total .amount { font-family: var(--f-display, 'Barlow Condensed'), sans-serif; font-size: 30px; font-weight: 800; }
.z-cart__costs tr.order-total small { display: block; font-size: 12px; color: var(--c-text-3, #5B6164); white-space: normal; }
.z-cart .wc-proceed-to-checkout { padding: 16px 0 0 !important; }
.z-cart .wc-proceed-to-checkout a.checkout-button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	min-height: 54px;
	margin: 0 !important;
	border: 2px solid var(--c-black, #040809);
	border-radius: 4px;
	background: var(--c-orange, #EF4923) !important;
	color: var(--c-black, #040809) !important;
	box-shadow: 3px 3px 0 var(--c-black, #040809);
	font-family: var(--f-display, 'Barlow Condensed'), sans-serif;
	font-size: 21px;
	font-weight: 800;
	text-transform: uppercase;
	text-decoration: none !important;
}
.z-cart__trust { margin: 0; padding: 0 8px; list-style: none; font-size: 14px; }
.z-cart__trust li { margin: 6px 0; }
.z-cart__trust li::before { content: "✓ "; color: var(--c-green, #058C42); font-weight: 700; }
.z-cart__help { margin: 0; padding: 12px 8px 0; border-top: 1px solid var(--c-line, #E6E0E1); font-size: 14px; }
.z-cart__help a { font-weight: 700; color: var(--c-black, #040809) !important; }
.woocommerce-cart .cross-sells { margin-top: 40px; }

@media (max-width: 1024px) {
	.z-cart { grid-template-columns: minmax(0, 1fr); }
	.z-cart__aside { position: static; }
}
@media (max-width: 767px) {
	.z-cart__card,
	.z-cart__summary { padding: 16px; }
	.z-cart__title { font-size: 24px; }
	.z-cart__item {
		grid-template-columns: 72px minmax(0, 1fr) 28px;
		grid-template-areas: "thumb info remove" "thumb qty price";
		gap: 8px 12px;
		align-items: start;
	}
	.z-cart__thumb { grid-area: thumb; }
	.z-cart__thumb img { width: 72px; }
	.z-cart__info { grid-area: info; }
	.z-cart__qty { grid-area: qty; }
	.z-cart__price { grid-area: price; align-self: center; }
	.z-cart__remove { grid-area: remove; }
	.z-cart__option { padding: 14px 12px; gap: 10px; }
}

/* Lepki pasek „Do kasy” */
.z-sticky-cart[hidden] {
	display: none !important;
}

.z-sticky-cart__total {
	font-family: var(--f-display, 'Barlow Condensed'), sans-serif;
	font-weight: 800;
	font-size: 22px;
	white-space: nowrap;
}

.z-sticky-cart__btn {
	flex: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	border: 2px solid var(--c-black, #040809);
	border-radius: 4px;
	background: var(--c-orange, #EF4923);
	color: var(--c-black, #040809) !important;
	box-shadow: 3px 3px 0 var(--c-black, #040809);
	font-family: var(--f-display, 'Barlow Condensed'), sans-serif;
	font-weight: 800;
	font-size: 19px;
	text-transform: uppercase;
	text-decoration: none;
}

.z-sticky-bar {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 90;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
	background: var(--c-snow, #FFFBFC);
	border-top: 2px solid var(--c-black, #040809);
}

@media (min-width: 768px) {
	.z-sticky-cart {
		display: none !important;
	}
}

/* Kasa – krok 2 (templates/checkout/form-checkout.php): „Dane zamówienia” po lewej, podsumowanie po prawej */
.woocommerce-checkout form.checkout.z-co {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 380px;
	gap: 24px;
	align-items: start;
}
.z-co__main { min-width: 0; }
.z-co__aside { position: sticky; top: 100px; display: flex; flex-direction: column; gap: 16px; }
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 { float: none; width: 100%; }
.woocommerce-checkout .woocommerce-billing-fields > h3 { display: none; }
.woocommerce-checkout h3 {
	font-family: var(--f-display, 'Barlow Condensed'), sans-serif;
	font-weight: 800;
	font-size: 20px;
	text-transform: uppercase;
}
.z-co__type { display: flex; flex-wrap: wrap; gap: 12px 28px; margin: 0 0 20px; padding: 0; border: 0; }
.z-co__type label { display: inline-flex; align-items: center; gap: 8px; font-size: 16px; cursor: pointer; }
.z-co__type input { width: 20px; height: 20px; margin: 0; accent-color: var(--c-black, #040809); }
.woocommerce-checkout #zonda_invoice_field { display: none !important; }
.woocommerce-checkout .form-row[hidden] { display: none !important; }
.z-co a.z-co__back { display: inline-block; margin-top: 16px; color: var(--c-black, #040809) !important; font-weight: 700; text-decoration: none !important; }

/* Podsumowanie */
.z-co__items { margin: 0 0 12px; border-bottom: 1px solid var(--c-line, #E6E0E1); }
.z-co__items > summary { display: flex; justify-content: space-between; padding: 0 0 12px; font-weight: 700; cursor: pointer; list-style: none; }
.z-co__items > summary::-webkit-details-marker { display: none; }
.z-co__items > summary::after { content: "⌄"; }
.z-co__items[open] > summary::after { content: "⌃"; }
.z-co__items ul { margin: 0 0 12px; padding: 0; list-style: none; }
.z-co__items li { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; gap: 10px; align-items: start; padding: 8px 0; font-size: 14px; }
.z-co__items li img { width: 48px; height: auto; border-radius: 4px; }
.z-co__items .variation { display: grid; grid-template-columns: auto 1fr; gap: 0 6px; margin: 4px 0 0; font-size: 12px; color: var(--c-text-2, #3E4447); }
.z-co__items .variation dd,
.z-co__items .variation dd p { margin: 0; }
.z-co__items .product-total { font-weight: 700; white-space: nowrap; }
.z-co__review .z-cart__costs th,
.z-co__review .z-cart__costs td { vertical-align: top; }
.z-co__method th strong { display: block; margin-bottom: 2px; font-weight: 700; }
.z-co__method th span { display: block; color: var(--c-text-2, #3E4447); font-size: 14px; }
.z-co a.z-co__method-link,
.z-co__method th a { color: var(--c-black, #040809) !important; font-size: 13px; font-weight: 700; text-decoration: underline !important; }
.woocommerce-checkout #payment { margin-top: 12px; background: transparent; border-radius: 0; }
.woocommerce-checkout #payment ul.payment_methods { margin: 0 0 12px; padding: 0; border: 0; }
.woocommerce-checkout #payment ul.payment_methods[data-count="1"] { display: none; }
.woocommerce-checkout #payment ul.payment_methods li { padding: 8px 0; }
.woocommerce-checkout #payment div.payment_box { display: none !important; }
.woocommerce-checkout #payment .form-row.place-order { margin: 0; padding: 0; }
.woocommerce-checkout #place_order {
	width: 100%;
	float: none;
	min-height: 56px;
	margin-top: 12px;
	border: 2px solid var(--c-black, #040809) !important;
	border-radius: 4px;
	background: var(--c-orange, #EF4923) !important;
	color: var(--c-black, #040809) !important;
	box-shadow: 3px 3px 0 var(--c-black, #040809);
	font-family: var(--f-display, 'Barlow Condensed'), sans-serif;
	font-size: 22px;
	font-weight: 800;
	text-transform: uppercase;
}
.z-co__delivery { margin: 12px 0 0; font-size: 14px; text-align: center; }
.woocommerce-checkout .z-custom-size-terms {
	padding: 12px;
	border: 2px solid var(--c-orange-text, #C2361A);
	border-radius: 4px;
}
.woocommerce-checkout .woocommerce-form__label-for-checkbox {
	display: flex !important;
	gap: 10px;
	align-items: flex-start;
	font-size: 14px;
	line-height: 1.45;
}
.woocommerce-checkout input[type="checkbox"] {
	width: 18px;
	height: 18px;
	margin-top: 2px;
	accent-color: var(--c-orange, #EF4923);
	flex-shrink: 0;
}

@media (max-width: 1024px) {
	.woocommerce-checkout form.checkout.z-co { grid-template-columns: minmax(0, 1fr); }
	.z-co__aside { position: static; }
}

/* Zamówienie przyjęte */
.z-timeline {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 32px;
	padding: 0;
	list-style: none;
	counter-reset: z-step;
}

.z-timeline__step {
	flex: 1 1 120px;
	padding: 12px;
	border: 2px solid var(--c-line, #E6E0E1);
	border-radius: 4px;
	font-family: var(--f-mono, 'IBM Plex Mono'), monospace;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	color: var(--c-text-3, #5B6164);
	counter-increment: z-step;
}

.z-timeline__step::before {
	content: counter(z-step) " · ";
}

.z-timeline__step.is-done {
	border-color: var(--c-black, #040809);
	background: var(--c-yellow, #FFF94F);
	color: var(--c-black, #040809);
}

.woocommerce-order-overview {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 32px;
	margin: 0 0 24px !important;
	padding: 0 !important;
}

.woocommerce-order-overview li {
	border: 0 !important;
	font-family: var(--f-mono, 'IBM Plex Mono'), monospace;
	font-size: 12px !important;
	text-transform: uppercase;
}

.z-before-delivery {
	margin-top: 32px;
	padding: 24px;
	background: var(--c-bg-gray, #F3F1F1);
	border-radius: var(--r-card, 6px);
}

.z-before-delivery h2 {
	margin: 0 0 12px;
	font-family: var(--f-display, 'Barlow Condensed'), sans-serif;
	font-weight: 800;
	font-size: 28px;
	text-transform: uppercase;
}

.z-before-delivery a {
	color: var(--c-orange-text, #C2361A);
	font-weight: 600;
}

/* ---------- „Szelki to połowa zabezpieczenia” – karta w koszyku (Leash_Pitch; kopia z product.css) ---------- */
.z-pitch {
	display: flex;
	gap: 16px;
	align-items: center;
	margin: 0 0 20px;
	padding: 16px;
	border-left: 4px solid var(--c-orange, #EF4923);
	border-radius: 10px;
	background: var(--c-black, #040809);
	color: #fff;
}
.z-pitch .z-pitch__img {
	flex: 0 0 96px;
	width: 96px !important;
	height: 96px !important;
	object-fit: cover;
	border-radius: 8px;
	background: #fff;
}
.z-pitch__body { min-width: 0; }
.z-pitch__eyebrow {
	margin: 0 0 2px;
	color: var(--c-orange, #EF4923);
	font-family: var(--f-display, 'Barlow Condensed', sans-serif);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.z-pitch__title {
	margin: 0;
	color: #fff;
	font-family: var(--f-display, 'Barlow Condensed', sans-serif);
	font-size: 24px;
	font-weight: 800;
	line-height: 1.05;
	text-transform: uppercase;
}
.z-pitch__text { margin: 6px 0 0; color: #D6D2D3; font-size: 14px; line-height: 1.45; }
/* Elementor resetuje linki w bloku tekstowym – stąd !important. */
.z-pitch a.z-pitch__btn {
	display: inline-block !important;
	margin-top: 12px;
	padding: 10px 16px !important;
	border-radius: 999px;
	background: var(--c-orange, #EF4923) !important;
	color: #fff !important;
	font-family: var(--f-display, 'Barlow Condensed', sans-serif);
	font-size: 15px;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-decoration: none !important;
	text-transform: uppercase;
}
.z-pitch a.z-pitch__btn:hover { background: #fff !important; color: var(--c-black, #040809) !important; }
@media (max-width: 480px) {
	.z-pitch { align-items: flex-start; }
	.z-pitch .z-pitch__img { flex-basis: 72px; width: 72px !important; height: 72px !important; }
	.z-pitch__title { font-size: 21px; }
}

/* Ikonografia ZONDA w koszyku i kasie (pliki zonda-ikona-*.webp z biblioteki mediów). */
.z-cart__secure::before,
.z-cart__note::before,
.z-cart__trust li::before {
	content: "" !important;
	display: inline-block;
	width: 20px;
	height: 20px;
	margin-right: 8px;
	vertical-align: -5px;
	background: center / contain no-repeat;
}
.z-cart__secure::before { background-image: url(/wp-content/uploads/2026/10/zonda-ikona-platnosci.webp); }
.z-cart__note--info::before { background-image: url(/wp-content/uploads/2026/10/zonda-ikona-igla.webp); }
.z-cart__note--truck::before { background-image: url(/wp-content/uploads/2026/10/zonda-ikona-dostawa.webp); }
.z-cart__trust li:nth-child(1)::before { background-image: url(/wp-content/uploads/2026/10/zonda-ikona-wymiana.webp); }
.z-cart__trust li:nth-child(2)::before { background-image: url(/wp-content/uploads/2026/10/zonda-ikona-zwrot.webp); }
.z-cart__trust li:nth-child(3)::before { background-image: url(/wp-content/uploads/2026/10/zonda-ikona-igla.webp); }
