/* ==========================================================================
   MK20 shop.css: archiwum, produkt, koszyk, checkout, konto.
   Ładowany tylko w kontekście sklepu (inc/assets.php, handle mk20-shop).
   Zakłada, że domyślne arkusze WooCommerce są wyłączone
   (filtr woocommerce_enqueue_styles -> __return_empty_array w inc/woocommerce.php).
   Tylko tokeny z tokens.css. Zero !important, zero zaokrągleń.
   ========================================================================== */

/* --------------------------------------------------------------------------
   0. Wspólne: kontener, typografia, przyciski, pola, komunikaty
   -------------------------------------------------------------------------- */

.woocommerce-page .mk-sklep,
.mk-sklep {
	max-width: var(--mk-wrap-max);
	margin: 0 auto;
	padding: 0 var(--mk-gutter-desktop);
	box-sizing: border-box;
}

.mk-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 12px;
	font-family: var(--mk-font-body);
	font-size: var(--mk-fs-eyebrow);
	font-weight: 700;
	letter-spacing: var(--mk-ls-eyebrow);
	text-transform: uppercase;
	color: var(--mk-ink-dim-on-light);
}

.mk-eyebrow::before {
	content: "";
	width: 28px;
	height: 2px;
	background: var(--mk-accent);
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

/* Przyciski */
.mk-btn,
.woocommerce-page .button,
.woocommerce-page button.button,
.woocommerce-page a.button,
.woocommerce-page input.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 52px;
	padding: 14px 28px;
	border: 2px solid var(--mk-ink-dark);
	border-radius: var(--mk-radius);
	background: var(--mk-ink-dark);
	color: var(--mk-ink-light);
	font-family: var(--mk-font-body);
	font-size: var(--mk-fs-body);
	font-weight: 800;
	letter-spacing: var(--mk-ls-btn);
	text-transform: uppercase;
	text-decoration: none;
	line-height: 1.2;
	cursor: pointer;
	transition: background-color var(--mk-dur-fast) var(--mk-ease-soft), color var(--mk-dur-fast) var(--mk-ease-soft), border-color var(--mk-dur-fast) var(--mk-ease-soft), transform var(--mk-dur-fast) var(--mk-ease-soft);
}

.mk-btn:hover,
.woocommerce-page .button:hover,
.woocommerce-page a.button:hover {
	background: var(--mk-accent);
	border-color: var(--mk-accent);
	color: var(--mk-ink-dark);
}

.mk-btn--platnosc,
.woocommerce-page .button.alt,
.woocommerce-page .checkout-button,
.woocommerce-page .single_add_to_cart_button {
	background: var(--mk-accent);
	border-color: var(--mk-accent);
	color: var(--mk-ink-dark);
	box-shadow: var(--mk-shadow-yellow);
}

.mk-btn--platnosc:hover,
.woocommerce-page .button.alt:hover,
.woocommerce-page .checkout-button:hover,
.woocommerce-page .single_add_to_cart_button:hover {
	background: var(--mk-accent-dark);
	border-color: var(--mk-accent-dark);
	color: var(--mk-ink-dark);
}

.mk-btn--ghost,
.woocommerce-page .button.mk-btn--ghost {
	background: transparent;
	border-color: var(--mk-line-strong-on-light);
	color: var(--mk-ink-dark);
	box-shadow: none;
}

.mk-btn--ghost:hover,
.woocommerce-page .button.mk-btn--ghost:hover {
	border-color: var(--mk-ink-dark);
	background: transparent;
}

.mk-btn:disabled,
.woocommerce-page .button:disabled,
.woocommerce-page .button.disabled {
	opacity: .45;
	cursor: not-allowed;
}

.mk-btn:active {
	transform: translateY(1px);
}

/* Fokus widoczny wszędzie w sklepie */
.mk-sklep :focus-visible,
.woocommerce-page :focus-visible {
	outline: 3px solid var(--mk-accent);
	outline-offset: 3px;
}

.mk-btn--platnosc:focus-visible,
.woocommerce-page .button.alt:focus-visible {
	outline-color: var(--mk-ink-dark);
}

/* Pola formularzy (markup WooCommerce: .form-row > label + .woocommerce-input-wrapper > input) */
.woocommerce-page .form-row {
	position: relative;
	display: block;
	margin: 0 0 18px;
	padding: 0;
}

.woocommerce-page .form-row label {
	display: block;
	margin: 0 0 8px;
	font-family: var(--mk-font-body);
	font-size: var(--mk-fs-small);
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--mk-ink-dark);
}

.woocommerce-page .form-row .required {
	color: var(--mk-ink-dark);
	text-decoration: none;
	border: 0;
}

.woocommerce-page .form-row .optional {
	font-weight: 500;
	text-transform: none;
	letter-spacing: 0;
	color: var(--mk-ink-mute-on-light);
}

.woocommerce-page .form-row .woocommerce-input-wrapper {
	display: block;
}

.woocommerce-page .form-row .input-text,
.woocommerce-page .form-row select,
.woocommerce-page .form-row textarea,
.woocommerce-page .input-text,
.woocommerce-page input[type="text"],
.woocommerce-page input[type="email"],
.woocommerce-page input[type="tel"],
.woocommerce-page input[type="password"],
.woocommerce-page input[type="number"],
.woocommerce-page select,
.woocommerce-page textarea {
	box-sizing: border-box;
	width: 100%;
	min-height: 52px;
	margin: 0;
	padding: 12px 16px;
	border: 2px solid var(--mk-line-strong-on-light);
	border-radius: var(--mk-radius);
	background: var(--mk-bg-light);
	color: var(--mk-ink-dark);
	font-family: var(--mk-font-body);
	font-size: 16px; /* 16px = brak zoomu na iOS przy fokusie */
	font-weight: 500;
	line-height: 1.4;
	appearance: none;
	-webkit-appearance: none;
	transition: border-color var(--mk-dur-fast) var(--mk-ease-soft);
}

.woocommerce-page select {
	padding-right: 44px;
	background-image: linear-gradient(45deg, transparent 50%, var(--mk-ink-dark) 50%), linear-gradient(135deg, var(--mk-ink-dark) 50%, transparent 50%);
	background-position: calc(100% - 22px) 50%, calc(100% - 16px) 50%;
	background-size: 6px 6px, 6px 6px;
	background-repeat: no-repeat;
}

.woocommerce-page .form-row .input-text:hover,
.woocommerce-page .form-row select:hover {
	border-color: var(--mk-ink-dim-on-light);
}

.woocommerce-page .form-row .input-text:focus,
.woocommerce-page .form-row select:focus,
.woocommerce-page .form-row textarea:focus {
	border-color: var(--mk-ink-dark);
	outline: 3px solid var(--mk-accent);
	outline-offset: 0;
}

.woocommerce-page .form-row ::placeholder {
	color: var(--mk-ink-mute-on-light);
	opacity: 1;
}

.woocommerce-page .form-row .description {
	display: block;
	margin: 6px 0 0;
	font-size: var(--mk-fs-small);
	color: var(--mk-ink-dim-on-light);
}

/* Stany walidacji. Bez koloru błędu w tokens.css: czarna, grubsza ramka + tekst + znak. */
.woocommerce-page .form-row.woocommerce-invalid .input-text,
.woocommerce-page .form-row.woocommerce-invalid select,
.woocommerce-page .form-row.woocommerce-invalid .input-checkbox {
	border-color: var(--mk-error, var(--mk-ink-dark));
	border-width: 3px;
}

.woocommerce-page .form-row.woocommerce-validated .input-text,
.woocommerce-page .form-row.woocommerce-validated select {
	border-color: var(--mk-ink-dark);
}

.mk-pole__blad {
	display: block;
	margin: 6px 0 0;
	font-size: var(--mk-fs-small);
	font-weight: 700;
	color: var(--mk-error, var(--mk-ink-dark));
}

.mk-pole__blad:empty {
	display: none;
}

.mk-pole__blad::before {
	content: "!";
	display: inline-block;
	width: 16px;
	height: 16px;
	margin-right: 8px;
	background: var(--mk-accent);
	color: var(--mk-ink-on-yellow, var(--mk-ink-dark));
	font-size: 11px;
	line-height: 16px;
	text-align: center;
	vertical-align: 1px;
}

