/* Motyw zwęża zawartość przez .is-layout-constrained, przez co prawa kolumna
   koszyka nie miesci sie w 388px. Rozpakowujemy tylko na stronie koszyka
   (klasa body dodawana z PHP). */

body.ts-cart-layout .wp-block-group.is-layout-constrained > .woocommerce {
	max-width: none !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

body.ts-cart-layout .wp-block-group.has-global-padding {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Nagłówek i stopka też dostają has-global-padding, a alignfull odejmuje ten
   odstęp marginesem - bez przywrócenia stopka wychodzi poza ekran. */
body.ts-cart-layout .wp-block-template-part .wp-block-group.has-global-padding {
	padding-left: var(--wp--style--root--padding-left) !important;
	padding-right: var(--wp--style--root--padding-right) !important;
}

body.ts-cart-layout .wp-block-template-part .wp-block-group.ts-footer {
	padding-left: clamp(20px, 4vw, 48px) !important;
	padding-right: clamp(20px, 4vw, 48px) !important;
}

body.ts-cart-layout .wp-block-template-part .wp-block-group.ts-footer__callout {
	padding-left: 26px !important;
	padding-right: 26px !important;
}

body.ts-cart-layout .woocommerce-notices-wrapper {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 24px;
	box-sizing: border-box;
}

/* Koszyk w dwóch kolumnach: pozycje po lewej, przyklejone podsumowanie po prawej. */

.ts-cart {
	--ink: #101319;
	--body: #4B5361;
	--muted: #6B7383;
	--faint: #79808F;
	--line: #E5E8ED;
	--line-soft: #EEF0F4;
	--surface: #FFFFFF;
	--bg: #F7F8FA;
	--yellow: #FEDB32;
	--yellow-hover: #E3BD00;
	--yellow-soft: #FFFBE6;
	--yellow-line: #F3E1A0;
	--green: #256E4B;
	--font: "Onest", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

	font-family: var(--font);
	color: var(--ink);
	max-width: 1240px;
	margin: 0 auto;
	padding: 8px 24px 64px;
	box-sizing: border-box;
}

.ts-cart *,
.ts-cart *::before,
.ts-cart *::after {
	box-sizing: border-box;
}

.ts-cart__head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px 20px;
	margin-bottom: 22px;
}

.ts-cart__title {
	margin: 0;
	font-size: clamp(26px, 3vw, 32px);
	font-weight: 800;
	letter-spacing: -.03em;
	color: var(--ink);
}

.ts-cart__count {
	font-size: 14px;
	color: var(--muted);
}

.ts-cart__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 388px;
	gap: 26px;
	align-items: start;
}

/* ---------- pozycje ---------- */

.ts-cart__list {
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: 16px;
	overflow: hidden;
}

.ts-cart__row {
	display: grid;
	grid-template-columns: 104px minmax(0, 1fr) 132px 158px 36px;
	gap: 18px;
	align-items: center;
	padding: 20px 22px;
	border-bottom: 1px solid var(--line-soft);
}

.ts-cart__row:last-child {
	border-bottom: none;
}

.ts-cart__thumb img {
	display: block;
	width: 104px;
	height: auto;
	border-radius: 10px;
	background: #F2F4F7;
}

.ts-cart__thumb a {
	display: block;
}

.ts-cart__name {
	font-size: 16px;
	font-weight: 700;
	letter-spacing: -.012em;
	line-height: 1.3;
}

.ts-cart__name a {
	color: var(--ink);
	text-decoration: none;
}

.ts-cart__name a:hover {
	color: #8A6A00;
}

.ts-cart__meta {
	font-size: 13.5px;
	color: var(--muted);
	margin-top: 3px;
}

.ts-cart__meta p,
.ts-cart__meta dl,
.ts-cart__meta dt,
.ts-cart__meta dd {
	margin: 0;
	padding: 0;
	font-size: inherit;
	color: inherit;
	display: inline;
}

