/* NL - Koszyk i kasa. Ładowane tylko na /koszyk/ i /zamowienie/. Paleta sklepu: #af7856 (miedź), #1c1c1c, beże #faf6ef #e3ddd6. */

.nl-hidden { display: none !important; }

/* ---------- Koszyk: pozycje ---------- */

.woocommerce-cart td.product-name .nl-size {
	display: inline-block;
	margin-left: 6px;
	padding: 1px 8px;
	border: 1px solid #e3ddd6;
	border-radius: 999px;
	font-size: 12px;
	color: #1c1c1c;
	white-space: nowrap;
	vertical-align: middle;
}
.woocommerce-cart td.product-name .nl-edit {
	display: block;
	margin-top: 4px;
	font-size: 13px;
	color: #af7856;
	text-decoration: underline;
}
.nl-cfg { margin-top: 6px; font-size: 13px; color: #444; }
.nl-cfg summary { cursor: pointer; color: #6b6b6b; list-style: none; user-select: none; }
.nl-cfg summary::-webkit-details-marker { display: none; }
.nl-cfg summary::after { content: " ▾"; font-size: 11px; }
.nl-cfg[open] summary::after { content: " ▴"; }
.nl-cfg dl.variation { margin: 6px 0 0; display: grid; grid-template-columns: max-content 1fr; gap: 2px 10px; }
.nl-cfg dl.variation dt, .nl-cfg dl.variation dd { margin: 0; font-weight: 400; line-height: 1.35; }
.nl-cfg dl.variation dt { color: #8a8a8a; }
.nl-cfg dl.variation dd p { margin: 0; }

.woocommerce-cart .woocommerce-shipping-destination:empty { display: none; }
.woocommerce-cart button[name="update_cart"] { display: none !important; }
.woocommerce-cart table.cart td.actions { display: none; } /* ilość aktualizuje się sama; nonce w środku i tak się wysyła */
.woocommerce-cart table.shop_table_responsive .nl-kupon-row td::before { display: none; }

@media (max-width: 992px) {
	.woocommerce-cart table.cart tr.cart_item {
		display: grid;
		grid-template-columns: 84px minmax(0, 1fr) auto;
		grid-template-areas: "thumb name remove" "thumb qty sub";
		gap: 6px 12px;
		align-items: start;
		padding: 14px 0;
		border-bottom: 1px solid #e3ddd6;
		background: none !important;
	}
	.woocommerce-cart table.cart tr.cart_item td {
		display: block;
		border: 0;
		padding: 0;
		text-align: left !important;
		background: none !important;
	}
	.woocommerce-cart table.cart tr.cart_item td::before { display: none; }
	.woocommerce-cart table.cart tr.cart_item td.product-thumbnail { grid-area: thumb; display: block; min-width: 0; }
	.woocommerce-cart table.cart tr.cart_item td.product-thumbnail img { width: 84px; height: 84px; object-fit: cover; border-radius: 8px; }
	.woocommerce-cart table.cart tr.cart_item td.product-name { grid-area: name; font-size: 15px; line-height: 1.3; }
	.woocommerce-cart table.cart tr.cart_item td.product-price { display: none; }
	.woocommerce-cart table.cart tr.cart_item td.product-quantity { grid-area: qty; align-self: center; }
	.woocommerce-cart table.cart tr.cart_item td.product-subtotal { grid-area: sub; align-self: center; text-align: right !important; font-weight: 700; font-size: 16px; }
	.woocommerce-cart table.cart tr.cart_item td.product-remove { grid-area: remove; text-align: right !important; }
	.woocommerce-cart table.cart tr.cart_item .quantity { margin: 0; }
}

/* ---------- Koszyk: podsumowanie ---------- */

.nl-termin th, .nl-termin td { vertical-align: top; }
.nl-termin small { color: #6b6b6b; font-weight: 400; }

.nl-kupon-row td { padding: 8px 0 !important; border-top: 0 !important; }
.nl-kupon summary { cursor: pointer; color: #af7856; text-decoration: underline; font-size: 14px; list-style: none; }
.nl-kupon summary::-webkit-details-marker { display: none; }
.nl-kupon__form { display: flex; gap: 8px; margin-top: 10px; }
.nl-kupon__form .input-text { flex: 1; min-width: 0; padding: 10px 12px; border: 1px solid #cfc8c0; border-radius: 6px; }
.nl-kupon__form .button { white-space: nowrap; }

.nl-trust { list-style: none; margin: 18px 0 0; padding: 14px 0 0; border-top: 1px solid #e3ddd6; font-size: 13px; color: #444; }
.nl-trust li { margin: 0 0 8px; padding-left: 22px; position: relative; line-height: 1.4; }
.nl-trust li::before { content: ""; position: absolute; left: 0; top: 3px; width: 14px; height: 14px; border-radius: 50%; background: #af7856; box-shadow: inset 0 0 0 3px #fff; }
/* Rząd logotypów płatności: jedna wysokość, środek w pionie, zawija się całymi logotypami (28.10, Paweł) */
.nl-trust__pay { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; }
.nl-trust__pay .nl-logos { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; }
.nl-trust__pay .nl-logos img { height: 24px; width: auto; max-width: 72px; object-fit: contain; display: block; flex: none; border-radius: 3px; }
.nl-trust__pay .nl-logos img.nl-logos__klarna { height: 23px; max-width: 56px; }
.nl-trust__lbl, .nl-trust__cod { white-space: nowrap; }

/* ---------- Koszyk: zachęta „drugie lustro” i pusty koszyk ---------- */

.nl-drugie, .nl-pusty { margin: 28px 0 8px; padding: 22px 18px; background: #faf6ef; border-radius: 12px; }
.nl-drugie__tytul, .nl-pusty__tytul { margin: 0 0 6px; font-size: 20px; line-height: 1.2; }
.nl-drugie__tytul span { color: #af7856; }
.nl-drugie__opis { margin: 0 0 16px; color: #555; font-size: 14px; }
.nl-drugie ul.products, .nl-pusty ul.products { margin-bottom: 0; }
@media (max-width: 992px) {
	.nl-drugie ul.products { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
	.nl-drugie ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; font-size: 12px; }
	.nl-drugie ul.products li.product img { width: 100%; height: auto; }
	.nl-pusty ul.products { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.nl-pusty ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; }
}

/* ---------- Przyklejony pasek ---------- */

.nl-cart-bar {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 9990;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
	background: #fff;
	border-top: 1px solid #e3ddd6;
	box-shadow: 0 -6px 20px rgba(0, 0, 0, .08);
	transform: translateY(110%);
	transition: transform .25s ease;
}
.nl-cart-bar.is-visible { transform: none; }
.nl-cart-bar__sum { display: flex; flex-direction: column; line-height: 1.15; min-width: 0; }
.nl-cart-bar__label { font-size: 11px; color: #6b6b6b; text-transform: uppercase; letter-spacing: .04em; }
.nl-cart-bar__total { font-size: 18px; color: #1c1c1c; }
.nl-cart-bar__total .woocommerce-Price-amount { color: inherit; }
.nl-cart-bar__ship { font-size: 12px; color: #af7856; white-space: nowrap; }
.nl-cart-bar__btn {
	margin-left: auto;
	background: #1c1c1c;
	color: #fff !important;
	padding: 14px 22px;
	border-radius: 6px;
	font-weight: 600;
	text-decoration: none !important;
	white-space: nowrap;
}
.nl-cart-bar__btn:hover { background: #af7856; }
body.nl-cart-bar-on { padding-bottom: 84px; }
body.nl-cart-bar-on .cky-btn-revisit-wrapper { bottom: 92px !important; }
@media (min-width: 993px) {
	.nl-cart-bar { left: auto; right: 24px; bottom: 24px; max-width: 460px; border: 1px solid #e3ddd6; border-radius: 12px; }
}

/* ---------- Kasa ---------- */

.woocommerce-checkout .nl-why { display: block; font-size: 12px; color: #6b6b6b; font-weight: 400; line-height: 1.3; }
.woocommerce-checkout .form-row.nl-faktura { margin-top: 10px; }
.woocommerce-checkout .form-row.nl-faktura label { display: inline; }
.woocommerce-checkout .form-row.nl-faktura .optional, .woocommerce-checkout .form-row.nl-firma-field .optional { display: none; }
.woocommerce-checkout .form-row.nl-firma-field { display: none; }
.woocommerce-checkout .form-row.nl-firma-field.is-on { display: block; }

.nl-summary { margin: 0 0 20px; border: 1px solid #e3ddd6; border-radius: 12px; background: #faf6ef; }
.nl-summary summary { display: flex; align-items: center; gap: 12px; padding: 12px 14px; cursor: pointer; list-style: none; }
.nl-summary summary::-webkit-details-marker { display: none; }
.nl-summary summary img { width: 56px; height: 56px; object-fit: cover; border-radius: 8px; flex: none; }
.nl-summary__txt { display: flex; flex-direction: column; min-width: 0; font-size: 14px; line-height: 1.3; }
.nl-summary__txt strong { font-size: 15px; }
.nl-summary__txt span { color: #6b6b6b; font-size: 13px; }
.nl-summary__total { margin-left: auto; text-align: right; font-weight: 700; font-size: 17px; line-height: 1.1; white-space: nowrap; }
.nl-summary__total small { display: block; font-size: 11px; color: #af7856; font-weight: 400; }
.nl-summary__total::after { content: "▾"; display: block; font-size: 11px; color: #999; }
.nl-summary[open] .nl-summary__total::after { content: "▴"; }
.nl-summary__list { list-style: none; margin: 0; padding: 4px 14px 10px; border-top: 1px solid #e3ddd6; font-size: 14px; }
.nl-summary__list li { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-bottom: 1px dashed #e3ddd6; }
.nl-summary__list li:last-child { border-bottom: 0; }
.nl-summary__list img { width: 40px; height: 40px; object-fit: cover; border-radius: 6px; flex: none; }
.nl-summary__list b { margin-left: auto; white-space: nowrap; }
.nl-summary__fee { color: #af7856; }
.nl-summary__edit { display: block; padding: 0 14px 12px; font-size: 13px; color: #af7856; }
@media (min-width: 993px) { .nl-summary { display: none; } }

.woocommerce-checkout #payment ul.payment_methods li.payment_method_cod { opacity: .85; }

/* „Wyślij mi ten koszyk” — pod podsumowaniem, łapie adres osób, które nie dochodzą do kasy */
.nl-wyslij { margin: 24px 0 8px; padding: 18px; border: 1px solid #e3ddd6; border-radius: 12px; background: #fff; }
.nl-wyslij__tytul { margin: 0 0 4px; font-size: 17px; font-weight: 600; line-height: 1.3; }
.nl-wyslij__opis { margin: 0 0 12px; font-size: 14px; color: #555; }
.nl-wyslij__form { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
.nl-wyslij__form input[type="email"] { flex: 1 1 200px; min-width: 0; height: 46px; padding: 0 12px; font-size: 16px; border: 1px solid #cfc7bd; border-radius: 6px; }
.nl-wyslij__form .button { height: 46px; padding: 0 20px; white-space: nowrap; }
.nl-wyslij .nl-hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.nl-wyslij__info { margin: 8px 0 0; font-size: 14px; font-weight: 600; color: #2e6b3a; }
.nl-wyslij__info:empty { display: none; }
.nl-wyslij__info.is-err { color: #b3261e; }
.nl-wyslij__mini { margin: 8px 0 0; font-size: 12px; color: #777; }

/* 1.2.1: rabaty liczą się razem — dopisek w zachęcie „drugie lustro” i wiersz „Oszczędzasz” pod sumą */
.nl-drugie__laczy { display: block; margin-top: 6px; color: #8a5636; font-weight: 700; }
tr.nl-oszcz th, tr.nl-oszcz td { color: #1a7f37; border-top: 0; padding-top: 0; }
tr.nl-oszcz td small { display: block; font-size: 12px; font-weight: 400; color: #555; }

/* Kod rabatowy w podsumowaniu (1.3.0, brief Kamila 21.10) */
.cart_totals tr.cart-discount td .nl-kod, .woocommerce-checkout-review-order-table tr.cart-discount td .nl-kod { display: inline-flex; flex-direction: column; align-items: flex-end; gap: 4px; text-align: right; }
.nl-kod__opis { display: block; font-size: 12px; line-height: 1.35; font-weight: 400; color: var(--a-muted, #555); max-width: 30ch; }
.nl-kod__usun { display: inline-block; font-size: 13px !important; font-weight: 600; color: var(--a-blue, #0066cc) !important; text-decoration: underline !important; padding: 4px 0; min-height: 32px; line-height: 24px; opacity: 1 !important; }
tr.cart-discount th { color: #1a7f37; }
tr.cart-discount td .woocommerce-Price-amount { color: #1a7f37; font-weight: 700; }
.nl-kod-info { margin: 0 0 12px; }
.nl-kod__kwota { white-space: nowrap; font-weight: 700; color: #1a7f37; }
.nl-kupon-row td { padding-right: 16px !important; }
.nl-kod-info .woocommerce-message, .nl-kod-info .woocommerce-error, .nl-kod-info .woocommerce-info { margin: 0 !important; }
.nl-kupon__form.is-busy { opacity: .6; pointer-events: none; }
.nl-cart-bar__save { color: #1a7f37; font-weight: 600; }
@media (max-width: 480px) { .nl-kod__opis { max-width: 22ch; } }

/* Układ koszyka na komputerze (28.10): lewa kolumna pozycje → „wyślij koszyk” → drugie lustro, prawa sticky; bez dziury w lewej kolumnie.
   Przyczyną pustki była flex-wrap motywu: formularz i podsumowanie w jednym rzędzie o wysokości wyższej kolumny, reszta zawijana pod. */
@media (min-width: 993px) {
	.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) { display: grid; grid-template-columns: minmax(0, 1fr) 420px; column-gap: 30px; align-items: start; }
	.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
	.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) > .woocommerce-cart-form { grid-column: 1; grid-row: 2; flex: none; }
	.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) > .cart-collaterals { grid-column: 2; grid-row: 2 / span 3; position: sticky; top: 90px; flex: none; }
	.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) > .nl-wyslij { grid-column: 1; grid-row: 3; margin: 24px 0 0; width: auto; box-sizing: border-box; }
	.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) > .nl-drugie { grid-column: 1; grid-row: 4; margin: 24px 0 0; width: auto; box-sizing: border-box; border-radius: 12px; }
}

/* „Drugie lustro”: motyw wypisuje produkty jako div.products > div.product (nie ul/li), więc stare reguły ul.products nie działały — karty rozciągały się na 600 px każda */
.nl-drugie .products { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; width: 100%; }
.nl-drugie .products > .product { width: auto !important; max-width: none !important; margin: 0 !important; float: none !important; min-width: 0; }
.nl-drugie .products .product img { width: 100%; height: auto; display: block; }
.nl-drugie .products .product-content { font-size: 13px; }
.nl-drugie .hidden-content-configuration { display: none; }
@media (max-width: 560px) { .nl-drugie .products { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; } .nl-drugie .products .product-content { font-size: 11px; } }