/* Checkboxy */
.mk-checkbox,
.woocommerce-page .form-row label.checkbox,
.woocommerce-page .woocommerce-form__label-for-checkbox {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: 0;
	font-size: var(--mk-fs-body);
	font-weight: 500;
	text-transform: none;
	letter-spacing: 0;
	line-height: 1.5;
	cursor: pointer;
}

/*
 * Atrybut [type='checkbox'] jest tu po to, zeby podbic specyficznosc.
 * WooCommerce wysyla wlasna regule:
 *     .woocommerce form .form-row .input-checkbox { display: inline }
 * czyli (0,3,1). Nasza dotychczasowa (0,3,0) przegrywala akurat na display,
 * a element inline ignoruje width. Efekt: pole zgody na regulamin mialo
 * 4 px szerokosci i nie dalo sie w nie trafic - czyli nikt nie mogl kupic.
 * Z atrybutem mamy (0,4,0) i wygrywamy niezaleznie od kolejnosci arkuszy.
 */
.mk-checkbox .input-checkbox[type='checkbox'],
.woocommerce-page .form-row .input-checkbox[type='checkbox'],
.woocommerce-page .form-row input[type='checkbox'] {
	flex: 0 0 auto;
	width: 22px;
	height: 22px;
	min-width: 22px;
	margin: 2px 0 0;
	border: 2px solid var(--mk-ink-dark);
	border-radius: var(--mk-radius);
	background: var(--mk-bg-light);
	appearance: none;
	-webkit-appearance: none;
	display: inline-grid;
	place-content: center;
	vertical-align: middle;
	cursor: pointer;
}

.mk-checkbox .input-checkbox[type='checkbox']::before,
.woocommerce-page .form-row .input-checkbox[type='checkbox']::before,
.woocommerce-page .form-row input[type='checkbox']::before {
	content: "";
	width: 12px;
	height: 12px;
	background: var(--mk-accent);
	transform: scale(0);
	transition: transform var(--mk-dur-fast) var(--mk-ease-out);
}

.mk-checkbox .input-checkbox[type='checkbox']:checked,
.woocommerce-page .form-row .input-checkbox[type='checkbox']:checked,
.woocommerce-page .form-row input[type='checkbox']:checked {
	background: var(--mk-ink-dark);
}

.mk-checkbox .input-checkbox[type='checkbox']:checked::before,
.woocommerce-page .form-row .input-checkbox[type='checkbox']:checked::before,
.woocommerce-page .form-row input[type='checkbox']:checked::before {
	transform: scale(1);
}

/* Widoczny fokus: pole zgody jest obowiazkowe, wiec musi byc dostepne z klawiatury. */
.mk-checkbox .input-checkbox[type='checkbox']:focus-visible,
.woocommerce-page .form-row input[type='checkbox']:focus-visible {
	outline: 3px solid var(--mk-accent);
	outline-offset: 2px;
}

.mk-checkbox a {
	color: var(--mk-ink-dark);
	font-weight: 700;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-decoration-color: var(--mk-accent);
	text-underline-offset: 3px;
}

/* Komunikaty WooCommerce */
.woocommerce-page .woocommerce-error,
.woocommerce-page .woocommerce-message,
.woocommerce-page .woocommerce-info,
.woocommerce-page .woocommerce-notice,
.woocommerce-page .wc-block-components-notice-banner {
	position: relative;
	margin: 0 0 24px;
	padding: 16px 20px 16px 24px;
	list-style: none;
	border: 1px solid var(--mk-line-on-light);
	border-left: 6px solid var(--mk-accent);
	background: var(--mk-bg-cream);
	color: var(--mk-ink-dark);
	font-family: var(--mk-font-body);
	font-size: var(--mk-fs-body);
	line-height: 1.5;
}

.woocommerce-page .woocommerce-error {
	border-left-color: var(--mk-error, var(--mk-ink-dark));
	background: var(--mk-bg-light);
	border-width: 2px 2px 2px 6px;
	border-color: var(--mk-error, var(--mk-ink-dark));
}

.woocommerce-page .woocommerce-error li,
.woocommerce-page .woocommerce-message li,
.woocommerce-page .woocommerce-info li {
	margin: 0 0 6px;
}

.woocommerce-page .woocommerce-error li:last-child {
	margin-bottom: 0;
}

.woocommerce-page .woocommerce-error a,
.woocommerce-page .woocommerce-message a,
.woocommerce-page .woocommerce-info a {
	color: var(--mk-ink-dark);
	font-weight: 700;
}

.woocommerce-page .woocommerce-message .button,
.woocommerce-page .woocommerce-info .button {
	float: none;
	margin: 12px 0 0;
	min-height: 44px;
	padding: 10px 20px;
}

/* --------------------------------------------------------------------------
   1. Kroki rezerwacji (koszyk i checkout)
   -------------------------------------------------------------------------- */

.mk-checkout__kroki {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 24px 0;
	margin: 0 0 40px;
	border-bottom: 1px solid var(--mk-line-on-light);
}

.mk-kroki {
	display: flex;
	align-items: center;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: none;
}

.mk-kroki__krok {
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: var(--mk-font-body);
	font-size: var(--mk-fs-small);
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--mk-ink-mute-on-light);
}

.mk-kroki__krok + .mk-kroki__krok::before {
	content: "";
	width: 40px;
	height: 2px;
	margin: 0 14px;
	background: var(--mk-line-on-light);
}

.mk-kroki__link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: inherit;
	text-decoration: none;
}

.mk-kroki__link:hover .mk-kroki__nazwa {
	text-decoration: underline;
	text-decoration-color: var(--mk-accent);
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}

.mk-kroki__numer {
	display: inline-grid;
	place-content: center;
	width: 28px;
	height: 28px;
	border: 2px solid currentColor;
	font-family: var(--mk-font-display);
	font-size: 14px;
	letter-spacing: 0;
}

.mk-kroki__krok--zrobiony {
	color: var(--mk-ink-dark);
}

.mk-kroki__krok--zrobiony .mk-kroki__numer {
	background: var(--mk-ink-dark);
	border-color: var(--mk-ink-dark);
	color: var(--mk-ink-light);
}

.mk-kroki__krok--aktywny {
	color: var(--mk-ink-dark);
}

.mk-kroki__krok--aktywny .mk-kroki__numer {
	background: var(--mk-accent);
	border-color: var(--mk-accent);
	color: var(--mk-ink-on-yellow, var(--mk-ink-dark));
}

.mk-kroki__krok--zrobiony + .mk-kroki__krok::before {
	background: var(--mk-ink-dark);
}

.mk-checkout__pomoc {
	margin: 0;
	font-size: var(--mk-fs-small);
	font-weight: 600;
	color: var(--mk-ink-dim-on-light);
}

.mk-checkout__pomoc a {
	color: var(--mk-ink-dark);
	font-weight: 800;
	text-decoration: none;
	border-bottom: 2px solid var(--mk-accent);
}

/* --------------------------------------------------------------------------
   2. Archiwum obozów (ul.products)
   -------------------------------------------------------------------------- */

.woocommerce-page ul.products {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: 32px;
	margin: 0 0 64px;
	padding: 0;
	list-style: none;
}

.woocommerce-page ul.products li.product {
	position: relative;
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0;
	border: 1px solid var(--mk-line-on-light);
	background: var(--mk-bg-light);
	box-shadow: var(--mk-shadow-card);
}

/* Sygnatura marki: żółty narożnik na karcie obozu */
.woocommerce-page ul.products li.product::before {
	content: "";
	position: absolute;
	top: -1px;
	left: -1px;
	width: var(--mk-corner-size);
	height: var(--mk-corner-size);
	border-top: var(--mk-corner-width) solid var(--mk-accent);
	border-left: var(--mk-corner-width) solid var(--mk-accent);
	z-index: 2;
	pointer-events: none;
}

.woocommerce-page ul.products li.product .woocommerce-LoopProduct-link {
	display: block;
	color: inherit;
	text-decoration: none;
}

.woocommerce-page ul.products li.product img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
	margin: 24px 24px 8px;
	font-family: var(--mk-font-display);
	font-size: var(--mk-fs-h3);
	font-weight: 400;
	line-height: var(--mk-lh-display);
	letter-spacing: var(--mk-ls-display);
	text-transform: uppercase;
	color: var(--mk-ink-dark);
}

.woocommerce-page ul.products li.product .price {
	display: block;
	margin: 0 24px 16px;
	font-family: var(--mk-font-body);
	font-size: var(--mk-fs-body);
	font-weight: 700;
	color: var(--mk-ink-dark);
}