.ts-cart__meta dt {
	font-weight: 500;
}

.ts-cart__meta dt::after {
	content: " ";
}

.ts-cart__meta dd + dt::before {
	content: " · ";
}

.ts-cart__badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--yellow-soft);
	border: 1px solid var(--yellow-line);
	border-radius: 6px;
	padding: 3px 8px;
	font-size: 12px;
	font-weight: 700;
	color: #5C5426;
	margin-top: 8px;
}

.ts-cart__badge-dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--yellow-hover);
	flex: none;
}

/* prezent doklejony do karnetu sezonowego: ilości nie da się zmienić */

.ts-cart__qty-stala {
	display: inline-block;
	font-size: 14px;
	font-weight: 700;
	color: #6B7383;
	white-space: nowrap;
}

.ts-cart__gratis {
	font-weight: 800;
	color: #256E4B;
}

.ts-cart__row--prezent .ts-cart__unit {
	display: none;
}

/* ilość */

.ts-cart__qty .quantity,
.ts-cart__qty .qib-button-wrapper {
	display: flex;
	align-items: center;
	border: 1px solid #D8DDE5;
	border-radius: 9px;
	overflow: hidden;
	width: max-content;
	background: var(--surface);
}

.ts-cart .ts-cart__qty .qib-button-wrapper button.qib-button {
	width: 40px !important;
	height: 44px !important;
	min-width: 0 !important;
	border: none !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--muted) !important;
	font-size: 16px !important;
	line-height: 1;
	cursor: pointer;
	padding: 0;
}

.ts-cart .ts-cart__qty .qib-button-wrapper button.qib-button:hover {
	color: var(--ink);
}

.ts-cart .ts-cart__qty .quantity input.qty, .ts-cart .ts-cart__qty .qib-button-wrapper input.qty {
	width: 40px !important;
	height: 44px !important;
	border: none !important;
	background: transparent !important;
	font-family: var(--font);
	font-size: 15px;
	font-weight: 700;
	color: var(--ink);
	text-align: center;
	padding: 0;
	-moz-appearance: textfield;
}

.ts-cart__qty input.qty::-webkit-outer-spin-button,
.ts-cart__qty input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* kwoty */

.ts-cart__money {
	text-align: right;
	font-variant-numeric: tabular-nums;
}

.ts-cart__was {
	font-size: 13px;
	color: var(--faint);
	text-decoration: line-through;
	text-decoration-thickness: 1px;
}

.ts-cart__now {
	font-size: 19px;
	font-weight: 800;
	letter-spacing: -.02em;
	color: var(--ink);
}

.ts-cart__now .woocommerce-Price-amount {
	font-size: inherit;
	font-weight: inherit;
}

.ts-cart__now .ts-omnibus {
	display: none;
}

.ts-cart__unit {
	font-size: 11.5px;
	color: var(--muted);
	margin-top: 2px;
}

.ts-cart__unit .ts-omnibus,
.ts-cart__unit del {
	display: none;
}

.ts-cart__remove {
	display: grid;
	place-items: center;
}

.ts-cart__remove a.remove {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 8px;
	color: #9AA2B1;
	font-size: 20px;
	line-height: 1;
	text-decoration: none;
	transition: background .18s ease, color .18s ease;
}

.ts-cart__remove a.remove:hover {
	background: #FBEDEC;
	color: #B23A32;
}

/* pasek pod listą */

.ts-cart__bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 18px;
	margin-top: 16px;
}

.ts-cart__back {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	font-weight: 600;
	color: var(--body);
	text-decoration: none;
}

.ts-cart__back:hover {
	color: var(--ink);
}

.ts-cart__update {
	border: 1px solid #D8DDE5;
	background: var(--surface);
	border-radius: 10px;
	padding: 11px 20px;
	font-family: var(--font);
	font-size: 14px;
	font-weight: 700;
	color: var(--body);
	cursor: pointer;
	transition: border-color .18s ease, color .18s ease;
}

