/* Widoki WooCommerce Feel Nice: sklep, koszyk (pełny i pusty), szuflada koszyka, zamówienie, logowanie i komunikaty.
   Ładowany po sklep.css (tam zostaje panel zakupu, Omnibus i blok suplementu) i nadpisuje jego dawny, domyślny wygląd.
   Wszystkie rozmiary w rem, więc idą za skalą sklepu (html { font-size: 90% } w marka.css). Przyciski jak w kopii
   Slight Twist: główny żółty z czernią, pomocniczy z obrysem; kolory i wzory linii z klas fn-linia-*. */

/* ---------- Kolory i wzory linii (te same tła co sekcje linii na głównej) ---------- */
.fn .fn-linia-luna { --fn-linia-kolor: #b82c69; --fn-linia-tlo: url(../img/tla/luna-1200.webp); }
.fn .fn-linia-hydro { --fn-linia-kolor: #229374; --fn-linia-tlo: url(../img/tla/hydro-1200.webp); }
.fn .fn-linia-flora { --fn-linia-kolor: #ef740c; --fn-linia-tlo: url(../img/tla/flora-1200.webp); --fn-linia-tekst: var(--fn-czern); }
.fn .fn-linia-zestaw { --fn-linia-kolor: var(--fn-malina-800); --fn-linia-tlo: url(../img/tla/malina-1200.webp); }

/* Kafel z saszetką na wzorze linii (pozycje koszyka, szuflada, „Dobierz”). */
/* Kafel jest kontenerem: saszetka ma 82% jego wysokości w jednostkach cqh. Samo 82% nie zawsze się przeliczało (procent
   od wysokości komórki siatki) i saszetka wracała do rozmiaru pliku: w koszyku i szufladzie jedne były dwa razy większe. */
.fn .fn-kafel-linii { container-type: size; display: grid; place-items: center; aspect-ratio: 1; overflow: hidden; border-radius: 1rem; background: var(--fn-linia-kolor, var(--fn-malina-800)) var(--fn-linia-tlo, none) center / cover; }
.fn .fn-kafel-linii img { width: auto; height: 82%; height: 82cqh; max-width: none; object-fit: contain; rotate: -8deg; filter: drop-shadow(0 0.5rem 0.75rem rgb(22 8 14 / 0.35)); }
.fn .fn-linia-zestaw .fn-kafel-linii img, .fn .fn-kafel-linii.fn-linia-zestaw img { width: 88%; width: 88cqw; height: auto; rotate: 0deg; }

/* ---------- Przyciski ---------- */
.fn .st-commerce .button, .fn .fn-przycisk-linii, .fn .fn-szuflada .woocommerce-mini-cart__buttons .button {
	display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem;
	padding: 0.75rem 1.5rem 0.9rem; border: 0; border-radius: 0.5rem;
	font: 500 1.25rem/1.2 var(--fn-font-naglowki); letter-spacing: 0; text-decoration: none; cursor: pointer;
	transition: translate 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}
.fn .st-commerce .button, .fn .st-commerce .woocommerce a.button, .fn .st-commerce .woocommerce button.button { background: var(--fn-zolty); color: var(--fn-czern); }
.fn .st-commerce .button:hover, .fn .fn-przycisk-linii:hover { translate: 0 -1px; box-shadow: 0 0.5rem 1rem rgb(22 8 14 / 0.25); }
.fn a.fn-przycisk-linii, .fn button.fn-przycisk-linii, .fn .st-commerce a.fn-przycisk-linii { background: var(--fn-przycisk-tlo, var(--fn-zolty)); color: var(--fn-przycisk-tekst, var(--fn-czern)); } /* mocniej niż .st-commerce a { color: inherit } */
.fn .st-commerce .button.fn-przycisk-obrys, .fn .st-commerce .woocommerce button.button.fn-przycisk-obrys, .fn .st-commerce .woocommerce a.button.fn-przycisk-obrys { background: transparent; color: var(--fn-krem); box-shadow: inset 0 0 0 2px rgb(255 251 247 / 0.45); font-size: 1rem; }
.fn .st-commerce .button.fn-przycisk-obrys:hover { box-shadow: inset 0 0 0 2px var(--fn-krem); }
.fn .st-commerce .button:disabled, .fn .st-commerce .button.disabled, .fn .st-commerce .button[disabled] { opacity: 0.45; translate: none; box-shadow: none; cursor: default; }
.fn .st-commerce .button.fn-przycisk-obrys:disabled, .fn .st-commerce .woocommerce button.button.fn-przycisk-obrys:disabled { padding: 0.75rem 1.5rem 0.9rem; color: var(--fn-krem); box-shadow: inset 0 0 0 2px rgb(255 251 247 / 0.25); }

/* ---------- Pola formularzy ---------- */
.fn .st-commerce input.input-text, .fn .st-commerce input[type="text"], .fn .st-commerce input[type="email"], .fn .st-commerce input[type="tel"],
.fn .st-commerce input[type="password"], .fn .st-commerce input[type="number"], .fn .st-commerce textarea, .fn .st-commerce select {
	min-height: 3rem; padding: 0.625rem 1rem; border: 2px solid transparent; border-radius: 0.5rem;
	background: var(--fn-krem); color: var(--fn-czern); font-family: var(--fn-font-tekst); line-height: 1.4;
}
.fn .st-commerce textarea { min-height: 6rem; }
.fn .st-commerce input:focus-visible, .fn .st-commerce textarea:focus-visible, .fn .st-commerce select:focus-visible { outline: 3px solid var(--fn-zolty); outline-offset: 2px; }
.fn .st-commerce .woocommerce-invalid input.input-text, .fn .st-commerce .woocommerce-invalid select { border-color: var(--fn-roz-300); }
/* WooCommerce barwi etykiety błędnych pól na czerwono, na malinie nieczytelne: róż marki i komunikat pod polem. */
.fn .st-commerce .woocommerce form .form-row.woocommerce-invalid label, .fn .st-commerce .checkout-inline-error-message, .fn .st-commerce .woocommerce-error-inline { color: var(--fn-roz-300); }
.fn .st-commerce .checkout-inline-error-message { margin: 0.35rem 0 0; font-size: 0.875rem; }
.fn .st-commerce .form-row label { margin-bottom: 0.25rem; font-size: 1rem; font-weight: 600; }
.fn .st-commerce .form-row .required { color: var(--fn-zolty); text-decoration: none; }
.fn .st-commerce input[type="checkbox"], .fn .st-commerce input[type="radio"] { accent-color: var(--fn-zolty); width: 1.125rem; height: 1.125rem; }

/* ---------- Komunikaty ---------- */
.fn .woocommerce-message, .fn .woocommerce-info, .fn .woocommerce-error {
	display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1rem;
	margin: 0 0 1.5rem; padding: 1rem 1.5rem; border: 0; border-radius: 1rem;
	background: var(--fn-krem); color: var(--fn-malina-900); font-size: 1rem; line-height: 1.4; list-style: none;
}
.fn .woocommerce-message::before, .fn .woocommerce-info::before, .fn .woocommerce-error::before { position: static; margin: 0; color: var(--fn-malina); }
.fn .woocommerce-message .button, .fn .woocommerce-info .button, .fn .st-commerce .woocommerce .woocommerce-message a.button, .fn .st-commerce .woocommerce .woocommerce-info a.button { order: 2; margin-left: auto; padding: 0.5rem 1rem 0.6rem; font: 700 1rem/1 var(--fn-font-tekst); background: var(--fn-malina); color: var(--fn-krem); }
.fn .woocommerce-error { display: block; padding-left: 1.5rem; background: #fdecef; color: #8a1238; }
.fn .woocommerce-error::before { display: none; }
.fn .woocommerce-error li { margin: 0.25rem 0; }
.fn .woocommerce-error a { color: inherit; }

/* ---------- Sklep: karty linii ---------- */
.fn .st-commerce ul.products { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; margin: 0; padding: 0; list-style: none; }
.fn .st-commerce ul.products::before, .fn .st-commerce ul.products::after { display: none; }
.fn .st-commerce ul.products li.product.fn-karta-linii { float: none; width: auto; margin: 0; padding: 2rem; }
.fn .fn-karta-linii {
	position: relative; isolation: isolate; overflow: hidden;
	display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); align-items: center; gap: 1.5rem;
	min-height: 24rem; padding: 2rem; border-radius: 1.5rem; list-style: none;
	background: var(--fn-linia-kolor) var(--fn-linia-tlo) center / cover; color: var(--fn-linia-tekst, var(--fn-krem));
}
.fn .fn-karta-linii-obraz { display: flex; justify-content: center; align-self: stretch; align-items: center; }
.fn .fn-karta-linii-saszetka, .fn .st-commerce ul.products li.product a img.fn-karta-linii-saszetka { width: auto; height: 19rem; max-width: 100%; object-fit: contain; rotate: -8deg; filter: drop-shadow(0 1.5rem 2rem rgb(22 8 14 / 0.35)); transition: rotate 0.4s ease, scale 0.4s ease; }
.fn .st-commerce ul.products li.product a img.fn-karta-linii-saszetka { margin-bottom: 1em; } /* w sklepie saszetka nieco wyżej niż w pustym koszyku */
.fn .fn-linia-zestaw .fn-karta-linii-saszetka, .fn .st-commerce ul.products li.product.fn-linia-zestaw a img.fn-karta-linii-saszetka { height: auto; width: 100%; rotate: 0deg; }
.fn .fn-karta-linii:hover .fn-karta-linii-saszetka { rotate: -3deg; scale: 1.04; }
.fn .fn-karta-linii-nazwa, .fn .st-commerce .fn-karta-linii-nazwa { margin: 0; font-family: var(--fn-font-naglowki); font-size: 3rem; font-weight: 700; line-height: 1; letter-spacing: -0.04em; }
.fn .fn-karta-linii-nazwa a { color: inherit; text-decoration: none; }
.fn .fn-karta-linii-opis { margin: 0.75rem 0 1rem; font-size: 1.125rem; line-height: 1.3; }
.fn .fn-karta-linii-smak { margin: 0 0 1.5rem; font-size: 1rem; opacity: 0.85; }
.fn .fn-karta-linii-dol { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; }
.fn .fn-karta-linii-cena { font-family: var(--fn-font-naglowki); font-size: 1.25rem; font-weight: 600; }
.fn .fn-karta-linii-cena .price, .fn .fn-karta-linii-cena .amount { color: inherit; }
.fn .fn-karta-linii-cena .shouse-omnibus { display: block; }
@media (max-width: 991px) {
	.fn .st-commerce ul.products, .fn .fn-karty-linii { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 479px) {
	.fn .fn-karta-linii, .fn .st-commerce ul.products li.product.fn-karta-linii { grid-template-columns: minmax(0, 1fr); min-height: 0; padding: 1.5rem; text-align: center; }
	.fn .fn-karta-linii-saszetka, .fn .st-commerce ul.products li.product a img.fn-karta-linii-saszetka { height: 14rem; }
	.fn .fn-karta-linii-nazwa, .fn .st-commerce .fn-karta-linii-nazwa { font-size: 2.5rem; }
	.fn .fn-karta-linii-dol { justify-content: center; }
}

/* ---------- Koszyk (2026-10-13: „brzydko niedopracowany”) ---------- */
/* Pozycje jak karty linii w sklepie (tło i wzór linii, saszetka bez kafla), ilość z − i + jak w panelu zakupu,
   okrągłe „usuń”, suma krojem nagłówków; koszyk przelicza się sam (strona.js), więc „Przelicz koszyk” jest schowany. */
.fn .fn-koszyk { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(20rem, 1fr); gap: 3rem; align-items: start; }
.fn .fn-koszyk .cart-collaterals { position: sticky; top: 8rem; width: auto; }
.fn .st-commerce .woocommerce .fn-koszyk .cart-collaterals .cart_totals, .fn .fn-koszyk .cart-collaterals .cart_totals { float: none; width: 100%; }
.fn .fn-pozycje { display: grid; grid-auto-rows: 1fr; gap: 1rem; } /* wszystkie pozycje tej samej wysokości */
.fn .fn-pozycja {
	display: grid; grid-template-columns: 7rem minmax(0, 1fr) auto 7.5rem 2.75rem; align-items: center; gap: 1.5rem;
	padding: 1rem 1.25rem 1rem 1rem; border-radius: 1.5rem;
	background: var(--fn-linia-kolor, var(--fn-malina-800)) var(--fn-linia-tlo, none) center / cover; color: var(--fn-linia-tekst, var(--fn-krem));
}
/* Saszetka wychodzi poza kafel (obrót), ale kafel zostaje kwadratem: bez min-height: 0 kwadrat z overflow: visible rósł
   do wysokości obrazka i pozycje z Luną czy Florą były wyższe niż z zestawem. */
.fn .fn-pozycja .fn-kafel-linii, .fn-szuflada .woocommerce-mini-cart-item .fn-kafel-linii { overflow: visible; min-height: 0; background: none; }
.fn .fn-pozycja .product-thumbnail a { display: block; }
.fn .fn-pozycja .product-name { display: grid; justify-items: start; gap: 0.25rem; }
.fn .fn-pozycja-nazwa { font-family: var(--fn-font-naglowki); font-size: 1.75rem; font-weight: 700; line-height: 1; letter-spacing: -0.03em; color: inherit; text-decoration: none; }
.fn .fn-pozycja-opakowanie { padding: 0.25rem 0.75rem 0.35rem; border-radius: 6.25rem; background: rgb(0 0 0 / 0.2); font-family: var(--fn-font-naglowki); font-size: 0.875rem; }
.fn .fn-pozycja-smak, .fn .fn-pozycja-cena-sztuki { font-size: 0.875rem; opacity: 0.8; }
.fn .fn-pozycja .variation { display: none; } /* opakowanie jest już w pigułce */
.fn .fn-linia-flora .fn-pozycja-opakowanie { background: rgb(255 251 247 / 0.3); }
.fn .fn-pozycja .product-subtotal { justify-self: end; font-family: var(--fn-font-naglowki); font-size: 1.75rem; font-weight: 700; letter-spacing: -0.02em; white-space: nowrap; }
.fn .fn-pozycja .product-subtotal .amount { color: inherit; }
.fn .st-commerce .woocommerce .fn-pozycja .quantity .qty, .fn .fn-pozycja .quantity .qty { width: 4.5rem; min-height: 3rem; text-align: center; font-weight: 600; }
/* „Usuń” (pozycja w koszyku i w szufladzie): okrągły przycisk z krzyżykiem, jak pigułki menu. */
.fn .st-commerce .woocommerce .fn-pozycja .product-remove a.remove, .fn .fn-pozycja .product-remove a.remove,
.fn-szuflada .woocommerce-mini-cart-item a.remove.remove_from_cart_button {
	display: grid; place-items: center; width: 2.5rem; height: 2.5rem; padding: 0; border-radius: 50%;
	background: rgb(0 0 0 / 0.2); color: inherit !important; font-size: 1rem; line-height: 1; text-decoration: none; opacity: 1;
	transition: background-color 0.15s ease, scale 0.15s ease;
}
.fn .st-commerce .woocommerce .fn-pozycja .product-remove a.remove:hover, .fn-szuflada .woocommerce-mini-cart-item a.remove.remove_from_cart_button:hover { background: rgb(0 0 0 / 0.38); color: inherit !important; scale: 1.06; }
.fn .fn-linia-flora .product-remove a.remove, .fn-szuflada .fn-linia-flora a.remove.remove_from_cart_button { background: rgb(255 251 247 / 0.35); }
.fn .fn-koszyk-akcje { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1.5rem; }
/* Kod rabatowy jak zapis w stopce: kremowe pole w pigułce i ciemny przycisk obok. */
.fn .fn-koszyk-akcje .coupon { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; }
.fn .st-commerce .woocommerce .fn-koszyk-akcje .coupon .input-text, .fn .fn-koszyk-akcje .coupon .input-text { width: 16rem; min-height: 3rem; padding: 0.75rem 1.25rem; border: 0; border-radius: 6.25rem; }
.fn .st-commerce .woocommerce .fn-koszyk-akcje .coupon button.button { min-height: 3rem; padding: 0.75rem 1.5rem; border-radius: 6.25rem; background: var(--fn-malina-900); box-shadow: none; color: var(--fn-krem); font: 500 1.125rem/1.2 var(--fn-font-naglowki); }
.fn .st-commerce .woocommerce .fn-koszyk-akcje .coupon button.button:hover { background: var(--fn-czern); }
.fn .fn-auto .fn-koszyk-akcje button[name="update_cart"] { display: none; }

/* „Dobierz inne linie” i lista linii w pustej szufladzie */
.fn .fn-dobierz { margin-top: 3rem; }
.fn .fn-dobierz-tytul, .fn .st-commerce .fn-dobierz-tytul { margin: 0 0 1rem; font-family: var(--fn-font-naglowki); font-size: 2rem; letter-spacing: -0.03em; }
.fn .fn-dobierz-lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); gap: 1rem; margin: 0; padding: 0; list-style: none; }
.fn .fn-dobierz-link {
	display: grid; grid-template-columns: 5rem minmax(0, 1fr); align-items: center; gap: 1rem; padding: 0.75rem; border-radius: 1.25rem;
	background: var(--fn-linia-kolor, var(--fn-malina-800)) var(--fn-linia-tlo, none) center / cover; color: var(--fn-linia-tekst, var(--fn-krem));
	text-decoration: none; transition: translate 0.15s ease, box-shadow 0.15s ease;
}
.fn .fn-dobierz-link:hover { translate: 0 -2px; box-shadow: 0 0.75rem 1.5rem rgb(22 8 14 / 0.3); }
.fn .fn-dobierz-link .fn-kafel-linii { overflow: visible; min-height: 0; background: none; }
.fn .fn-linia-flora .fn-dobierz-cena { color: inherit; }
.fn .fn-dobierz-opis { display: grid; gap: 0.15rem; font-size: 0.875rem; }
.fn .fn-dobierz-opis strong { font-family: var(--fn-font-naglowki); font-size: 1.25rem; line-height: 1.1; }
.fn .fn-dobierz-cena { color: var(--fn-zolty); font-weight: 600; }

/* Podsumowanie */
.fn .fn-podsumowanie { padding: 2rem; border-radius: 1.5rem; background: var(--fn-malina-800); }
.fn .fn-podsumowanie h2 { margin: 0 0 1.5rem; font-family: var(--fn-font-naglowki); font-size: 2rem; letter-spacing: -0.03em; }
.fn .st-commerce .woocommerce .fn-podsumowanie table.shop_table, .fn .fn-podsumowanie table.shop_table { margin: 0 0 1.5rem; border: 0; border-collapse: collapse; }
.fn .st-commerce .woocommerce .fn-podsumowanie table.shop_table th, .fn .st-commerce .woocommerce .fn-podsumowanie table.shop_table td { padding: 0.75rem 0; border: 0; border-top: 1px solid rgb(255 251 247 / 0.15); background: none; vertical-align: top; font-weight: 400; }
.fn .fn-podsumowanie table.shop_table td { text-align: right; }
.fn .fn-podsumowanie .order-total th, .fn .fn-podsumowanie .order-total td { font-family: var(--fn-font-naglowki); font-size: 1.5rem; font-weight: 700; }
.fn .fn-podsumowanie .order-total .amount { color: var(--fn-zolty); }
.fn .fn-podsumowanie #shipping_method { margin: 0; padding: 0; list-style: none; text-align: left; }
.fn .fn-podsumowanie #shipping_method li { display: flex; align-items: center; gap: 0.5rem; margin: 0 0 0.35rem; }
.fn .fn-podsumowanie #shipping_method { text-align: right; }
.fn .fn-podsumowanie #shipping_method li { justify-content: flex-end; }
.fn .fn-podsumowanie #shipping_method label { font-weight: 600; }
.fn .fn-podsumowanie .woocommerce-shipping-destination:empty { display: none; }
/* Na telefonie WooCommerce zamienia tabelę na bloki z podpisem przed kwotą; tu zostaje zwykły wiersz: podpis i kwota. */
.fn .st-commerce .woocommerce .fn-podsumowanie table.shop_table_responsive tr { display: table-row; }
.fn .st-commerce .woocommerce .fn-podsumowanie table.shop_table_responsive th { display: table-cell; }
.fn .st-commerce .woocommerce .fn-podsumowanie table.shop_table_responsive td { display: table-cell; text-align: right; }
.fn .st-commerce .woocommerce .fn-podsumowanie table.shop_table_responsive td::before { display: none; }
.fn .st-commerce .wc-proceed-to-checkout { padding: 0; }
.fn .st-commerce .wc-proceed-to-checkout a.checkout-button { display: flex; width: 100%; margin: 0; padding: 1rem 1.5rem 1.1rem; font-size: 1.5rem; background: var(--fn-zolty); color: var(--fn-czern); }
.fn .fn-podsumowanie-info { display: grid; gap: 0.5rem; margin-top: 1.5rem; font-size: 0.875rem; line-height: 1.4; }
.fn .fn-podsumowanie-info p { margin: 0; }
.fn .fn-podsumowanie-etykieta { margin-right: 0.35rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; opacity: 0.75; }
.fn .fn-podsumowanie-linki { display: flex; flex-wrap: wrap; gap: 0.25rem 1rem; }
.fn .fn-podsumowanie-linki a { color: inherit; text-underline-offset: 0.2em; }
.fn .fn-podsumowanie-uwaga { opacity: 0.75; }

/* Pasek do darmowej dostawy (koszyk i szuflada) */
.fn .fn-dostawa { margin: 0 0 1.5rem; }
.fn .fn-dostawa-tekst { margin: 0 0 0.5rem; font-size: 1rem; }
.fn .fn-dostawa-tekst strong { color: var(--fn-zolty); }
.fn .fn-dostawa-pasek { height: 0.5rem; overflow: hidden; border-radius: 6.25rem; background: rgb(255 251 247 / 0.2); }
.fn .fn-dostawa-pasek span { display: block; height: 100%; border-radius: inherit; background: var(--fn-zolty); transition: width 0.4s ease; }

@media (max-width: 991px) {
	.fn .fn-koszyk { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
	.fn .fn-koszyk .cart-collaterals { position: static; }
}
@media (max-width: 767px) {
	.fn .fn-pozycja { position: relative; grid-template-columns: 5.5rem minmax(0, 1fr) auto; grid-template-areas: "obraz nazwa nazwa" "ilosc ilosc suma"; gap: 0.75rem 1rem; padding: 1rem; }
	.fn .fn-pozycja .product-thumbnail { grid-area: obraz; align-self: start; }
	.fn .fn-pozycja .product-name { grid-area: nazwa; }
	.fn .fn-pozycja .product-quantity { grid-area: ilosc; }
	.fn .fn-pozycja .product-subtotal { grid-area: suma; font-size: 1.25rem; }
	.fn .fn-pozycja .product-remove { position: absolute; top: 0.75rem; right: 0.75rem; }
	.fn .fn-pozycja .product-name { padding-right: 2.75rem; }
	.fn .fn-pozycja-nazwa { font-size: 1.5rem; }
	.fn .fn-podsumowanie { padding: 1.5rem; }
	.fn .st-commerce .woocommerce .fn-koszyk-akcje .coupon .input-text, .fn .fn-koszyk-akcje .coupon .input-text { width: 100%; }
	.fn .fn-koszyk-akcje .coupon { width: 100%; }
}

/* ---------- Pusty koszyk ---------- */
.fn .fn-pusty-naglowek { margin-bottom: 2rem; }
.fn .fn-pusty-tytul, .fn .st-commerce .fn-pusty-tytul { margin: 0; font-family: var(--fn-font-naglowki); font-size: 3rem; line-height: 1; letter-spacing: -0.04em; }
.fn .fn-pusty-naglowek { position: relative; }
.fn .fn-akcent--pusty { width: clamp(4rem, 6vw, 6rem); right: 1rem; top: -1rem; rotate: 10deg; }
/* Naklejka ma w HTML tylko szerokość, a WordPress przy sizes="auto" daje obrazkom contain-intrinsic-size 3000×1500:
   bez proporcji z pliku (240×355) wysokość wychodziła 1500 px. */
.fn .fn-akcent--pusty img { aspect-ratio: 240 / 355; }
.fn .fn-pusty-lead { margin: 0.75rem 0 0; font-size: 1.25rem; }
.fn .fn-karty-linii { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; margin: 0; padding: 0; list-style: none; }
@media (max-width: 991px) { .fn .fn-karty-linii { grid-template-columns: minmax(0, 1fr); } }
.fn .fn-pusty-zestaw { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 2rem; margin-top: 1.5rem; padding: 1.5rem; border-radius: 1.5rem; background: var(--fn-linia-kolor) var(--fn-linia-tlo) center / cover; }
.fn .fn-pusty-zestaw-zdjecie { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 1rem; rotate: -2deg; box-shadow: 0 1.5rem 3rem rgb(22 8 14 / 0.35); }
.fn .fn-pusty-zestaw-tresc h3 { margin: 0 0 0.75rem; font-family: var(--fn-font-naglowki); font-size: 2rem; line-height: 1.05; letter-spacing: -0.03em; }
.fn .fn-pusty-zestaw-tresc p { margin: 0 0 1.5rem; font-size: 1.125rem; }
.fn .fn-pusty .return-to-shop { margin: 2rem 0 0; }
@media (max-width: 767px) {
	.fn .fn-pusty-zestaw { grid-template-columns: minmax(0, 1fr); }
	.fn .fn-pusty-tytul, .fn .st-commerce .fn-pusty-tytul { font-size: 2.5rem; }
	.fn .fn-akcent--pusty { right: 0; top: -0.5rem; }
	.fn .fn-pusty-naglowek { padding-right: 4.5rem; }
}

/* ---------- Szuflada koszyka ---------- */
.fn-szuflada .woocommerce-mini-cart { display: grid; align-content: start; gap: 0.75rem; }
.fn-szuflada .woocommerce-mini-cart-item {
	align-items: center; padding: 0.75rem 3.75rem 0.75rem 0.75rem; border: 0; border-radius: 1.25rem;
	background: var(--fn-linia-kolor, var(--fn-malina-800)) var(--fn-linia-tlo, none) center / cover; color: var(--fn-linia-tekst, var(--fn-krem));
}
.fn-szuflada .woocommerce-mini-cart-item a.remove.remove_from_cart_button { top: 50%; right: 0.75rem; translate: 0 -50%; }
.fn-szuflada .woocommerce-mini-cart-item .quantity { color: inherit; font-weight: 600; }
.fn-szuflada .woocommerce-mini-cart-item .quantity .amount { color: inherit; }
.fn-szuflada .woocommerce-mini-cart-item .fn-kafel-linii { grid-column: 1; grid-row: 1 / span 3; width: 4.5rem; }
.fn-szuflada .woocommerce-mini-cart-item .fn-kafel-linii img { width: auto; height: 82%; height: 82cqh; padding: 0; background: none; border-radius: 0; }
.fn-szuflada .woocommerce-mini-cart-item .fn-kafel-linii.fn-linia-zestaw img { width: 88%; width: 88cqw; height: auto; }
.fn-szuflada .fn-mini-nazwa { grid-column: 2; font-family: var(--fn-font-naglowki); font-size: 1.25rem; line-height: 1.1; }
.fn-szuflada .fn-mini-opakowanie { grid-column: 2; font-size: 0.875rem; font-weight: 400; opacity: 0.85; }
.fn-szuflada .woocommerce-mini-cart-item .variation { display: none; }
.fn-szuflada .fn-dostawa { margin: 1rem 0 0; }
.fn-szuflada .woocommerce-mini-cart__total { font-family: var(--fn-font-naglowki); font-size: 1.25rem; }
.fn-szuflada .woocommerce-mini-cart__buttons .button { width: 100%; }
/* Kod rabatowy w szufladzie: rozwijane „Masz kod rabatowy?”, pole w pigułce jak w koszyku, użyty kod z rabatem i „usuń”. */
.fn-szuflada .fn-mini-kod { display: grid; gap: 0.5rem; margin: 0 0 1rem; }
.fn-szuflada .fn-mini-kod p { margin: 0; }
.fn-szuflada .fn-mini-kod-uzyty { display: flex; align-items: center; gap: 0.75rem; padding: 0.4rem 0.4rem 0.4rem 1rem; border-radius: 6.25rem; background: rgb(255 251 247 / 0.12); }
.fn-szuflada .fn-mini-kod-nazwa { flex: 1; white-space: nowrap; }
.fn-szuflada .fn-mini-kod-nazwa strong { font-family: var(--fn-font-naglowki); letter-spacing: 0.04em; }
.fn-szuflada .fn-mini-kod-rabat, .fn-szuflada .fn-mini-kod-rabat .amount { color: var(--fn-zolty); font-weight: 700; }
.fn-szuflada .fn-mini-kod-czeka { flex: 0 1 9rem; font-size: 0.8125rem; line-height: 1.2; opacity: 0.85; text-align: right; }
.fn-szuflada .fn-mini-kod-usun { display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; background: rgb(0 0 0 / 0.2); color: inherit; }
.fn-szuflada .fn-mini-kod-usun:hover { background: rgb(0 0 0 / 0.38); }
.fn-szuflada .fn-mini-po-rabacie { margin: 0; padding-top: 0; }
.fn-szuflada .fn-mini-kod-pole summary { display: inline-flex; align-items: center; gap: 0.4rem; cursor: pointer; font-weight: 600; text-decoration: underline; text-underline-offset: 0.2em; list-style: none; }
.fn-szuflada .fn-mini-kod-pole summary::-webkit-details-marker { display: none; }
.fn-szuflada .fn-mini-kod-pole summary::after { content: '+'; font: 500 1.25rem/1 var(--fn-font-tekst); text-decoration: none; }
.fn-szuflada .fn-mini-kod-pole[open] summary::after { content: '−'; }
.fn-szuflada .fn-mini-kod-form { display: flex; gap: 0.5rem; margin-top: 0.6rem; }
.fn-szuflada .fn-mini-kod-form input { flex: 1; min-width: 0; min-height: 3rem; padding: 0.75rem 1.25rem; border: 0; border-radius: 6.25rem; background: var(--fn-krem); color: var(--fn-czern); font-family: var(--fn-font-tekst); }
.fn-szuflada .fn-mini-kod-form button { min-height: 3rem; padding: 0.75rem 1.5rem; border: 0; border-radius: 6.25rem; background: var(--fn-malina-900); color: var(--fn-krem); font: 500 1.125rem/1.2 var(--fn-font-naglowki); cursor: pointer; }
.fn-szuflada .fn-mini-kod-form button:hover { background: var(--fn-czern); }
.fn-szuflada .fn-mini-kod-form button.loading { opacity: 0.6; cursor: progress; }
.fn-szuflada .fn-mini-kod-wynik:empty { display: none; }
.fn-szuflada .fn-mini-kod-wynik { font-size: 0.9375rem; font-weight: 600; color: var(--fn-zolty); }
.fn-szuflada .woocommerce-mini-cart__buttons .button { font: 500 1.25rem/1.2 var(--fn-font-naglowki); }
.fn-szuflada .woocommerce-mini-cart__buttons .button:not(.checkout) { background: none; box-shadow: inset 0 0 0 2px rgb(255 251 247 / 0.45); }
.fn-szuflada .woocommerce-mini-cart__buttons .button:not(.checkout):hover { box-shadow: inset 0 0 0 2px var(--fn-krem); }
.fn-szuflada .woocommerce-mini-cart__buttons .button.checkout { background: var(--fn-zolty); color: var(--fn-czern); }
/* Pusty koszyk w szufladzie (2026-10-13): ilustracja „w kieszeni” w żółtym kole jak koło z logo, odstęp nad i pod
   nagłówkiem, linie do wyboru, kod rabatowy na dole szuflady. Przy niskim oknie przewija się sama treść. */
.fn-szuflada .fn-mini-pusty { flex: 1; min-height: 0; display: flex; flex-direction: column; gap: 1rem; overflow-y: auto; }
.fn-szuflada .fn-mini-pusty-naglowek { display: grid; justify-items: center; gap: 0.5rem; padding: 2.5rem 0 2rem; text-align: center; }
.fn-szuflada .fn-mini-pusty-kolo { display: grid; place-items: center; width: 6.5rem; aspect-ratio: 1; margin-bottom: 0.75rem; border-radius: 50%; background: var(--fn-zolty); color: var(--fn-malina); rotate: -6deg; box-shadow: 0 1rem 2rem rgb(22 8 14 / 0.25); }
.fn-szuflada .fn-mini-pusty-kolo .fn-mini-pusty-ikona { width: 4.25rem; }
.fn-szuflada .fn-mini-pusty .woocommerce-mini-cart__empty-message { margin: 0; padding: 0; font: 700 2rem/1.05 var(--fn-font-naglowki); letter-spacing: -0.03em; text-align: center; }
.fn-szuflada .fn-mini-pusty-lead { max-width: 18rem; margin: 0; opacity: 0.85; }
.fn-szuflada .fn-mini-pusty .fn-mini-kod { margin: auto 0 0; padding-top: 1rem; }
.fn-szuflada .fn-mini-pusty .fn-dobierz-lista { grid-template-columns: minmax(0, 1fr); }

/* ---------- Zamówienie ---------- */
.fn .st-commerce form.checkout { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(20rem, 1fr); grid-template-rows: auto 1fr; column-gap: 3rem; align-items: start; }
.fn .st-commerce form.checkout:has(> .woocommerce-NoticeGroup) { grid-template-rows: auto auto 1fr; }
.fn .st-commerce form.checkout > * { grid-column: 1; }
.fn .st-commerce form.checkout > .woocommerce-NoticeGroup { grid-column: 1 / -1; grid-row: 1; }
.fn .st-commerce form.checkout #customer_details { grid-row: 1 / span 2; display: grid; gap: 1.5rem; }
.fn .st-commerce form.checkout:has(> .woocommerce-NoticeGroup) #customer_details { grid-row: 2 / span 2; }
.fn .st-commerce form.checkout #order_review_heading { grid-column: 2; grid-row: 1; margin: 0; padding: 2rem 2rem 0; border-radius: 1.5rem 1.5rem 0 0; background: var(--fn-malina-800); font-family: var(--fn-font-naglowki); font-size: 2rem; }
.fn .st-commerce form.checkout:has(> .woocommerce-NoticeGroup) #order_review_heading { grid-row: 2; }
.fn .st-commerce form.checkout #order_review { grid-row: 2; }
.fn .st-commerce form.checkout:has(> .woocommerce-NoticeGroup) #order_review { grid-row: 3; }
.fn .st-commerce form.checkout #order_review { grid-column: 2; padding: 1rem 2rem 2rem; border-radius: 0 0 1.5rem 1.5rem; background: var(--fn-malina-800); }
.fn .st-commerce #customer_details .col-1, .fn .st-commerce #customer_details .col-2 { float: none; width: 100%; padding: 2rem; border-radius: 1.5rem; background: rgb(255 251 247 / 0.07); }
.fn .st-commerce #customer_details::before, .fn .st-commerce #customer_details::after { display: none; }
.fn .st-commerce #customer_details h3 { margin: 0 0 1rem; font-family: var(--fn-font-naglowki); font-size: 1.75rem; letter-spacing: -0.03em; }
.fn .st-commerce .woocommerce form .form-row { padding: 0; margin: 0 0 1rem; }
.fn .st-commerce #order_review table.shop_table { margin: 0 0 1.5rem; border: 0; border-collapse: collapse; }
.fn .st-commerce #order_review table.shop_table th, .fn .st-commerce #order_review table.shop_table td { padding: 0.75rem 0; border: 0; border-top: 1px solid rgb(255 251 247 / 0.15); background: none; font-weight: 400; vertical-align: top; }
.fn .st-commerce #order_review table.shop_table thead th { border-top: 0; font-size: 0.875rem; text-transform: uppercase; letter-spacing: 0.04em; opacity: 0.75; }
.fn .st-commerce #order_review table.shop_table td:last-child, .fn .st-commerce #order_review table.shop_table th:last-child { text-align: right; }
.fn .st-commerce #order_review .order-total th, .fn .st-commerce #order_review .order-total td { font-family: var(--fn-font-naglowki); font-size: 1.5rem; font-weight: 700; }
.fn .st-commerce #order_review .order-total .amount { color: var(--fn-zolty); }
.fn .st-commerce #order_review #shipping_method { margin: 0; padding: 0; list-style: none; text-align: left; }
.fn .st-commerce #order_review #shipping_method li { display: flex; align-items: center; gap: 0.5rem; margin: 0 0 0.35rem; }
.fn .st-commerce #payment, .fn .st-commerce .woocommerce-checkout #payment { border-radius: 1rem; background: rgb(255 251 247 / 0.07); }
.fn .st-commerce #payment ul.payment_methods { padding: 1rem 1.5rem; border-bottom: 1px solid rgb(255 251 247 / 0.15); }
.fn .st-commerce #payment div.payment_box { margin: 0.75rem 0 0; padding: 1rem; border-radius: 0.75rem; background: rgb(255 251 247 / 0.12); color: var(--fn-krem); font-size: 0.9375rem; }
.fn .st-commerce #payment div.payment_box::before { display: none; }
.fn .st-commerce #payment div.form-row { padding: 1rem 1.5rem 1.5rem; }
.fn .st-commerce .woocommerce-terms-and-conditions-wrapper { font-size: 0.9375rem; }
.fn .st-commerce .woocommerce-privacy-policy-text p { font-size: 0.875rem; opacity: 0.85; }
.fn .st-commerce #place_order { float: none; width: 100%; margin-top: 1rem; padding: 1rem 1.5rem 1.1rem; font-size: 1.5rem; background: var(--fn-zolty); color: var(--fn-czern); }
.fn .st-commerce .woocommerce-form-coupon-toggle .woocommerce-info { background: rgb(255 251 247 / 0.1); color: var(--fn-krem); }
.fn .st-commerce .woocommerce-form-coupon-toggle .woocommerce-info::before { color: var(--fn-zolty); }
.fn .st-commerce .woocommerce-form-coupon-toggle .woocommerce-info a { color: var(--fn-zolty); }
.fn .st-commerce form.checkout_coupon { margin: 0 0 1.5rem; padding: 1.5rem; border: 0; border-radius: 1rem; background: rgb(255 251 247 / 0.07); }
/* Tablet i telefon: jedna kolumna bez siatki (reguły :has dla stanu z błędami ustawiają wiersze tylko dla dwóch kolumn). */
@media (max-width: 991px) {
	.fn .st-commerce form.checkout { display: block; }
	.fn .st-commerce form.checkout > .woocommerce-NoticeGroup { margin-bottom: 1.5rem; }
	.fn .st-commerce form.checkout #order_review_heading { margin-top: 1.5rem; }
}
@media (max-width: 767px) {
	.fn .st-commerce #customer_details .col-1, .fn .st-commerce #customer_details .col-2 { padding: 1.5rem; }
	.fn .st-commerce form.checkout #order_review_heading { padding: 1.5rem 1.5rem 0; }
	.fn .st-commerce form.checkout #order_review { padding: 1rem 1.5rem 1.5rem; }
}

/* ---------- Konto: logowanie ---------- */
.fn .st-commerce .woocommerce-form-login, .fn .st-commerce .woocommerce-form-register, .fn .st-commerce .woocommerce-ResetPassword {
	max-width: 32rem; margin: 0; padding: 2rem; border: 0; border-radius: 1.5rem; background: var(--fn-malina-800);
}
.fn .st-commerce .woocommerce-form-login .form-row input.input-text { width: 100%; }
.fn .st-commerce .woocommerce-form-login .woocommerce-form-login__rememberme { display: flex; align-items: center; gap: 0.5rem; margin: 0.5rem 0 1rem; }
.fn .st-commerce .woocommerce-form-login .woocommerce-form-login__submit { float: none; width: 100%; }
.fn .st-commerce .woocommerce-LostPassword a { color: var(--fn-zolty); }
.fn .st-commerce .u-columns h2, .fn .st-commerce .woocommerce > h2 { margin: 0 0 1rem; font-family: var(--fn-font-naglowki); font-size: 2rem; }

/* ---------- Konto klienta (2026-10-14: „nasz design niech kontroluje wszystko”) ----------
   Menu konta z boku jak pigułki menu (na tablecie i telefonie przewijany rząd nad treścią), przegląd z ostatnim
   zamówieniem i kaflami w kolorach linii (woocommerce/myaccount/dashboard.php), lista zamówień jako tabela, na telefonie
   karty, formularze i adresy w panelach jak dane w zamówieniu. */
.fn .st-commerce .woocommerce:has(> .woocommerce-MyAccount-navigation) { display: grid; grid-template-columns: 15rem minmax(0, 1fr); gap: 3rem; align-items: start; }
.fn .st-commerce .woocommerce-MyAccount-navigation { position: sticky; top: 8rem; }
.fn .st-commerce .woocommerce-MyAccount-navigation ul { display: grid; gap: 0.25rem; margin: 0; padding: 0; list-style: none; }
.fn .st-commerce .woocommerce-MyAccount-navigation a {
	display: block; padding: 0.7rem 1.1rem 0.8rem; border-radius: 6.25rem; color: inherit;
	font: 500 1.25rem/1.2 var(--fn-font-naglowki); text-decoration: none; transition: background-color 0.15s ease, color 0.15s ease;
}
.fn .st-commerce .woocommerce-MyAccount-navigation a:hover { background: rgb(255 251 247 / 0.08); }
.fn .st-commerce .woocommerce-MyAccount-navigation a:focus-visible { outline: 3px solid var(--fn-zolty); outline-offset: 2px; }
.fn .st-commerce .woocommerce-MyAccount-navigation .is-active a { background: var(--fn-zolty); color: var(--fn-czern); }
.fn .st-commerce .woocommerce-MyAccount-navigation-link--customer-logout { margin-top: 0.75rem; padding-top: 0.75rem; border-top: 1px solid rgb(255 251 247 / 0.15); }
.fn .st-commerce .woocommerce-MyAccount-navigation-link--customer-logout a { font-size: 1rem; opacity: 0.8; }
.fn .woocommerce-MyAccount-content { min-width: 0; font-size: 1.125rem; }
.fn .woocommerce-MyAccount-content > p { margin: 0 0 1.5rem; }
.fn .woocommerce-MyAccount-content a:not(.button) { color: inherit; text-underline-offset: 0.2em; }
@media (max-width: 991px) {
	.fn .st-commerce .woocommerce:has(> .woocommerce-MyAccount-navigation) { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
	.fn .st-commerce .woocommerce-MyAccount-navigation { position: static; overflow-x: auto; scrollbar-width: none; }
	.fn .st-commerce .woocommerce-MyAccount-navigation ul { display: flex; gap: 0.5rem; width: max-content; }
	.fn .st-commerce .woocommerce-MyAccount-navigation a { padding: 0.6rem 1rem 0.7rem; background: rgb(255 251 247 / 0.08); font-size: 1.0625rem; white-space: nowrap; }
	.fn .st-commerce .woocommerce-MyAccount-navigation-link--customer-logout { margin: 0; padding: 0; border: 0; }
}

/* Przegląd konta */
.fn .fn-konto-przeglad { display: grid; gap: 1.5rem; }
.fn .fn-konto-powitanie h2, .fn .st-commerce .fn-konto-powitanie h2 { margin: 0; font: 700 2.5rem/1 var(--fn-font-naglowki); letter-spacing: -0.04em; }
.fn .fn-konto-powitanie p, .fn .fn-konto-lead { margin: 0.5rem 0 0; font-size: 1.125rem; opacity: 0.85; }
.fn .fn-konto-ostatnie { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 2rem; border-radius: 1.5rem; background: var(--fn-malina-800); }
.fn .fn-konto-podpis { margin: 0 0 0.6rem; font: 700 0.8125rem/1.1 var(--fn-font-naglowki); letter-spacing: 0.08em; text-transform: uppercase; opacity: 0.75; }
.fn .fn-konto-ostatnie-nr { margin: 0; font: 700 2.25rem/1 var(--fn-font-naglowki); letter-spacing: -0.03em; }
.fn .fn-konto-ostatnie-opis { margin: 0.5rem 0 0.75rem; }
.fn .fn-konto-ostatnie--brak .fn-konto-ostatnie-opis { max-width: 28rem; margin: 0; }
.fn .fn-konto-kafle { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin: 0; padding: 0; list-style: none; }
.fn .fn-konto-kafel {
	position: relative; display: grid; align-content: end; gap: 0.35rem; min-height: 9rem; padding: 1.5rem; overflow: hidden; border-radius: 1.5rem;
	background: var(--fn-linia-kolor, var(--fn-malina-800)) var(--fn-linia-tlo, none) center / cover; color: var(--fn-linia-tekst, var(--fn-krem));
	text-decoration: none; transition: translate 0.15s ease, box-shadow 0.15s ease;
}
.fn .woocommerce-MyAccount-content a.fn-konto-kafel { color: var(--fn-linia-tekst, var(--fn-krem)); text-decoration: none; }
.fn .fn-konto-kafel:hover { translate: 0 -2px; box-shadow: 0 0.75rem 1.5rem rgb(22 8 14 / 0.3); }
.fn .fn-konto-kafel:focus-visible { outline: 3px solid var(--fn-zolty); outline-offset: 3px; }
.fn .fn-konto-kafel svg { position: absolute; top: 1.25rem; right: 1.25rem; transition: translate 0.15s ease; }
.fn .fn-konto-kafel:hover svg { translate: 3px 0; }
.fn .fn-konto-kafel-tytul { font: 700 1.75rem/1 var(--fn-font-naglowki); letter-spacing: -0.03em; }
.fn .fn-konto-kafel-opis { font-size: 0.9375rem; overflow-wrap: anywhere; opacity: 0.9; }
.fn .fn-konto-wyloguj { margin: 0; font-size: 0.9375rem; opacity: 0.8; }
@media (max-width: 767px) {
	.fn .fn-konto-kafle { grid-template-columns: minmax(0, 1fr); }
	.fn .fn-konto-kafel { min-height: 6.5rem; }
	.fn .fn-konto-ostatnie { padding: 1.5rem; }
	.fn .fn-konto-powitanie h2, .fn .st-commerce .fn-konto-powitanie h2 { font-size: 2rem; }
}

/* Status zamówienia (inc/konto.php): pigułka, kolor mówi, czy coś zostało do zrobienia. */
.fn .fn-status { display: inline-block; padding: 0.3rem 0.8rem 0.35rem; border-radius: 6.25rem; background: rgb(255 251 247 / 0.14); font-size: 0.875rem; font-weight: 600; line-height: 1.2; }
.fn .fn-status--processing { background: var(--fn-zolty); color: var(--fn-czern); }
.fn .fn-status--completed { background: #c9eedd; color: #0e5b3f; }
.fn .fn-status--cancelled, .fn .fn-status--failed, .fn .fn-status--refunded { background: #fdecef; color: #8a1238; }

/* Lista zamówień */
.fn .st-commerce .woocommerce-orders-table { margin: 0; border: 0; border-collapse: collapse; }
.fn .st-commerce .woocommerce-orders-table :is(th, td) { padding: 1rem 0.75rem; border: 0; border-bottom: 1px solid rgb(255 251 247 / 0.15); font-weight: 400; text-align: left; vertical-align: middle; }
.fn .st-commerce .woocommerce-orders-table :is(th, td):first-child { padding-left: 0; }
.fn .st-commerce .woocommerce-orders-table :is(th, td):last-child { padding-right: 0; text-align: right; }
.fn .st-commerce .woocommerce-orders-table thead th { padding-top: 0; font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; opacity: 0.75; }
.fn .st-commerce .woocommerce-orders-table__cell-order-number a { font: 700 1.375rem/1 var(--fn-font-naglowki); letter-spacing: -0.02em; text-decoration: none; white-space: nowrap; }
.fn .st-commerce .woocommerce-orders-table__cell-order-total { font-size: 1rem; }
.fn .st-commerce .woocommerce-orders-table__cell-order-total .amount { font-weight: 700; }
.fn .st-commerce .woocommerce-orders-table .button { padding: 0.5rem 1rem 0.6rem; font-size: 1rem; }
.fn .woocommerce-pagination { display: flex; gap: 0.75rem; margin-top: 1.5rem; }
@media (max-width: 767px) {
	.fn .st-commerce .woocommerce-orders-table thead { display: none; }
	.fn .st-commerce .woocommerce-orders-table tbody { display: grid; gap: 1rem; }
	.fn .st-commerce .woocommerce-orders-table tr {
		display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 0.6rem 1rem;
		padding: 1.25rem; border-radius: 1.25rem; background: rgb(255 251 247 / 0.07);
	}
	/* Karta: numer i kwota, pod nimi data, status i „Zobacz”. Tło komórek z dawnej tabeli responsywnej (sklep.css) znika. */
	.fn .st-commerce .woocommerce table.woocommerce-orders-table tr :is(th, td) { display: block; padding: 0; border: 0; background: none; text-align: left; }
	.fn .st-commerce .woocommerce-orders-table :is(th, td)::before { display: none; }
	.fn .st-commerce .woocommerce-orders-table__cell-order-number { grid-area: 1 / 1; }
	.fn .st-commerce .woocommerce .woocommerce-orders-table tr td.woocommerce-orders-table__cell-order-total { grid-area: 1 / 2; text-align: right; }
	.fn .st-commerce .woocommerce-orders-table__cell-order-date { grid-area: 2 / 1 / 3 / -1; font-size: 1rem; opacity: 0.85; }
	.fn .st-commerce .woocommerce-orders-table__cell-order-status { grid-area: 3 / 1 / 4 / -1; }
	.fn .st-commerce .woocommerce-orders-table__cell-order-actions { grid-area: 4 / 1 / 5 / -1; margin-top: 0.35rem; }
	.fn .st-commerce .woocommerce-orders-table__cell-order-actions .button { width: 100%; }
}

/* Szczegóły zamówienia (konto i strona po zamówieniu): zdanie ze statusem, tabela w panelu jak „Twoje zamówienie”, adresy obok. */
.fn .woocommerce-MyAccount-content mark, .fn .woocommerce-order mark { background: none; color: inherit; font-weight: 700; }
.fn .woocommerce-MyAccount-content mark.order-status { display: inline-block; padding: 0.15rem 0.7rem 0.2rem; border-radius: 6.25rem; background: rgb(255 251 247 / 0.14); font-weight: 600; }
.fn .woocommerce-order-details { margin: 2rem 0 0; padding: 2rem; border-radius: 1.5rem; background: var(--fn-malina-800); }
.fn .st-commerce :is(.woocommerce-order-details__title, .woocommerce-column__title, .woocommerce-customer-details > h2) { margin: 0 0 1rem; font: 700 1.75rem/1.1 var(--fn-font-naglowki); letter-spacing: -0.03em; }
.fn .st-commerce .woocommerce table.order_details, .fn .st-commerce table.order_details { margin: 0; border: 0; border-collapse: collapse; }
.fn .st-commerce .woocommerce table.order_details :is(th, td), .fn .st-commerce table.order_details :is(th, td) { padding: 0.75rem 0; border: 0; border-top: 1px solid rgb(255 251 247 / 0.15); background: none; font-weight: 400; vertical-align: top; }
.fn .st-commerce table.order_details :is(th, td):last-child { padding-left: 1rem; text-align: right; }
.fn .st-commerce table.order_details thead th { border-top: 0; font-size: 0.875rem; letter-spacing: 0.04em; text-transform: uppercase; opacity: 0.75; }
.fn .st-commerce table.order_details .product-name a { color: inherit; font-weight: 600; text-decoration: none; }
.fn .st-commerce table.order_details .wc-item-meta { margin: 0.25rem 0 0; padding: 0; list-style: none; font-size: 0.875rem; opacity: 0.8; }
.fn .st-commerce table.order_details .wc-item-meta :is(p, strong) { display: inline; margin: 0; }
.fn .st-commerce table.order_details .shipped_via { opacity: 0.75; }
.fn .st-commerce table.order_details tfoot tr:nth-last-child(1 of :has(.woocommerce-Price-amount)) :is(th, td) { font: 700 1.5rem/1.3 var(--fn-font-naglowki); }
.fn .st-commerce table.order_details tfoot tr:nth-last-child(1 of :has(.woocommerce-Price-amount)) .amount { color: var(--fn-zolty); }
.fn .woocommerce-customer-details { margin-top: 1rem; }
.fn .woocommerce-customer-details .woocommerce-columns--addresses { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.fn .woocommerce-customer-details .woocommerce-column, .fn .woocommerce-customer-details > address { padding: 1.5rem 2rem 2rem; border-radius: 1.5rem; background: rgb(255 251 247 / 0.07); }
.fn .woocommerce-customer-details address, .fn .woocommerce-Address address { font-style: normal; line-height: 1.6; }
.fn .woocommerce-customer-details address p { display: flex; align-items: center; gap: 0.5rem; margin: 0.5rem 0 0; }
.fn .woocommerce-customer-details address p::before {
	content: ""; flex: none; width: 1.125rem; height: 1.125rem; background: currentColor; opacity: 0.8;
	-webkit-mask: var(--fn-ikona-telefon) center / contain no-repeat; mask: var(--fn-ikona-telefon) center / contain no-repeat;
}
.fn .woocommerce-customer-details address p.woocommerce-customer-details--email::before { -webkit-mask-image: var(--fn-ikona-mail); mask-image: var(--fn-ikona-mail); }
.fn .woocommerce-customer-details address p.fn-nip::before { display: none; }
.fn .woocommerce-customer-details .fn-nip { margin: 0.5rem 0 0; }
.fn .woocommerce-OrderUpdates { margin: 0 0 1.5rem; padding: 0; list-style: none; }
.fn .woocommerce-OrderUpdate { padding: 1rem 1.25rem; border-radius: 1rem; background: rgb(255 251 247 / 0.07); }
.fn .woocommerce-OrderUpdate-meta { margin: 0 0 0.35rem; font-size: 0.875rem; opacity: 0.75; }
.fn .order-again { margin-top: 1.5rem; }
@media (max-width: 767px) {
	.fn .woocommerce-order-details { padding: 1.5rem; }
	.fn .woocommerce-customer-details .woocommerce-columns--addresses { grid-template-columns: minmax(0, 1fr); }
	.fn .woocommerce-customer-details .woocommerce-column, .fn .woocommerce-customer-details > address { padding: 1.5rem; }
}

/* Adresy w koncie (woocommerce/myaccount/my-address.php) i formularze: adres, dane konta. */
.fn .woocommerce-Addresses { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 1.5rem; }
.fn .woocommerce-Address { padding: 1.5rem 2rem 2rem; border-radius: 1.5rem; background: rgb(255 251 247 / 0.07); }
.fn .woocommerce-Address-title { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.fn .st-commerce .woocommerce-Address-title h2 { margin: 0; font: 700 1.5rem/1.1 var(--fn-font-naglowki); letter-spacing: -0.02em; }
.fn .woocommerce-MyAccount-content .woocommerce-Address-title a.edit { flex: none; padding: 0.4rem 0.95rem 0.5rem; border-radius: 6.25rem; background: var(--fn-zolty); color: var(--fn-czern); font-size: 0.9375rem; font-weight: 600; text-decoration: none; }
.fn .woocommerce-Address-title a.edit:hover { box-shadow: 0 0.5rem 1rem rgb(22 8 14 / 0.25); }
.fn .fn-konto-brak { opacity: 0.7; }
.fn .woocommerce-MyAccount-content :is(.woocommerce-EditAccountForm, form:has(.woocommerce-address-fields)) { max-width: 46rem; padding: 2rem; border-radius: 1.5rem; background: rgb(255 251 247 / 0.07); }
.fn .st-commerce .woocommerce-MyAccount-content form > h2 { margin: 0 0 1.25rem; font: 700 1.75rem/1.1 var(--fn-font-naglowki); letter-spacing: -0.03em; }
.fn .woocommerce-EditAccountForm .clear { display: none; }
.fn .woocommerce-EditAccountForm fieldset { grid-column: 1 / -1; min-width: 0; margin: 0.5rem 0 1rem; padding: 1.5rem 0 0; border: 0; border-top: 1px solid rgb(255 251 247 / 0.15); }
.fn .woocommerce-EditAccountForm legend { float: left; width: 100%; margin: 0 0 0.75rem; padding: 0; font: 700 1.5rem/1.1 var(--fn-font-naglowki); letter-spacing: -0.02em; } /* float: nagłówek pod linią, nie na niej */
.fn .woocommerce-EditAccountForm legend + * { clear: both; }
.fn .woocommerce-EditAccountForm #account_display_name_description { display: block; margin-top: 0.4rem; font-size: 0.875rem; opacity: 0.8; }
.fn .woocommerce-EditAccountForm #account_display_name_description em { font-style: normal; }
.fn .woocommerce-MyAccount-content form :is(.woocommerce-address-fields > p, .woocommerce-EditAccountForm > p:last-of-type) { margin: 0.5rem 0 0; }
@media (max-width: 767px) {
	.fn .woocommerce-Addresses { grid-template-columns: minmax(0, 1fr); }
	.fn .woocommerce-Address, .fn .woocommerce-MyAccount-content :is(.woocommerce-EditAccountForm, form:has(.woocommerce-address-fields)) { padding: 1.5rem; }
}

/* ---------- Strona po zamówieniu: podziękowanie, liczby zamówienia w kaflach, polecenie przelewu na żółto ---------- */
.fn .woocommerce-order > .woocommerce-thankyou-order-received { margin: 0 0 1.5rem; font: 700 clamp(1.75rem, 3vw, 2.5rem)/1.1 var(--fn-font-naglowki); letter-spacing: -0.03em; }
.fn ul.woocommerce-order-overview { display: grid; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); gap: 1rem; margin: 0 0 1.5rem; padding: 0; list-style: none; }
.fn ul.woocommerce-order-overview li {
	display: grid; align-content: start; gap: 0.5rem; padding: 1.25rem 1.5rem; border-radius: 1.25rem; background: var(--fn-malina-800);
	font: 700 0.8125rem/1.1 var(--fn-font-naglowki); letter-spacing: 0.08em; text-transform: uppercase;
}
.fn ul.woocommerce-order-overview li strong { font: 700 1.375rem/1.15 var(--fn-font-naglowki); letter-spacing: -0.02em; text-transform: none; overflow-wrap: anywhere; }
.fn ul.woocommerce-order-overview .woocommerce-order-overview__total .amount { color: var(--fn-zolty); }
/* Polecenie przelewu z ustawień płatności (WooCommerce wypisuje je jako zwykły akapit po liczbach). */
.fn .woocommerce-order > ul.woocommerce-order-overview + p { max-width: 46rem; margin: 0 0 1.5rem; padding: 1.25rem 1.5rem; border-radius: 1.25rem; background: var(--fn-zolty); color: var(--fn-czern); font-size: 1.125rem; line-height: 1.45; }
.fn .woocommerce-bacs-bank-details { margin: 0 0 1.5rem; padding: 2rem; border-radius: 1.5rem; background: var(--fn-malina-800); }
.fn .st-commerce .woocommerce-bacs-bank-details :is(h2, h3) { margin: 0 0 1rem; font: 700 1.5rem/1.1 var(--fn-font-naglowki); letter-spacing: -0.02em; }
.fn .woocommerce-bacs-bank-details ul { display: grid; gap: 0.5rem; margin: 0 0 1rem; padding: 0; list-style: none; }
.fn .woocommerce-bacs-bank-details li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.25rem 1rem; padding-bottom: 0.5rem; border-bottom: 1px solid rgb(255 251 247 / 0.15); }
.fn .woocommerce-bacs-bank-details li strong { font-weight: 700; overflow-wrap: anywhere; }
.fn .woocommerce-thankyou-order-failed { margin: 0 0 1rem; padding: 1rem 1.5rem; border-radius: 1rem; background: #fdecef; color: #8a1238; }
.fn .woocommerce-thankyou-order-failed-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; }
/* Opłacenie zamówienia później (/zamowienie/order-pay/…): tabela i płatność w panelu jak w zamówieniu. */
.fn .woocommerce-order-pay .st-commerce form#order_review { max-width: 46rem; padding: 2rem; border-radius: 1.5rem; background: var(--fn-malina-800); }
.fn .woocommerce-order-pay .st-commerce form#order_review table.shop_table :is(th, td) { padding: 0.75rem 0; border-top: 1px solid rgb(255 251 247 / 0.15); text-align: left; }
.fn .woocommerce-order-pay .st-commerce form#order_review table.shop_table :is(th, td):last-child { text-align: right; }

/* ---------- Strona chroniona hasłem (formularz z inc/wordpress.php): jak zapis w stopce ----------
   Waga selektora wyższa niż pola widoków sklepu (sklep.css), bo formularz stoi w .st-commerce albo w treści strony prawnej. */
.fn .fn-haslo-strony { max-width: 32rem; }
.fn .fn-haslo-strony-pola { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.fn .fn-haslo-strony input[name="post_password"], .fn .st-commerce .fn-haslo-strony input:not([type=checkbox]):not([type=radio]):not([type=submit]) {
	flex: 1 1 14rem; min-height: 3rem; padding: 0.75rem 1.25rem; border: 0; border-radius: 6.25rem; background: var(--fn-krem); color: var(--fn-czern); font: inherit;
}
.fn .fn-haslo-strony button { min-height: 3rem; padding: 0.75rem 1.5rem; border: 0; border-radius: 6.25rem; background: var(--fn-malina-900); color: var(--fn-krem); font: 500 1.125rem/1.2 var(--fn-font-naglowki); cursor: pointer; }
.fn .fn-haslo-strony button:hover { background: var(--fn-czern); }
.fn .fn-haslo-strony :is(input, button):focus-visible { outline: 3px solid var(--fn-zolty); outline-offset: 2px; }