.woocommerce-page ul.products li.product .price del {
	color: var(--mk-ink-mute-on-light);
	font-weight: 500;
}

.woocommerce-page ul.products li.product .price ins {
	text-decoration: none;
}

.woocommerce-page ul.products li.product .button {
	margin: auto 24px 24px;
	align-self: flex-start;
}

.woocommerce-page ul.products li.product .onsale,
.woocommerce-page span.onsale {
	position: absolute;
	top: 16px;
	right: 16px;
	z-index: 2;
	padding: 6px 12px;
	background: var(--mk-accent);
	color: var(--mk-ink-on-yellow, var(--mk-ink-dark));
	font-size: var(--mk-fs-eyebrow);
	font-weight: 800;
	letter-spacing: var(--mk-ls-eyebrow);
	text-transform: uppercase;
}

.woocommerce-page .woocommerce-result-count,
.woocommerce-page .woocommerce-ordering,
.woocommerce-page .woocommerce-breadcrumb {
	font-size: var(--mk-fs-small);
	color: var(--mk-ink-dim-on-light);
}

.woocommerce-page .woocommerce-breadcrumb a {
	color: var(--mk-ink-dark);
}

/* --------------------------------------------------------------------------
   3. Produkt (strona obozu)
   -------------------------------------------------------------------------- */

.woocommerce-page div.product {
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: 64px;
	align-items: start;
}

.woocommerce-page div.product .woocommerce-product-gallery {
	position: relative;
	margin: 0;
}

.woocommerce-page div.product .woocommerce-product-gallery::after {
	content: "";
	position: absolute;
	right: -1px;
	bottom: -1px;
	width: var(--mk-corner-size);
	height: var(--mk-corner-size);
	border-right: var(--mk-corner-width) solid var(--mk-accent);
	border-bottom: var(--mk-corner-width) solid var(--mk-accent);
	pointer-events: none;
}

.woocommerce-page div.product .woocommerce-product-gallery img {
	display: block;
	width: 100%;
	height: auto;
}

.woocommerce-page div.product .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 8px;
	margin: 8px 0 0;
	padding: 0;
	list-style: none;
}

.woocommerce-page div.product .flex-control-thumbs img {
	cursor: pointer;
	opacity: .55;
	transition: opacity var(--mk-dur-fast) var(--mk-ease-soft);
}

.woocommerce-page div.product .flex-control-thumbs img.flex-active,
.woocommerce-page div.product .flex-control-thumbs img:hover {
	opacity: 1;
}

.woocommerce-page div.product .summary {
	position: sticky;
	top: 24px;
}

.woocommerce-page div.product .product_title {
	margin: 0 0 16px;
	font-family: var(--mk-font-display);
	font-size: var(--mk-fs-h2);
	font-weight: 400;
	line-height: var(--mk-lh-display);
	letter-spacing: var(--mk-ls-display);
	text-transform: uppercase;
	color: var(--mk-ink-dark);
}

.woocommerce-page div.product .summary .price {
	margin: 0 0 20px;
	font-family: var(--mk-font-body);
	font-size: var(--mk-fs-lead);
	font-weight: 700;
	color: var(--mk-ink-dark);
}

.woocommerce-page div.product .woocommerce-product-details__short-description {
	margin: 0 0 24px;
	font-size: var(--mk-fs-body);
	line-height: var(--mk-lh-body);
	color: var(--mk-ink-dim-on-light);
}

/* Blok zaliczki z inc/camp.php */
.mk-zaliczka {
	position: relative;
	margin: 0 0 24px;
	padding: 20px 24px;
	border: 1px solid var(--mk-line-on-light);
	background: var(--mk-bg-cream);
}

.mk-zaliczka::before {
	content: "";
	position: absolute;
	top: -1px;
	left: -1px;
	width: var(--mk-corner-size);
	height: var(--mk-corner-size);
	border-top: var(--mk-corner-width) solid var(--mk-accent);
	border-left: var(--mk-corner-width) solid var(--mk-accent);
	pointer-events: none;
}

.mk-zaliczka__znacznik {
	margin: 0 0 14px;
	padding: 6px 10px;
	display: inline-block;
	background: var(--mk-accent);
	color: var(--mk-ink-on-yellow, var(--mk-ink-dark));
	font-size: var(--mk-fs-small);
	font-weight: 700;
}

.mk-zaliczka__lista {
	margin: 0;
	padding: 0;
}

.mk-zaliczka__wiersz {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 16px;
	padding: 8px 0;
	border-bottom: 1px solid var(--mk-line-on-light);
	font-size: var(--mk-fs-body);
	color: var(--mk-ink-dim-on-light);
}

.mk-zaliczka__wiersz dt {
	margin: 0;
}

.mk-zaliczka__wiersz dd {
	margin: 0;
	font-weight: 700;
	color: var(--mk-ink-dark);
	white-space: nowrap;
}

.mk-zaliczka__wiersz--teraz {
	color: var(--mk-ink-dark);
	font-weight: 700;
}

.mk-zaliczka__wiersz--teraz dd {
	font-family: var(--mk-font-display);
	font-size: var(--mk-fs-h3);
	line-height: 1;
	background: linear-gradient(transparent 62%, var(--mk-accent) 62%);
}

.mk-zaliczka__wiersz--reszta {
	border-bottom: 0;
}

.mk-zaliczka__nota {
	margin: 12px 0 0;
	font-size: var(--mk-fs-small);
	line-height: 1.5;
	color: var(--mk-ink-dim-on-light);
}

/* Formularz dodania do koszyka i warianty */
.woocommerce-page form.cart {
	margin: 0 0 24px;
}

.woocommerce-page form.cart .variations {
	width: 100%;
	margin: 0 0 20px;
	border-collapse: collapse;
}

.woocommerce-page form.cart .variations td,
.woocommerce-page form.cart .variations th {
	padding: 0 0 14px;
	text-align: left;
	vertical-align: top;
}