.ts-cart__update:hover {
	border-color: var(--ink);
	color: var(--ink);
}

/* ---------- prawa kolumna ---------- */

.ts-cart__side {
	position: sticky;
	top: 22px;
	display: flex;
	flex-direction: column;
	gap: 14px;
	min-width: 0;
}

.ts-cart__side .cart-collaterals {
	display: flex;
	flex-direction: column;
	gap: 14px;
	width: 100%;
}

.ts-cart__side .cross-sells {
	display: none;
}

.ts-sum-wrap {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

/* WooCommerce domyslnie daje .cart-collaterals .cart_totals { float:right; width:48% },
   co scisnelo podsumowanie do polowy kolumny. */
.ts-cart .cart-collaterals,
.ts-cart .cart-collaterals .cart_totals,
.ts-cart .cart-collaterals .ts-sum-wrap,
.ts-cart .cart-collaterals .ts-sum {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
}

.ts-sum {
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: 16px;
	padding: 22px;
	box-shadow: 0 1px 2px rgba(16, 19, 25, .04), 0 12px 30px rgba(16, 19, 25, .06);
}

.ts-sum__title {
	margin: 0 0 14px;
	font-size: 16px;
	font-weight: 800;
	letter-spacing: -.01em;
	color: var(--ink);
}

.ts-sum__rows {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.ts-sum__row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 14px;
	font-size: 14.5px;
}

.ts-sum__label {
	color: var(--body);
}

.ts-sum__value {
	font-weight: 600;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}

.ts-sum__row--save .ts-sum__label,
.ts-sum__row--save .ts-sum__value {
	color: var(--green);
	font-weight: 700;
}

.ts-sum__shipping {
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid var(--line);
}

.ts-sum__section-label {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .07em;
	text-transform: uppercase;
	color: var(--muted);
	margin-bottom: 10px;
}

.ts-sum__shipping ul#shipping_method {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.ts-sum__shipping ul#shipping_method li {
	margin: 0;
	padding: 0;
	position: relative;
}

.ts-sum__shipping ul#shipping_method li input[type="radio"] {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.ts-sum__shipping ul#shipping_method li label {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	border: 1px solid #D8DDE5;
	border-radius: 10px;
	padding: 11px 13px;
	font-size: 14px;
	color: var(--body);
	cursor: pointer;
	transition: border-color .18s ease;
	margin: 0;
}

.ts-sum__shipping ul#shipping_method li label:hover {
	border-color: #A9B1BE;
}

.ts-sum__shipping ul#shipping_method li input[type="radio"]:checked + label {
	border: 2px solid var(--ink);
	padding: 10px 12px;
	font-weight: 700;
	color: var(--ink);
}

.ts-sum__shipping ul#shipping_method li input[type="radio"]:focus-visible + label {
	outline: 2px solid var(--yellow-hover);
	outline-offset: 2px;
}

.ts-sum__shipping ul#shipping_method li label .woocommerce-Price-amount {
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.ts-sum__shipping .woocommerce-shipping-destination,
.ts-sum__shipping .shipping-calculator-button {
	font-size: 12.5px;
	color: var(--muted);
	margin-top: 10px;
	display: block;
}

.ts-sum__total {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 14px;
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid var(--line);
}

.ts-sum__total-label {
	font-size: 15px;
	font-weight: 700;
}