.woocommerce-page form.cart .variations label {
	display: block;
	margin: 0 0 8px;
	font-size: var(--mk-fs-small);
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.woocommerce-page form.cart .reset_variations {
	display: inline-block;
	margin: 4px 0 0;
	font-size: var(--mk-fs-small);
	color: var(--mk-ink-dim-on-light);
}

.woocommerce-page form.cart .quantity {
	display: inline-flex;
	margin: 0 12px 12px 0;
}

.woocommerce-page form.cart .quantity .qty {
	width: 88px;
	text-align: center;
}

.woocommerce-page form.cart .single_add_to_cart_button {
	width: 100%;
	min-height: 60px;
	font-size: var(--mk-fs-lead);
}

.woocommerce-page .woocommerce-variation-price {
	margin: 0 0 12px;
}

.woocommerce-page .woocommerce-variation-availability .stock {
	margin: 0 0 12px;
	font-size: var(--mk-fs-small);
	font-weight: 700;
}

.woocommerce-page .product_meta {
	font-size: var(--mk-fs-small);
	color: var(--mk-ink-mute-on-light);
}

.woocommerce-page .woocommerce-tabs {
	grid-column: 1 / -1;
	margin: 48px 0 0;
}

.woocommerce-page .woocommerce-tabs .tabs {
	display: flex;
	gap: 0;
	margin: 0 0 32px;
	padding: 0;
	list-style: none;
	border-bottom: 2px solid var(--mk-line-on-light);
}

.woocommerce-page .woocommerce-tabs .tabs li a {
	display: block;
	padding: 14px 20px;
	margin-bottom: -2px;
	border-bottom: 2px solid transparent;
	color: var(--mk-ink-dim-on-light);
	font-size: var(--mk-fs-small);
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	text-decoration: none;
}

.woocommerce-page .woocommerce-tabs .tabs li.active a {
	color: var(--mk-ink-dark);
	border-bottom-color: var(--mk-accent);
}

.woocommerce-page .related.products,
.woocommerce-page .upsells.products {
	grid-column: 1 / -1;
	margin: 64px 0 0;
}

/* --------------------------------------------------------------------------
   4. Koszyk
   -------------------------------------------------------------------------- */

.mk-koszyk {
	padding: 0 0 64px;
}

.mk-koszyk__grid {
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: 48px;
	align-items: start;
}

.mk-koszyk__tabela {
	width: 100%;
	margin: 0;
	border-collapse: collapse;
	border-spacing: 0;
}

.mk-koszyk__tabela td,
.mk-koszyk__tabela th {
	padding: 0;
	border: 0;
	text-align: left;
	vertical-align: top;
}

.mk-koszyk__pozycja {
	display: grid;
	grid-template-columns: 1fr auto auto;
	grid-template-areas:
		"oboz ilosc suma"
		"usun usun usun";
	gap: 16px 24px;
	padding: 24px 0;
	border-bottom: 1px solid var(--mk-line-on-light);
}

.mk-koszyk__oboz {
	grid-area: oboz;
	min-width: 0;
}

.mk-koszyk__ilosc {
	grid-area: ilosc;
}

.mk-koszyk__suma {
	grid-area: suma;
	text-align: right;
	white-space: nowrap;
}

.mk-koszyk__usun {
	grid-area: usun;
}

.mk-koszyk__usun-link {
	display: inline-block;
	color: var(--mk-ink-mute-on-light);
	font-size: var(--mk-fs-small);
	font-weight: 700;
	text-decoration: none;
	border-bottom: 1px solid currentColor;
}

.mk-koszyk__usun-link:hover {
	color: var(--mk-ink-dark);
}

.mk-koszyk__karta {
	display: grid;
	grid-template-columns: 96px 1fr;
	gap: 20px;
	align-items: start;
}

.mk-koszyk__miniatura {
	position: relative;
}

.mk-koszyk__miniatura::before {
	content: "";
	position: absolute;
	top: -1px;
	left: -1px;
	width: 20px;
	height: 20px;
	border-top: var(--mk-corner-width) solid var(--mk-accent);
	border-left: var(--mk-corner-width) solid var(--mk-accent);
	pointer-events: none;
	z-index: 2;
}

.mk-koszyk__miniatura img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.mk-koszyk__tresc {
	min-width: 0;
}

.mk-koszyk__nazwa {
	margin: 0 0 6px;
	font-family: var(--mk-font-display);
	font-size: var(--mk-fs-card-title);
	font-weight: 400;
	line-height: 1.05;
	text-transform: uppercase;
	color: var(--mk-ink-dark);
}

.mk-koszyk__nazwa a {
	color: inherit;
	text-decoration: none;
}

.mk-koszyk__nazwa a:hover {
	text-decoration: underline;
	text-decoration-color: var(--mk-accent);
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}

.mk-koszyk__etykieta {
	display: block;
	font-size: var(--mk-fs-eyebrow);
	font-weight: 700;
	letter-spacing: var(--mk-ls-eyebrow);
	text-transform: uppercase;
	color: var(--mk-ink-mute-on-light);
}

.mk-koszyk__uczestnik {
	margin: 0 0 6px;
	font-size: var(--mk-fs-body);
}

.mk-koszyk__uczestnik strong {
	color: var(--mk-ink-dark);
}

.mk-koszyk__cena,
.mk-koszyk__nota {
	margin: 8px 0 0;
	font-size: var(--mk-fs-small);
	line-height: 1.5;
	color: var(--mk-ink-dim-on-light);
}

.mk-koszyk__cena .woocommerce-Price-amount {
	font-weight: 700;
	color: var(--mk-ink-dark);
}

.mk-koszyk__suma .woocommerce-Price-amount {
	display: block;
	font-family: var(--mk-font-display);
	font-size: var(--mk-fs-h3);
	line-height: 1;
	color: var(--mk-ink-dark);
}

/* Dane pozycji z formularza produktu (dl.variation) w koszyku i checkoucie */
.woocommerce-page dl.variation {
	display: grid;
	grid-template-columns: max-content 1fr;
	gap: 4px 12px;
	margin: 8px 0 0;
	font-size: var(--mk-fs-small);
	line-height: 1.5;
}

.woocommerce-page dl.variation dt {
	margin: 0;
	font-weight: 700;
	color: var(--mk-ink-mute-on-light);
	white-space: nowrap;
}

.woocommerce-page dl.variation dd {
	margin: 0;
	min-width: 0;
	color: var(--mk-ink-dark);
	overflow-wrap: break-word;
}

.woocommerce-page dl.variation dd p {
	margin: 0;
}

/* Ilość (uczestnicy) */
.woocommerce-page .quantity {
	display: inline-flex;
	align-items: stretch;
}

.woocommerce-page .quantity .qty {
	width: 72px;
	min-height: 48px;
	padding: 8px;
	text-align: center;
	font-weight: 700;
}

.woocommerce-page .quantity .screen-reader-text {
	position: absolute;
}

.mk-koszyk__akcje {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 12px;
	padding: 20px 0 0;
}

.mk-koszyk__akcje-wiersz {
	display: block;
}

.mk-koszyk__aktualizuj {
	min-height: 44px;
	padding: 10px 20px;
}

.mk-koszyk__aktualizuj:disabled {
	display: none;
}

.mk-kupon {
	display: flex;
	gap: 8px;
	margin-right: auto;
}

.mk-kupon .input-text {
	width: 180px;
}

/* Sumy koszyka (cart-totals.php z WooCommerce) */
.mk-koszyk__podsumowanie {
	position: sticky;
	top: 24px;
	padding: 28px;
	border: 1px solid var(--mk-line-on-light);
	background: var(--mk-bg-cream);
}

.mk-koszyk__podsumowanie .cart_totals h2 {
	margin: 0 0 16px;
	font-family: var(--mk-font-display);
	font-size: var(--mk-fs-h3);
	font-weight: 400;
	text-transform: uppercase;
	line-height: 1;
}

.mk-koszyk__podsumowanie .shop_table {
	width: 100%;
	margin: 0 0 20px;
	border-collapse: collapse;
}

.mk-koszyk__podsumowanie .shop_table th,
.mk-koszyk__podsumowanie .shop_table td {
	padding: 10px 0;
	border: 0;
	border-bottom: 1px solid var(--mk-line-on-light);
	font-size: var(--mk-fs-body);
	text-align: left;
	vertical-align: baseline;
}

.mk-koszyk__podsumowanie .shop_table th {
	font-weight: 600;
	color: var(--mk-ink-dim-on-light);
}

.mk-koszyk__podsumowanie .shop_table td {
	text-align: right;
	font-weight: 700;
	color: var(--mk-ink-dark);
}

.mk-koszyk__podsumowanie .shop_table .order-total th {
	color: var(--mk-ink-dark);
	font-weight: 800;
}

.mk-koszyk__podsumowanie .shop_table .order-total td {
	font-family: var(--mk-font-display);
	font-size: var(--mk-fs-h3);
	line-height: 1;
}

.mk-koszyk__podsumowanie .shop_table .order-total td .woocommerce-Price-amount {
	background: linear-gradient(transparent 62%, var(--mk-accent) 62%);
}

/* Wiersz "Do dopłaty później" z inc/camp.php */
.woocommerce-page .mk-doplata-suma th,
.woocommerce-page .mk-doplata-suma td {
	border-bottom: 0;
	padding-top: 12px;
	color: var(--mk-ink-dim-on-light);
}

.woocommerce-page .mk-doplata-suma td {
	font-weight: 600;
}

.woocommerce-page .mk-doplata-suma small {
	display: block;
	font-size: var(--mk-fs-eyebrow);
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--mk-ink-mute-on-light);
}

.woocommerce-page .wc-proceed-to-checkout {
	margin: 0;
	padding: 0;
}

.woocommerce-page .wc-proceed-to-checkout .checkout-button {
	width: 100%;
	min-height: 60px;
	font-size: var(--mk-fs-lead);
}

.mk-zaufanie--koszyk {
	margin-top: 20px;
	padding-top: 16px;
	border-top: 1px solid var(--mk-line-on-light);
}

/* Pusty koszyk */
.mk-koszyk--pusty {
	max-width: 640px;
	padding: 80px 0;
}

.mk-koszyk__pusty-tytul {
	margin: 0 0 16px;
	font-family: var(--mk-font-display);
	font-size: var(--mk-fs-h2);
	font-weight: 400;
	line-height: var(--mk-lh-display);
	text-transform: uppercase;
	color: var(--mk-ink-dark);
}

.mk-koszyk__pusty-tekst {
	margin: 0 0 28px;
	font-size: var(--mk-fs-lead);
	line-height: var(--mk-lh-body);
	color: var(--mk-ink-dim-on-light);
}

.mk-koszyk__pusty-akcja {
	margin: 0;
}

/* Mini-koszyk */
.mk-minikoszyk {
	margin: 0;
	padding: 0;
	list-style: none;
}

.mk-minikoszyk__pozycja {
	position: relative;
	display: grid;
	grid-template-columns: 64px 1fr;
	gap: 14px;
	padding: 14px 32px 14px 0;
	border-bottom: 1px solid var(--mk-line-on-light);
}

.mk-minikoszyk__usun {
	position: absolute;
	top: 12px;
	right: 0;
	width: 28px;
	height: 28px;
	display: grid;
	place-content: center;
	color: var(--mk-ink-mute-on-light);
	font-size: 20px;
	text-decoration: none;
}

.mk-minikoszyk__usun:hover {
	color: var(--mk-ink-dark);
}

.mk-minikoszyk__miniatura img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.mk-minikoszyk__nazwa {
	margin: 0 0 2px;
	font-weight: 800;
	font-size: var(--mk-fs-body);
	line-height: 1.3;
}

.mk-minikoszyk__nazwa a {
	color: var(--mk-ink-dark);
	text-decoration: none;
}

.mk-minikoszyk__uczestnik,
.mk-minikoszyk__kwota {
	margin: 0;
	font-size: var(--mk-fs-small);
	color: var(--mk-ink-dim-on-light);
}

.mk-minikoszyk__suma {
	display: flex;
	justify-content: space-between;
	margin: 16px 0 4px;
	font-weight: 800;
	color: var(--mk-ink-dark);
}

.mk-minikoszyk__nota {
	margin: 0 0 16px;
	font-size: var(--mk-fs-small);
	color: var(--mk-ink-mute-on-light);
}

.mk-minikoszyk__akcje {
	display: grid;
	gap: 8px;
	margin: 0;
}

.mk-minikoszyk__akcje .button {
	width: 100%;
}

.mk-minikoszyk__pusto {
	margin: 0;
	padding: 24px 0;
	color: var(--mk-ink-dim-on-light);
}

/* --------------------------------------------------------------------------
   5. Checkout
   -------------------------------------------------------------------------- */

.mk-checkout {
	padding: 0 0 80px;
}

.mk-checkout__blokada {
	padding: 40px 0;
	font-size: var(--mk-fs-lead);
}

.mk-checkout__grid {
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: 64px;
	align-items: start;
}

.mk-checkout__kol {
	min-width: 0;
}

.mk-checkout__sticky {
	position: sticky;
	top: 24px;
}

.mk-checkout__naglowek {
	margin: 0 0 20px;
	font-family: var(--mk-font-display);
	font-size: var(--mk-fs-h3);
	font-weight: 400;
	line-height: 1;
	letter-spacing: var(--mk-ls-display);
	text-transform: uppercase;
	color: var(--mk-ink-dark);
}

.mk-checkout__blok {
	margin: 0 0 40px;
}

.mk-checkout__blok--platnosc {
	padding-top: 32px;
	border-top: 1px solid var(--mk-line-on-light);
}

/* Dane rodzica */
.mk-dane__grupa {
	margin: 0 0 32px;
	padding: 0;
	border: 0;
	min-width: 0;
}

.mk-dane__legenda {
	display: block;
	margin: 0 0 6px;
	padding: 0;
	font-family: var(--mk-font-display);
	font-size: var(--mk-fs-h3);
	font-weight: 400;
	line-height: 1;
	text-transform: uppercase;
	color: var(--mk-ink-dark);
}

.mk-dane__nota {
	margin: 0 0 18px;
	font-size: var(--mk-fs-small);
	line-height: 1.5;
	color: var(--mk-ink-dim-on-light);
}

.mk-dane__siatka {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 20px;
}

.mk-dane__siatka .form-row,
.mk-dane__siatka .mk-pole-tel {
	grid-column: span 1;
	min-width: 0;
}

.mk-dane__siatka .form-row-wide,
.mk-dane__siatka #billing_address_1_field,
.mk-dane__siatka #billing_address_2_field,
.mk-dane__siatka #billing_company_field,
.mk-dane__siatka #billing_country_field,
.mk-dane__siatka #billing_email_field,
.mk-dane__siatka .create-account,
.mk-dane__siatka .woocommerce-account-fields {
	grid-column: 1 / -1;
}

/* Telefon z prefiksem +48: prefiks rysuje pseudoelement na wrapperze pola (form-row.mk-pole-tel) */
.mk-pole-tel .woocommerce-input-wrapper {
	position: relative;
	display: block;
}

.mk-pole-tel .woocommerce-input-wrapper::before {
	content: "+48";
	position: absolute;
	top: 2px;
	left: 2px;
	display: flex;
	align-items: center;
	height: 48px;
	padding: 0 12px 0 16px;
	border-right: 1px solid var(--mk-line-on-light);
	font-family: var(--mk-font-body);
	font-size: 16px;
	font-weight: 700;
	color: var(--mk-ink-dim-on-light);
	pointer-events: none;
}

.mk-pole-tel .mk-input--telefon {
	padding-left: 72px;
}

.mk-pole-tel.woocommerce-invalid .woocommerce-input-wrapper::before {
	top: 3px;
	left: 3px;
	height: 46px;
}

/* Blok faktury: zwijany */
.mk-faktura {
	margin: 0 0 32px;
	border: 1px solid var(--mk-line-on-light);
	background: var(--mk-bg-cream);
}

.mk-faktura__przelacznik {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 18px 20px;
	list-style: none;
	cursor: pointer;
	font-size: var(--mk-fs-body);
	font-weight: 700;
	color: var(--mk-ink-dark);
}

.mk-faktura__przelacznik::-webkit-details-marker {
	display: none;
}

.mk-faktura__przelacznik::after {
	content: "+";
	flex: 0 0 auto;
	width: 28px;
	height: 28px;
	display: grid;
	place-content: center;
	border: 2px solid var(--mk-ink-dark);
	font-family: var(--mk-font-display);
	font-size: 18px;
	line-height: 1;
	transition: transform var(--mk-dur-fast) var(--mk-ease-out);
}

.mk-faktura[open] .mk-faktura__przelacznik::after {
	content: "\2013";
}

.mk-faktura__tytul {
	flex: 1 1 auto;
}

.mk-faktura__info {
	font-size: var(--mk-fs-eyebrow);
	font-weight: 700;
	letter-spacing: var(--mk-ls-eyebrow);
	text-transform: uppercase;
	color: var(--mk-ink-mute-on-light);
}

.mk-faktura__tresc {
	padding: 4px 20px 6px;
	border-top: 1px solid var(--mk-line-on-light);
}

.mk-faktura__tresc .form-row:first-child {
	margin-top: 18px;
}

/* Podsumowanie (review-order.php) */
.mk-podsumowanie {
	width: 100%;
	margin: 0;
	border: 1px solid var(--mk-line-on-light);
	border-collapse: collapse;
	background: var(--mk-bg-cream);
	table-layout: fixed;
}

.mk-podsumowanie td,
.mk-podsumowanie th {
	padding: 0;
	border: 0;
	text-align: left;
	vertical-align: baseline;
	font-weight: 500;
}

.mk-pozycja {
	padding: 24px 24px 20px;
	border-bottom: 1px solid var(--mk-line-on-light);
	overflow-wrap: break-word;
}

.mk-pozycja__nazwa {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin: 0 0 10px;
	font-family: var(--mk-font-display);
	font-size: var(--mk-fs-card-title);
	line-height: 1.05;
	text-transform: uppercase;
	color: var(--mk-ink-dark);
}

.mk-pozycja__ilosc {
	font-family: var(--mk-font-body);
	font-size: var(--mk-fs-small);
	font-weight: 700;
	color: var(--mk-ink-dim-on-light);
	white-space: nowrap;
}

.mk-pozycja__etykieta,
.mk-koszyk__etykieta {
	display: block;
	margin: 0 0 2px;
	font-size: var(--mk-fs-eyebrow);
	font-weight: 700;
	letter-spacing: var(--mk-ls-eyebrow);
	text-transform: uppercase;
	color: var(--mk-ink-mute-on-light);
}

.mk-pozycja__uczestnik {
	margin: 0 0 10px;
	font-size: var(--mk-fs-lead);
	color: var(--mk-ink-dark);
}

.mk-pozycja__dane {
	margin: 0 0 14px;
}

.mk-pozycja__kwoty {
	margin: 0;
	padding: 12px 0 0;
	border-top: 1px dashed var(--mk-line-strong-on-light);
}