.ts-sum__total-value {
	font-size: 28px;
	font-weight: 800;
	letter-spacing: -.032em;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.ts-sum__total-value .woocommerce-Price-amount {
	font-size: inherit;
	font-weight: inherit;
}

.ts-sum__total-value small {
	display: block;
	font-size: 12px;
	font-weight: 400;
	color: var(--muted);
	letter-spacing: 0;
}

.ts-sum__cta {
	margin-top: 16px;
}

.ts-sum__cta a.checkout-button,
.ts-sum__cta .button {
	display: grid;
	place-items: center;
	width: 100%;
	min-height: 54px;
	border: none;
	border-radius: 11px;
	background: var(--yellow);
	color: var(--ink);
	font-family: var(--font);
	font-size: 15px;
	font-weight: 800;
	text-decoration: none;
	text-align: center;
	padding: 0 16px;
	transition: background .18s ease;
	box-sizing: border-box;
}

.ts-sum__cta a.checkout-button:hover,
.ts-sum__cta .button:hover {
	background: var(--yellow-hover);
	color: var(--ink);
}

.ts-sum__pay {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	margin-top: 12px;
	font-size: 12.5px;
	color: var(--muted);
}

.ts-sum__pay svg {
	flex: none;
}

/* oszczędność */

.ts-cart__save {
	margin-top: 14px;
	background: var(--yellow-soft);
	border: 1px solid var(--yellow-line);
	border-radius: 12px;
	padding: 14px 16px;
}

.ts-cart__save-head {
	font-size: 14px;
	font-weight: 800;
	color: var(--ink);
}

.ts-cart__save-head .woocommerce-Price-amount {
	font-size: inherit;
	font-weight: inherit;
}

.ts-cart__save-body {
	margin: 4px 0 0;
	font-size: 13px;
	line-height: 1.55;
	color: #5C5426;
}

/* kupon */

.ts-sum__kupon {
	margin-top: 16px;
	padding-top: 14px;
	border-top: 1px solid var(--line);
}

/* Rozwijanie bierze na siebie details, więc chowamy tylko domyślny znacznik. */

.ts-sum__kupon-link {
	display: inline-block;
	font-size: 13.5px;
	font-weight: 700;
	color: var(--body);
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
	list-style: none;
}

.ts-sum__kupon-link::-webkit-details-marker {
	display: none;
}

.ts-sum__kupon-link:hover {
	color: var(--ink);
}

.ts-sum__kupon-pola {
	display: flex;
	gap: 8px;
	margin-top: 10px;
}

/* Motyw narzuca własne wymiary pól i przycisków, stąd zapis przez rodzica. */

.ts-sum__kupon-pola .ts-sum__kupon-input {
	flex-grow: 1;
	min-width: 0;
	box-sizing: border-box;
	height: 50px;
	border: 1px solid #D8DDE5;
	border-radius: 9px;
	padding: 0 13px;
	font-family: var(--font);
	font-size: 14px;
	color: var(--ink);
	background: var(--surface);
}

.ts-sum__kupon-pola .ts-sum__kupon-input:focus {
	outline: 2px solid var(--yellow-hover);
	outline-offset: 1px;
	border-color: transparent;
}

.ts-sum__kupon-pola .ts-sum__kupon-btn {
	flex: none;
	box-sizing: border-box;
	height: 50px;
	border: 1px solid #D8DDE5;
	background: var(--surface);
	border-radius: 9px;
	padding: 0 16px;
	font-family: var(--font);
	font-size: 13.5px;
	font-weight: 700;
	color: var(--body);
	cursor: pointer;
	transition: border-color .18s ease, color .18s ease;
}

.ts-sum__kupon-pola .ts-sum__kupon-btn:hover {
	border-color: var(--ink);
	color: var(--ink);
}

/* ---------- wąskie ekrany ---------- */

@media (max-width: 1024px) {
	.ts-cart__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.ts-cart__side {
		position: static;
	}
}

@media (max-width: 720px) {
	.ts-cart {
		padding: 8px 14px 48px;
	}

	/* Kontrolka ilości ma stałe 144px, więc na wąskim ekranie dostaje własny
	   wiersz - inaczej plus wypada poza komórkę. */
	.ts-cart__row {
		grid-template-columns: 64px minmax(0, 1fr);
		grid-template-areas:
			"thumb info"
			"thumb money"
			"qty   qty";
		gap: 10px 12px;
		padding: 16px 14px;
	}

	.ts-cart__thumb {
		grid-area: thumb;
		align-self: start;
	}

	.ts-cart__thumb img {
		width: 64px;
	}

	.ts-cart__info {
		grid-area: info;
		padding-right: 30px;
	}

	.ts-cart__qty {
		grid-area: qty;
		margin-top: 4px;
	}

	.ts-cart__money {
		grid-area: money;
		text-align: right;
		align-self: start;
		white-space: nowrap;
	}

	/* Krzyżyk nie ma własnej komórki - siada w prawym górnym rogu wiersza. */
	.ts-cart__remove {
		grid-area: info;
		justify-self: end;
		align-self: start;
		margin-right: 0;
	}

	.ts-cart__name {
		font-size: 15px;
	}

	.ts-cart__now {
		font-size: 17px;
	}
}

/* WooCommerce wypisuje nazwe paczki („Wysyłka") nad opcjami, a my mamy
   juz wlasny naglowek sekcji. */
.ts-sum__shipping-table th,
.ts-sum__shipping-table .shipping__label {
	display: none !important;
}

.ts-sum__shipping-table,
.ts-sum__shipping-table tbody,
.ts-sum__shipping-table tr,
.ts-sum__shipping-table td {
	display: block !important;
	width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
	background: none !important;
}

.ts-sum__rows--dostawa {
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid var(--line);
}

.ts-cart__remove {
	margin-right: -6px;
}

/* ============================================================
   Komunikaty WooCommerce: koszyk, kasa, konto.
   Domyslnie sa szare, na calej szerokosci i bez kontenera.
   ============================================================ */

body.ts-shop-layout .woocommerce-notices-wrapper,
body.ts-shop-layout .woocommerce > .woocommerce-message,
body.ts-shop-layout .woocommerce > .woocommerce-info,
body.ts-shop-layout .woocommerce > .woocommerce-error {
	max-width: 1240px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 24px;
	padding-right: 24px;
	box-sizing: border-box;
}

body.ts-shop-layout .woocommerce-message,
body.ts-shop-layout .woocommerce-info,
body.ts-shop-layout .woocommerce-error,
body.ts-shop-layout ul.woocommerce-error {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 14px;
	margin: 0 0 18px;
	padding: 14px 18px 14px 46px;
	border: 1px solid var(--line, #E5E8ED);
	border-top: 1px solid var(--line, #E5E8ED);
	border-radius: 12px;
	background: #FFFFFF;
	color: #101319;
	font-family: "Onest", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	font-size: 14.5px;
	line-height: 1.55;
	list-style: none;
	box-shadow: 0 1px 2px rgba(16, 19, 25, .04), 0 8px 22px rgba(16, 19, 25, .05);
}

body.ts-shop-layout .woocommerce-message::before,
body.ts-shop-layout .woocommerce-info::before,
body.ts-shop-layout .woocommerce-error::before {
	position: absolute;
	left: 18px;
	top: 50%;
	transform: translateY(-50%);
	width: 18px;
	height: 18px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	font-family: inherit;
	font-size: 11px;
	font-weight: 800;
	line-height: 1;
	color: #FFFFFF;
	content: "i";
	background: #6B7383;
}

body.ts-shop-layout .woocommerce-message {
	border-color: #C9E4D6;
	background: #F2FAF6;
}

body.ts-shop-layout .woocommerce-message::before {
	content: "\2713";
	background: #256E4B;
}

body.ts-shop-layout .woocommerce-info {
	border-color: #F3E1A0;
	background: #FFFBE6;
}

body.ts-shop-layout .woocommerce-info::before {
	background: #E3BD00;
	color: #191B1F;
}

body.ts-shop-layout .woocommerce-error,
body.ts-shop-layout ul.woocommerce-error {
	border-color: #F0C9C5;
	background: #FBEDEC;
}

body.ts-shop-layout .woocommerce-error::before {
	content: "!";
	background: #B23A32;
}

body.ts-shop-layout .woocommerce-message a,
body.ts-shop-layout .woocommerce-info a,
body.ts-shop-layout .woocommerce-error a {
	color: #101319;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* przycisk w komunikacie, np. "Zobacz koszyk" */
body.ts-shop-layout .woocommerce-message .button,
body.ts-shop-layout .woocommerce-info .button {
	order: 2;
	margin-left: auto;
	flex: none;
	border: 1px solid #D8DDE5;
	border-radius: 9px;
	background: #FFFFFF;
	color: #101319;
	font-family: inherit;
	font-size: 13.5px;
	font-weight: 700;
	padding: 9px 16px;
	text-decoration: none;
	white-space: nowrap;
}

body.ts-shop-layout .woocommerce-message .button:hover,
body.ts-shop-layout .woocommerce-info .button:hover {
	border-color: #101319;
}

/* ============================================================
   Pusty koszyk
   ============================================================ */

.ts-empty {
	font-family: "Onest", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	max-width: 1240px;
	margin: 0 auto;
	padding: 8px 24px 72px;
	box-sizing: border-box;
}

.ts-empty__box {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 6px;
	background: #FFFFFF;
	border: 1px solid #E5E8ED;
	border-radius: 16px;
	padding: 56px 28px 60px;
}

.ts-empty__icon {
	display: grid;
	place-items: center;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: #FFFBE6;
	border: 1px solid #F3E1A0;
	color: #8A6A00;
	margin-bottom: 14px;
}

.ts-empty__title {
	margin: 0;
	font-size: clamp(22px, 2.4vw, 28px);
	font-weight: 800;
	letter-spacing: -.028em;
	color: #101319;
}

.ts-empty__lead {
	margin: 6px 0 0;
	max-width: 46ch;
	font-size: 15.5px;
	line-height: 1.6;
	color: #4B5361;
}

.ts-empty__cta {
	display: inline-grid;
	place-items: center;
	min-height: 54px;
	margin-top: 22px;
	padding: 0 34px;
	border-radius: 11px;
	background: #FEDB32;
	color: #101319;
	font-size: 15px;
	font-weight: 800;
	text-decoration: none;
	transition: background .18s ease;
}

.ts-empty__cta:hover {
	background: #E3BD00;
	color: #101319;
}

@media (max-width: 720px) {
	.ts-empty {
		padding: 8px 14px 48px;
	}

	.ts-empty__box {
		padding: 40px 20px 44px;
	}

	body.ts-shop-layout .woocommerce-notices-wrapper {
		padding-left: 14px;
		padding-right: 14px;
	}
}

/* komunikat o dostepnosci faktury na kasie */
.ts-kasa-info {
	margin: 12px 0 0;
	padding: 12px 14px;
	border: 1px solid #F3E1A0;
	border-radius: 10px;
	background: #FFFBE6;
	color: #5C5426;
	font-family: "Onest", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	font-size: 13.5px;
	line-height: 1.55;
}

/* Formularze konta: logowanie, rejestracja, odzyskiwanie hasła.
   Jeden wygląd na koszyku, kasie i moim koncie, zgodny z pustym koszykiem. */

body.ts-shop-layout .woocommerce-form,
body.ts-shop-layout .woocommerce-ResetPassword,
body.ts-shop-layout .woocommerce-EditAccountForm {
	font-family: "Onest", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	color: #101319;
	border: 1px solid #E5E8ED;
	border-radius: 16px;
	background: #FFFFFF;
	padding: 26px;
	margin: 0 0 18px;
}

body.ts-shop-layout .ts-kasa__logowanie-box .woocommerce-form {
	border: 0;
	padding: 0;
	margin: 0;
	background: none;
}

body.ts-shop-layout .woocommerce-form > p:first-child,
body.ts-shop-layout .woocommerce-form .woocommerce-form-login__lead {
	margin-top: 0;
	font-size: 14.5px;
	line-height: 1.6;
	color: #4B5361;
}

body.ts-shop-layout .woocommerce-form .form-row,
body.ts-shop-layout .woocommerce-ResetPassword .form-row,
body.ts-shop-layout .woocommerce-EditAccountForm .form-row {
	display: flex;
	flex-direction: column;
	width: 100% !important;
	float: none !important;
	margin: 0 0 14px !important;
	padding: 0 !important;
}

body.ts-shop-layout .woocommerce-form label,
body.ts-shop-layout .woocommerce-ResetPassword label,
body.ts-shop-layout .woocommerce-EditAccountForm label {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	color: #6B7383;
	margin-bottom: 6px;
	line-height: 1.4;
}

body.ts-shop-layout .woocommerce-form input.input-text,
body.ts-shop-layout .woocommerce-form input.woocommerce-Input,
body.ts-shop-layout .woocommerce-ResetPassword input.input-text,
body.ts-shop-layout .woocommerce-EditAccountForm input.input-text {
	width: 100%;
	box-sizing: border-box;
	border: 1px solid #D8DDE5;
	border-radius: 10px;
	padding: 11px 14px;
	font-family: inherit;
	font-size: 15px;
	line-height: 1.4;
	color: #101319;
	background: #FFFFFF;
	transition: border-color .15s ease, box-shadow .15s ease;
}

body.ts-shop-layout .woocommerce-form input.input-text:focus,
body.ts-shop-layout .woocommerce-form input.woocommerce-Input:focus,
body.ts-shop-layout .woocommerce-ResetPassword input.input-text:focus,
body.ts-shop-layout .woocommerce-EditAccountForm input.input-text:focus {
	outline: none;
	border-color: #101319;
	box-shadow: 0 0 0 3px rgba(16, 19, 25, .07);
}

body.ts-shop-layout .woocommerce-form .woocommerce-form-login__rememberme,
body.ts-shop-layout .woocommerce-form label.woocommerce-form__label-for-checkbox {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
	color: #4B5361;
	margin: 0 0 16px;
	cursor: pointer;
}

body.ts-shop-layout .woocommerce-form input[type="checkbox"] {
	accent-color: #101319;
	width: 18px;
	height: 18px;
	flex: none;
	margin: 0;
}

body.ts-shop-layout .woocommerce-form button.woocommerce-button,
body.ts-shop-layout .woocommerce-form button.woocommerce-Button,
body.ts-shop-layout .woocommerce-ResetPassword button.woocommerce-Button,
body.ts-shop-layout .woocommerce-EditAccountForm button.woocommerce-Button {
	display: inline-grid;
	place-items: center;
	min-height: 52px;
	padding: 0 32px !important;
	border: 0 !important;
	border-radius: 11px !important;
	background: #FEDB32 !important;
	background-image: none !important;
	color: #101319 !important;
	font-family: inherit !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	letter-spacing: -0.01em !important;
	text-transform: none !important;
	cursor: pointer;
	transition: background .18s ease;
}

body.ts-shop-layout .woocommerce-form button.woocommerce-button:hover,
body.ts-shop-layout .woocommerce-form button.woocommerce-Button:hover,
body.ts-shop-layout .woocommerce-ResetPassword button.woocommerce-Button:hover,
body.ts-shop-layout .woocommerce-EditAccountForm button.woocommerce-Button:hover {
	background: #E3BD00 !important;
}

body.ts-shop-layout .woocommerce-LostPassword {
	margin: 14px 0 0;
	font-size: 14px;
}

body.ts-shop-layout .woocommerce-LostPassword a {
	color: #4B5361;
	text-decoration: underline;
	text-underline-offset: 3px;
}

body.ts-shop-layout .woocommerce-LostPassword a:hover {
	color: #101319;
}