.mk-pozycja__kwota {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 16px;
	padding: 4px 0;
	font-size: var(--mk-fs-small);
	color: var(--mk-ink-dim-on-light);
}

.mk-pozycja__kwota dt,
.mk-pozycja__kwota dd {
	margin: 0;
}

.mk-pozycja__kwota dd {
	font-weight: 700;
	color: var(--mk-ink-dark);
	white-space: nowrap;
}

.mk-pozycja__kwota--teraz {
	color: var(--mk-ink-dark);
	font-weight: 700;
}

.mk-pozycja__suma {
	margin: 0;
	font-weight: 700;
	text-align: right;
}

.mk-podsumowanie__wiersz th,
.mk-podsumowanie__wiersz td,
.mk-podsumowanie .mk-doplata-suma th,
.mk-podsumowanie .mk-doplata-suma td {
	padding: 12px 24px;
	border-bottom: 1px solid var(--mk-line-on-light);
	font-size: var(--mk-fs-body);
}

.mk-podsumowanie__wiersz th,
.mk-podsumowanie .mk-doplata-suma th {
	width: 58%;
	font-weight: 600;
	color: var(--mk-ink-dim-on-light);
}

.mk-podsumowanie__wiersz td,
.mk-podsumowanie .mk-doplata-suma td {
	text-align: right;
	font-weight: 700;
	color: var(--mk-ink-dark);
	white-space: nowrap;
}

.mk-podsumowanie__wiersz--teraz th,
.mk-podsumowanie__wiersz--teraz td {
	padding-top: 18px;
	padding-bottom: 18px;
	background: var(--mk-bg-light);
	color: var(--mk-ink-dark);
	font-weight: 800;
}

.mk-podsumowanie__wiersz--teraz td {
	font-family: var(--mk-font-display);
	font-size: var(--mk-fs-h3);
	line-height: 1;
}

.mk-podsumowanie__wiersz--teraz td .woocommerce-Price-amount {
	background: linear-gradient(transparent 62%, var(--mk-accent) 62%);
}

.mk-podsumowanie .mk-doplata-suma th,
.mk-podsumowanie .mk-doplata-suma td {
	border-bottom: 0;
}

.mk-podsumowanie .mk-doplata-suma td {
	font-weight: 600;
	color: var(--mk-ink-dim-on-light);
}

.mk-podsumowanie .mk-doplata-suma small {
	display: block;
	font-size: var(--mk-fs-eyebrow);
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--mk-ink-mute-on-light);
}

/* Metody płatności */
.mk-platnosc__lista {
	margin: 0 0 24px;
	padding: 0;
	list-style: none;
	border: 1px solid var(--mk-line-on-light);
}

.mk-metoda {
	position: relative;
	border-bottom: 1px solid var(--mk-line-on-light);
}

.mk-metoda:last-child {
	border-bottom: 0;
}

.mk-metoda__radio {
	position: absolute;
	top: 22px;
	left: 20px;
	width: 22px;
	height: 22px;
	margin: 0;
	border: 2px solid var(--mk-ink-dark);
	border-radius: 50%; /* wyjątek z tokens.css: 50% dla kropek */
	background: var(--mk-bg-light);
	appearance: none;
	-webkit-appearance: none;
	display: grid;
	place-content: center;
	cursor: pointer;
}

.mk-metoda__radio::before {
	content: "";
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--mk-accent);
	transform: scale(0);
	transition: transform var(--mk-dur-fast) var(--mk-ease-out);
}

.mk-metoda__radio:checked {
	background: var(--mk-ink-dark);
}

.mk-metoda__radio:checked::before {
	transform: scale(1);
}

.mk-metoda__etykieta {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 66px;
	margin: 0;
	padding: 18px 20px 18px 60px;
	font-size: var(--mk-fs-body);
	font-weight: 700;
	color: var(--mk-ink-dark);
	cursor: pointer;
	transition: background-color var(--mk-dur-fast) var(--mk-ease-soft);
}

.mk-metoda__etykieta:hover {
	background: var(--mk-bg-cream);
}

.mk-metoda__radio:checked + .mk-metoda__etykieta {
	background: var(--mk-bg-cream);
}

.mk-metoda__tytul {
	flex: 1 1 auto;
}

.mk-metoda__znacznik {
	padding: 4px 8px;
	background: var(--mk-accent);
	color: var(--mk-ink-on-yellow, var(--mk-ink-dark));
	font-size: var(--mk-fs-eyebrow);
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.mk-metoda__ikona {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.mk-metoda__ikona img {
	display: block;
	max-height: 28px;
	width: auto;
}

.mk-metoda--blik .mk-metoda__etykieta {
	font-size: var(--mk-fs-lead);
}

.mk-metoda__opis {
	padding: 0 20px 18px 60px;
	font-size: var(--mk-fs-small);
	line-height: 1.55;
	color: var(--mk-ink-dim-on-light);
}

.mk-metoda__opis p {
	margin: 0 0 8px;
}

.mk-metoda__opis fieldset {
	margin: 8px 0 0;
	padding: 0;
	border: 0;
}

.mk-metoda__ostrzezenie {
	padding: 12px 14px;
	border-left: 4px solid var(--mk-accent);
	background: var(--mk-bg-light);
	color: var(--mk-ink-dark);
}

.mk-platnosc__pusto {
	margin: 0;
}

/* Miejsce na przycisk */
.mk-place {
	margin: 0;
}

.mk-regulamin {
	margin: 0 0 20px;
}

.mk-regulamin .mk-checkbox {
	align-items: flex-start;
}

.mk-regulamin .required {
	margin-left: 4px;
}

.mk-place__komunikat {
	margin: 0 0 12px;
	font-size: var(--mk-fs-body);
	font-weight: 700;
	color: var(--mk-error, var(--mk-ink-dark));
}

.mk-place__komunikat:empty {
	display: none;
}

.mk-btn--platnosc#place_order,
.mk-place .mk-btn--platnosc {
	width: 100%;
	min-height: 64px;
	font-size: var(--mk-fs-lead);
}

.mk-place__nota,
.mk-place__noscript {
	margin: 12px 0 0;
	font-size: var(--mk-fs-small);
	line-height: 1.5;
	color: var(--mk-ink-dim-on-light);
}

/* Sygnały zaufania */
.mk-zaufanie {
	display: grid;
	gap: 10px;
	margin: 24px 0 0;
	padding: 0;
	list-style: none;
}

.mk-zaufanie__poz {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: var(--mk-fs-small);
	font-weight: 600;
	color: var(--mk-ink-dim-on-light);
}

.mk-zaufanie__poz a {
	color: var(--mk-ink-dark);
	font-weight: 700;
	text-decoration: none;
	border-bottom: 2px solid var(--mk-accent);
}

.mk-zaufanie__ikona {
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
	color: var(--mk-ink-dark);
}

.mk-zaufanie--koszyk .mk-zaufanie__poz::before {
	content: "";
	width: 8px;
	height: 8px;
	background: var(--mk-accent);
}

/* Blokada w trakcie AJAX-u WooCommerce (.blockUI z jQuery.blockUI) */
.woocommerce-page .blockUI.blockOverlay {
	background: var(--mk-bg-light);
	opacity: .6;
}

.woocommerce-page .processing {
	opacity: .6;
	pointer-events: none;
}

/* Logowanie i kupon nad checkoutem: nie robimy z tego dużych bloków */
.woocommerce-page .woocommerce-form-login-toggle,
.woocommerce-page .woocommerce-form-coupon-toggle {
	margin: 0 0 24px;
}

.woocommerce-page form.woocommerce-form-login,
.woocommerce-page form.checkout_coupon {
	max-width: 560px;
	margin: 0 0 32px;
	padding: 24px;
	border: 1px solid var(--mk-line-on-light);
}

/* --------------------------------------------------------------------------
   6. Strona po zakupie
   -------------------------------------------------------------------------- */

.mk-dziekuje {
	padding: 0 0 80px;
}

.mk-dziekuje__naglowek {
	position: relative;
	max-width: 760px;
	margin: 0 0 48px;
	padding: 0 0 32px;
	border-bottom: 2px solid var(--mk-ink-dark);
}

.mk-dziekuje__naglowek--blad {
	border-bottom-color: var(--mk-error, var(--mk-ink-dark));
}

.mk-dziekuje__tytul {
	margin: 0 0 16px;
	font-family: var(--mk-font-display);
	font-size: var(--mk-fs-h2-alt);
	font-weight: 400;
	line-height: var(--mk-lh-display);
	letter-spacing: var(--mk-ls-display);
	text-transform: uppercase;
	color: var(--mk-ink-dark);
}

.mk-dziekuje__lead {
	margin: 0;
	font-size: var(--mk-fs-lead);
	line-height: var(--mk-lh-body);
	color: var(--mk-ink-dim-on-light);
}

.mk-dziekuje__akcje {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 24px 0 0;
}

.mk-dziekuje__siatka {
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: 32px 48px;
	margin: 0 0 48px;
}

.mk-dziekuje__blok {
	position: relative;
	padding: 28px;
	border: 1px solid var(--mk-line-on-light);
	background: var(--mk-bg-light);
}

.mk-dziekuje__blok--kwoty {
	background: var(--mk-bg-cream);
}

.mk-dziekuje__blok--kwoty::before {
	content: "";
	position: absolute;
	top: -1px;
	left: -1px;
	width: var(--mk-corner-size);
	height: var(--mk-corner-size);
	border-top: var(--mk-corner-width) solid var(--mk-accent);
	border-left: var(--mk-corner-width) solid var(--mk-accent);
	pointer-events: none;
}

.mk-dziekuje__h2 {
	margin: 0 0 16px;
	font-family: var(--mk-font-display);
	font-size: var(--mk-fs-h3);
	font-weight: 400;
	line-height: 1;
	text-transform: uppercase;
	color: var(--mk-ink-dark);
}

.mk-kwoty {
	margin: 0;
	padding: 0;
}

.mk-kwoty__wiersz {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 16px;
	padding: 10px 0;
	border-bottom: 1px solid var(--mk-line-on-light);
	font-size: var(--mk-fs-body);
	color: var(--mk-ink-dim-on-light);
}

.mk-kwoty__wiersz dt,
.mk-kwoty__wiersz dd {
	margin: 0;
}

.mk-kwoty__wiersz dd {
	font-weight: 700;
	color: var(--mk-ink-dark);
	white-space: nowrap;
}

.mk-kwoty__wiersz--teraz {
	color: var(--mk-ink-dark);
	font-weight: 800;
}

.mk-kwoty__wiersz--teraz dd {
	font-family: var(--mk-font-display);
	font-size: var(--mk-fs-stat);
	line-height: 1;
	background: linear-gradient(transparent 62%, var(--mk-accent) 62%);
}

.mk-kwoty__wiersz--pozniej {
	border-bottom: 0;
}

.mk-dziekuje__nota {
	margin: 14px 0 0;
	font-size: var(--mk-fs-small);
	line-height: 1.55;
	color: var(--mk-ink-dim-on-light);
}

.mk-oboz-karta {
	padding: 0 0 16px;
	margin: 0 0 16px;
	border-bottom: 1px solid var(--mk-line-on-light);
}

.mk-oboz-karta:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: 0;
}

.mk-oboz-karta__nazwa {
	margin: 0 0 8px;
	font-family: var(--mk-font-display);
	font-size: var(--mk-fs-card-title);
	text-transform: uppercase;
	line-height: 1.05;
	color: var(--mk-ink-dark);
}

.mk-oboz-karta__wiersz {
	display: grid;
	grid-template-columns: 96px 1fr;
	gap: 12px;
	margin: 0 0 4px;
	font-size: var(--mk-fs-body);
}

.mk-oboz-karta__wiersz span {
	font-size: var(--mk-fs-eyebrow);
	font-weight: 700;
	letter-spacing: var(--mk-ls-eyebrow);
	text-transform: uppercase;
	line-height: 22px;
	color: var(--mk-ink-mute-on-light);
}

.mk-kroki-dalej {
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: mk-krok;
}

.mk-kroki-dalej li {
	position: relative;
	padding: 0 0 14px 44px;
	font-size: var(--mk-fs-body);
	line-height: 1.55;
	color: var(--mk-ink-dark);
	counter-increment: mk-krok;
}

.mk-kroki-dalej li::before {
	content: counter(mk-krok);
	position: absolute;
	top: 0;
	left: 0;
	width: 28px;
	height: 28px;
	display: grid;
	place-content: center;
	background: var(--mk-ink-dark);
	color: var(--mk-accent);
	font-family: var(--mk-font-display);
	font-size: 14px;
}

.mk-dziekuje__kontakt {
	margin: 0 0 8px;
	font-size: var(--mk-fs-lead);
	font-weight: 800;
	line-height: 1.7;
}

.mk-dziekuje__kontakt a {
	color: var(--mk-ink-dark);
	text-decoration: none;
	border-bottom: 2px solid var(--mk-accent);
}

.mk-przeglad {
	display: flex;
	flex-wrap: wrap;
	gap: 16px 40px;
	margin: 0 0 40px;
	padding: 0;
	list-style: none;
}

.mk-przeglad__poz {
	margin: 0;
	font-size: var(--mk-fs-eyebrow);
	font-weight: 700;
	letter-spacing: var(--mk-ls-eyebrow);
	text-transform: uppercase;
	color: var(--mk-ink-mute-on-light);
}

.mk-przeglad__poz strong {
	display: block;
	margin-top: 4px;
	font-size: var(--mk-fs-body);
	letter-spacing: 0;
	text-transform: none;
	color: var(--mk-ink-dark);
}

/* Tabela zamówienia z WooCommerce pod naszym podsumowaniem */
.woocommerce-page .woocommerce-order-details,
.woocommerce-page .woocommerce-customer-details,
.woocommerce-page .woocommerce-bacs-bank-details {
	margin: 0 0 40px;
}

.woocommerce-page .woocommerce-order-details__title,
.woocommerce-page .woocommerce-column__title,
.woocommerce-page .woocommerce-bacs-bank-details-heading,
.woocommerce-page .woocommerce-bacs-bank-details-account-name {
	margin: 0 0 16px;
	font-family: var(--mk-font-display);
	font-size: var(--mk-fs-h3);
	font-weight: 400;
	line-height: 1;
	text-transform: uppercase;
}

.woocommerce-page .woocommerce-table--order-details,
.woocommerce-page .woocommerce-orders-table,
.woocommerce-page .woocommerce-MyAccount-content table {
	width: 100%;
	border-collapse: collapse;
	border: 1px solid var(--mk-line-on-light);
}

.woocommerce-page .woocommerce-table--order-details th,
.woocommerce-page .woocommerce-table--order-details td,
.woocommerce-page .woocommerce-orders-table th,
.woocommerce-page .woocommerce-orders-table td,
.woocommerce-page .woocommerce-MyAccount-content table th,
.woocommerce-page .woocommerce-MyAccount-content table td {
	padding: 12px 16px;
	border-bottom: 1px solid var(--mk-line-on-light);
	text-align: left;
	vertical-align: top;
	font-size: var(--mk-fs-body);
}

.woocommerce-page .woocommerce-table--order-details thead th,
.woocommerce-page .woocommerce-orders-table thead th {
	font-size: var(--mk-fs-eyebrow);
	font-weight: 700;
	letter-spacing: var(--mk-ls-eyebrow);
	text-transform: uppercase;
	color: var(--mk-ink-mute-on-light);
	background: var(--mk-bg-cream);
}

.woocommerce-page .woocommerce-table--order-details tfoot th {
	font-weight: 600;
	color: var(--mk-ink-dim-on-light);
}

.woocommerce-page .woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-page .woocommerce-table--order-details tfoot tr:last-child td {
	font-weight: 800;
	color: var(--mk-ink-dark);
}

.woocommerce-page .woocommerce-table__product-name .wc-item-meta {
	margin: 6px 0 0;
	padding: 0;
	list-style: none;
	font-size: var(--mk-fs-small);
	color: var(--mk-ink-dim-on-light);
}

.woocommerce-page .woocommerce-table__product-name .wc-item-meta p {
	display: inline;
	margin: 0;
}

.woocommerce-page .woocommerce-bacs-bank-details {
	margin: 0;
	padding: 0;
	list-style: none;
}

.woocommerce-page .woocommerce-bacs-bank-details li {
	padding: 6px 0;
	border-bottom: 1px solid var(--mk-line-on-light);
}

.woocommerce-page .woocommerce-customer-details address {
	font-style: normal;
	line-height: 1.6;
}

/* --------------------------------------------------------------------------
   7. Moje konto
   -------------------------------------------------------------------------- */

.woocommerce-page .woocommerce-MyAccount-navigation,
.woocommerce-page .woocommerce-MyAccount-content {
	box-sizing: border-box;
}

.woocommerce-account .woocommerce {
	display: grid;
	grid-template-columns: 260px 1fr;
	gap: 48px;
	align-items: start;
}

.woocommerce-account .woocommerce > .woocommerce-notices-wrapper,
.woocommerce-account .woocommerce > .woocommerce-form-login,
.woocommerce-account .woocommerce > .woocommerce-ResetPassword,
.woocommerce-account .woocommerce > .woocommerce-message,
.woocommerce-account .woocommerce > .woocommerce-error {
	grid-column: 1 / -1;
}

.woocommerce-page .woocommerce-MyAccount-navigation ul {
	margin: 0;
	padding: 0;
	list-style: none;
	border: 1px solid var(--mk-line-on-light);
}

.woocommerce-page .woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 14px 18px;
	border-bottom: 1px solid var(--mk-line-on-light);
	border-left: 4px solid transparent;
	color: var(--mk-ink-dim-on-light);
	font-size: var(--mk-fs-small);
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	text-decoration: none;
}

.woocommerce-page .woocommerce-MyAccount-navigation li:last-child a {
	border-bottom: 0;
}

.woocommerce-page .woocommerce-MyAccount-navigation li a:hover,
.woocommerce-page .woocommerce-MyAccount-navigation li.is-active a {
	color: var(--mk-ink-dark);
	border-left-color: var(--mk-accent);
	background: var(--mk-bg-cream);
}

.woocommerce-page .woocommerce-MyAccount-content {
	min-width: 0;
	font-size: var(--mk-fs-body);
	line-height: var(--mk-lh-body);
}

.woocommerce-page .woocommerce-MyAccount-content h2,
.woocommerce-page .woocommerce-MyAccount-content h3 {
	margin: 0 0 16px;
	font-family: var(--mk-font-display);
	font-size: var(--mk-fs-h3);
	font-weight: 400;
	line-height: 1;
	text-transform: uppercase;
}

.woocommerce-page .woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-actions .button {
	min-height: 40px;
	padding: 8px 14px;
	margin: 0 6px 6px 0;
	font-size: var(--mk-fs-small);
}

.woocommerce-page form.woocommerce-form-login,
.woocommerce-page form.woocommerce-form-register,
.woocommerce-page form.woocommerce-ResetPassword,
.woocommerce-page form.woocommerce-EditAccountForm {
	max-width: 520px;
}

.woocommerce-page .woocommerce-form-login__rememberme {
	margin: 0 0 16px;
}

.woocommerce-page .woocommerce-LostPassword {
	font-size: var(--mk-fs-small);
}

.woocommerce-page .woocommerce-password-strength {
	margin: 6px 0 0;
	padding: 6px 10px;
	font-size: var(--mk-fs-small);
	font-weight: 700;
	border-left: 4px solid var(--mk-line-strong-on-light);
}

.woocommerce-page .woocommerce-password-strength.strong {
	border-left-color: var(--mk-accent);
}

/* --------------------------------------------------------------------------
   8. Responsywność
   -------------------------------------------------------------------------- */

@media (max-width: 1024px) {
	.mk-sklep,
	.woocommerce-page .mk-sklep {
		padding: 0 var(--mk-gutter-1024);
	}

	.woocommerce-page div.product,
	.mk-koszyk__grid,
	.mk-checkout__grid {
		gap: 40px;
	}

	.mk-checkout__grid {
		grid-template-columns: 1.2fr 1fr;
	}

	.woocommerce-account .woocommerce {
		grid-template-columns: 220px 1fr;
		gap: 32px;
	}
}

@media (max-width: 860px) {
	.woocommerce-page div.product,
	.mk-koszyk__grid,
	.mk-checkout__grid,
	.mk-dziekuje__siatka {
		grid-template-columns: 1fr;
	}

	.woocommerce-page div.product .summary,
	.mk-koszyk__podsumowanie,
	.mk-checkout__sticky {
		position: static;
	}

	/* Na telefonie podsumowanie idzie na górę: rodzic najpierw widzi, co i za ile. */
	.mk-checkout__kol--podsumowanie {
		order: -1;
	}

	.mk-checkout__kol--podsumowanie .mk-checkout__naglowek {
		font-size: var(--mk-fs-card-title);
	}

	.mk-pozycja {
		padding: 18px 18px 14px;
	}

	.mk-podsumowanie__wiersz th,
	.mk-podsumowanie__wiersz td,
	.mk-podsumowanie .mk-doplata-suma th,
	.mk-podsumowanie .mk-doplata-suma td {
		padding-left: 18px;
		padding-right: 18px;
	}

	/* Przycisk płatności zawsze pod ręką: przykleja się do dołu ekranu w bloku płatności. */
	.mk-place {
		position: sticky;
		bottom: 0;
		z-index: 5;
		margin: 0 calc(-1 * var(--mk-gutter-720));
		padding: 12px var(--mk-gutter-720) 16px;
		background: var(--mk-bg-light);
		border-top: 1px solid var(--mk-line-on-light);
		box-shadow: var(--mk-shadow-card);
	}

	.woocommerce-account .woocommerce {
		grid-template-columns: 1fr;
	}

	.woocommerce-page .woocommerce-MyAccount-navigation ul {
		display: flex;
		flex-wrap: wrap;
		border: 0;
		gap: 6px;
	}

	.woocommerce-page .woocommerce-MyAccount-navigation li a {
		border: 1px solid var(--mk-line-on-light);
		border-left-width: 4px;
	}
}

@media (max-width: 720px) {
	.mk-sklep,
	.woocommerce-page .mk-sklep {
		padding: 0 var(--mk-gutter-720);
	}

	.mk-checkout__kroki {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
		padding: 16px 0;
		margin-bottom: 28px;
	}

	.mk-kroki__krok + .mk-kroki__krok::before {
		width: 16px;
		margin: 0 8px;
	}

	.mk-kroki__nazwa {
		display: none;
	}

	.mk-kroki__krok--aktywny .mk-kroki__nazwa {
		display: inline;
	}

	.mk-dane__siatka {
		grid-template-columns: 1fr;
	}

	.mk-koszyk__pozycja {
		grid-template-columns: 1fr 1fr;
		grid-template-areas:
			"oboz oboz"
			"ilosc suma"
			"usun usun";
	}

	.mk-koszyk__karta {
		grid-template-columns: 72px 1fr;
		gap: 14px;
	}

	.mk-koszyk__akcje {
		justify-content: stretch;
	}

	.mk-koszyk__akcje .button {
		width: 100%;
	}

	.mk-koszyk__podsumowanie {
		padding: 20px;
	}

	.mk-dziekuje__blok {
		padding: 20px;
	}

	.mk-oboz-karta__wiersz {
		grid-template-columns: 1fr;
		gap: 2px;
		margin-bottom: 10px;
	}

	.woocommerce-page ul.products {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.woocommerce-page .woocommerce-table--order-details thead,
	.woocommerce-page .woocommerce-orders-table thead {
		display: none;
	}

	.woocommerce-page .woocommerce-orders-table td {
		display: block;
	}

	.woocommerce-page .woocommerce-orders-table td::before {
		content: attr(data-title);
		display: block;
		font-size: var(--mk-fs-eyebrow);
		font-weight: 700;
		letter-spacing: var(--mk-ls-eyebrow);
		text-transform: uppercase;
		color: var(--mk-ink-mute-on-light);
	}
}

/* --------------------------------------------------------------------------
   9. Ruch: wyłączamy dla osób, które go nie chcą
   -------------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
	.mk-btn,
	.woocommerce-page .button,
	.woocommerce-page .form-row .input-text,
	.woocommerce-page .form-row select,
	.mk-checkbox .input-checkbox::before,
	.woocommerce-page .form-row .input-checkbox::before,
	.mk-metoda__radio::before,
	.mk-metoda__etykieta,
	.mk-faktura__przelacznik::after,
	.woocommerce-page div.product .flex-control-thumbs img {
		transition: none;
	}

	.mk-btn:active {
		transform: none;
	}

	.mk-checkout__sticky,
	.mk-koszyk__podsumowanie,
	.woocommerce-page div.product .summary {
		scroll-behavior: auto;
	}
}
