/* ==========================================================================
   WooCommerce — stylizacja sklepu pod motyw Kanwa
   Cel: spójność ze stroną (Oxanium/Lexend, #0297f1 / #1e2d3b), bez „gołego” Woo.
   Zaprojektowane pod brak zdjęć — miniatury jako markowe kafelki.
   ========================================================================== */

/* --- Ramy / szerokość treści --- */
.woocommerce, .woocommerce-page {
	font-family: var(--wp--preset--font-family--body, "Lexend Deca", sans-serif);
	color: var(--wp--preset--color--secondary, #1e2d3b);
}

/* Układ sklepu: panel boczny + produkty, spięte do szerokości strony (bez białych pasków) */
.kanwa-shop { background: #fafbfc; }
.kanwa-shop__wrap {
	max-width: 1406px;
	margin: 0 auto;
	padding: clamp(24px, 3.5vw, 48px) 20px clamp(56px, 7vw, 96px);
	display: grid;
	grid-template-columns: 264px minmax(0, 1fr);
	gap: 32px;
	align-items: start;
}
.kanwa-shop__main { min-width: 0; }
/* wewnątrz kolumny WooCommerce wypełnia całość — kasujemy stare centrowanie/padding */
.kanwa-shop__main .woocommerce { max-width: none; margin: 0; padding: 0; width: 100%; }
.kanwa-shop__side { align-self: start; position: sticky; top: calc(var(--kanwa-header-h, 120px) + 16px); }

/* Na stronach sklepu górny pasek pokazuje tylko Zaloguj + Koszyk */
body.woocommerce .kanwa-header__question,
body.woocommerce .kanwa-header__pills,
body.woocommerce-page .kanwa-header__question,
body.woocommerce-page .kanwa-header__pills { display: none !important; }
body.woocommerce .kanwa-header__account,
body.woocommerce-page .kanwa-header__account { margin-left: 0; }

/* Pojedynczy produkt / koszyk / kasa / konto — wyśrodkowane, bez panelu.
   (Uwaga: pojedynczy produkt NIE ma wrappera .woocommerce, dlatego jawny kontener.) */
.kanwa-shop__single-wrap {
	max-width: 1180px; margin: 0 auto;
	padding: clamp(24px, 3.5vw, 48px) 20px clamp(48px, 7vw, 88px);
}
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce,
.woocommerce-account .woocommerce {
	max-width: 1180px; margin: 0 auto;
	padding: clamp(28px, 4vw, 56px) 20px clamp(48px, 7vw, 88px);
}

/* --- Panel boczny sklepu --- */
.kanwa-shopside { display: flex; flex-direction: column; gap: 18px; }
.kanwa-shopside__box { background: #fff; border: 1px solid #eceff2; border-radius: 14px; padding: 18px 18px 8px; }
.kanwa-shopside__title {
	font-family: var(--wp--preset--font-family--heading, "Oxanium", sans-serif);
	font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em;
	color: #8494a2; margin: 0 0 10px;
}
.kanwa-shopside__list { list-style: none; margin: 0 0 8px; padding: 0; }
.kanwa-shopside__list li { margin: 0; }
.kanwa-shopside__link {
	display: flex; align-items: center; justify-content: space-between; gap: 10px;
	padding: 9px 10px; border-radius: 8px; text-decoration: none;
	font-family: var(--wp--preset--font-family--body, sans-serif);
	font-size: 14.5px; color: #35434f; font-weight: 500; line-height: 1.3;
	transition: background-color .15s ease, color .15s ease;
}
.kanwa-shopside__link:hover { background: #f1f6fa; color: var(--wp--preset--color--primary, #0297f1); }
.kanwa-shopside__link.is-active { background: var(--wp--preset--color--primary, #0297f1); color: #fff; font-weight: 700; }
.kanwa-shopside__link em { font-style: normal; font-size: 12px; color: #9aa6b1; background: #f1f5f8; border-radius: 999px; padding: 1px 8px; }
.kanwa-shopside__link:hover em { color: var(--wp--preset--color--primary, #0297f1); }
.kanwa-shopside__link.is-active em { color: #fff; background: rgba(255,255,255,.22); }
.kanwa-shopside__help {
	background: linear-gradient(135deg, #1e2d3b 0%, #0c151d 100%);
	border-radius: 14px; padding: 20px; color: #fff; display: flex; flex-direction: column; gap: 4px;
}
.kanwa-shopside__help strong { font-family: var(--wp--preset--font-family--heading, "Oxanium", sans-serif); font-size: 16px; }
.kanwa-shopside__help span { font-size: 13px; color: rgba(255,255,255,.75); margin-bottom: 6px; }
.kanwa-shopside__tel { font-family: var(--wp--preset--font-family--heading, "Oxanium", sans-serif); font-weight: 700; font-size: 18px; color: #fff; text-decoration: none; }
.kanwa-shopside__contact { color: #4bb4f5; text-decoration: none; font-size: 13px; font-weight: 600; margin-top: 4px; }
.kanwa-shopside__contact:hover { text-decoration: underline; }

/* Suwak ceny (WooCommerce price filter) — niebieski, kompaktowy, bez pustego pola */
.kanwa-shopside__price { padding: 18px 18px 16px; }
.kanwa-shopside__price .widget_price_filter, .kanwa-shopside__price form { margin: 0 !important; padding: 0 !important; }
.kanwa-shopside__price .price_slider_wrapper { padding: 0 !important; margin: 0 !important; }
/* KLUCZOWE: ukryj pola tekstowe min/max (zastępuje je suwak) — inaczej style formularza
   nadają im wysokość i tworzą wielkie puste pole. */
.kanwa-shopside__price input.min_price,
.kanwa-shopside__price input.max_price,
.kanwa-shopside__price .price_slider_amount input[type="text"],
.kanwa-shopside__price .price_slider_amount br,
.kanwa-shopside__price .price_slider_amount .screen-reader-text,
.kanwa-shopside__price .price_slider_amount > label { display: none !important; }
.kanwa-shopside__price .price_slider { margin: 12px 3px 16px !important; height: 5px !important; min-height: 0 !important; max-height: 5px !important; width: auto !important; }
.kanwa-shopside__price .price_slider_amount { display: block !important; height: auto !important; min-height: 0 !important; overflow: hidden; }
.kanwa-shopside__price .price_slider_amount .price_label { display: block; text-align: left; margin-bottom: 12px; font-size: 13px; color: #55606b; }
.kanwa-shopside__price .price_slider_amount .button { display: inline-block; float: none; margin: 0; }
.kanwa-shopside__price .ui-slider { position: relative; height: 5px !important; background: #e4eaef !important; border-radius: 999px; border: 0 !important; }
.kanwa-shopside__price .ui-slider .ui-slider-range { position: absolute; height: 5px; top: 0; background: var(--wp--preset--color--primary, #0297f1) !important; border-radius: 999px; }
.kanwa-shopside__price .ui-slider .ui-slider-handle { position: absolute; top: -6px; width: 17px !important; height: 17px !important; margin-left: -8px; background: #fff !important; border: 3px solid var(--wp--preset--color--primary, #0297f1) !important; border-radius: 50% !important; cursor: pointer; box-shadow: 0 1px 4px rgba(0,0,0,.2); }
.kanwa-shopside__price .price_slider_wrapper, .kanwa-shopside__price .price_slider_amount { min-height: 0 !important; height: auto !important; overflow: hidden; }
.kanwa-shopside__price .price_slider_amount { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; font-size: 13px; color: #55606b; padding: 0 !important; margin: 0 !important; clear: both; }
.kanwa-shopside__price .price_slider_amount .price_label { order: 1; float: none !important; }
.kanwa-shopside__price .price_slider_amount .button {
	order: 2; align-self: flex-start; background: var(--wp--preset--color--secondary, #1e2d3b); color: #fff;
	border: 0; border-radius: 8px; padding: 9px 18px; font-family: var(--wp--preset--font-family--heading, "Oxanium", sans-serif); font-weight: 700; font-size: 13px; text-transform: uppercase; cursor: pointer;
}
.kanwa-shopside__price .price_slider_amount .button:hover { background: #0c151d; }

/* Górny pasek nagłówka: konto + koszyk — TYLKO w sklepie */
.kanwa-header__account { display: none; align-items: center; gap: 8px; margin-left: 14px; }
body.kanwa-shop-ctx .kanwa-header__account { display: flex; }
.kanwa-header__account a { display: inline-flex; align-items: center; gap: 7px; text-decoration: none; color: #1e2d3b;
	font-family: var(--wp--preset--font-family--heading, "Oxanium", sans-serif); font-weight: 700; font-size: 13px;
	padding: 8px 12px; border-radius: 999px; border: 1px solid #e2e8ee; transition: background-color .15s, border-color .15s; }
.kanwa-header__account a:hover { background: #f1f6fa; border-color: #cfe3f5; }
.kanwa-header__account svg { width: 17px; height: 17px; }
.kanwa-header__account .kanwa-cart { position: relative; background: var(--wp--preset--color--primary, #0297f1); color: #fff; border-color: transparent; }
.kanwa-header__account .kanwa-cart:hover { background: var(--wp--preset--color--primary-dark, #0079c2); }
.kanwa-cart__count { font-style: normal; background: #fff; color: var(--wp--preset--color--primary, #0297f1); border-radius: 999px; min-width: 18px; height: 18px; display: inline-flex; align-items: center; justify-content: center; font-size: 11px; padding: 0 5px; }
.woocommerce h1, .woocommerce h2, .woocommerce h3,
.woocommerce .product_title,
.woocommerce-loop-product__title {
	font-family: var(--wp--preset--font-family--heading, "Oxanium", sans-serif);
	color: var(--wp--preset--color--secondary, #1e2d3b);
	font-weight: 700;
	line-height: 1.15;
}

/* Nagłówek strony sklepu */
.woocommerce-products-header__title,
.woocommerce .page-title {
	font-size: clamp(28px, 4vw, 44px);
	margin-bottom: 8px;
}
.term-description, .woocommerce-products-header { margin-bottom: 24px; }

/* --- Pasek narzędzi (liczba wyników / sortowanie) --- */
.woocommerce-result-count { color: #6b7785; font-size: 14px; }
.woocommerce-ordering select {
	font-family: var(--wp--preset--font-family--heading, "Oxanium", sans-serif);
	border: 1px solid #d7dde3; border-radius: 8px; padding: 10px 14px; background: #fff;
	color: #1e2d3b; font-weight: 600; cursor: pointer;
}

/* --- Breadcrumb --- */
.woocommerce-breadcrumb {
	font-size: 13px; color: #7a8894; margin-bottom: 20px;
	font-family: var(--wp--preset--font-family--heading, "Oxanium", sans-serif); letter-spacing: .01em;
}
.woocommerce-breadcrumb a { color: var(--wp--preset--color--primary, #0297f1); text-decoration: none; }
.woocommerce-breadcrumb a:hover { text-decoration: underline; }

/* --- Kafelki kategorii (witryna sklepu) --- */
.kanwa-shoptiles {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin: 0 0 28px;
}
.kanwa-shoptile {
	position: relative;
	display: flex; flex-direction: column; justify-content: flex-end;
	min-height: 140px;
	padding: 20px 22px;
	border-radius: 14px;
	text-decoration: none;
	overflow: hidden;
	background:
		radial-gradient(120% 120% at 0% 0%, rgba(2,151,241,.18), transparent 55%),
		linear-gradient(135deg, #1e2d3b 0%, #0c151d 100%);
	transition: transform .2s ease, box-shadow .2s ease;
}
.kanwa-shoptile:hover { transform: translateY(-4px); box-shadow: 0 16px 40px rgba(30,45,59,.25); }
.kanwa-shoptile__name {
	font-family: var(--wp--preset--font-family--heading, "Oxanium", sans-serif);
	font-weight: 700; font-size: 19px; color: #fff; line-height: 1.2;
}
.kanwa-shoptile__meta {
	display: flex; align-items: center; justify-content: space-between;
	margin-top: 8px; color: rgba(255,255,255,.7); font-size: 13px;
	font-family: var(--wp--preset--font-family--heading, "Oxanium", sans-serif);
}
.kanwa-shoptile__arrow { color: var(--wp--preset--color--primary, #0297f1); font-size: 18px; font-weight: 700; }

/* --- Pasek kategorii (pigułki) --- */
.kanwa-shopcats {
	display: flex; flex-wrap: wrap; gap: 10px;
	margin: 0 0 26px; padding-bottom: 22px;
	border-bottom: 1px solid #eceff2;
}
.kanwa-shopcats__item {
	display: inline-flex; align-items: center; gap: 8px;
	font-family: var(--wp--preset--font-family--heading, "Oxanium", sans-serif);
	font-weight: 700; font-size: 14px; letter-spacing: .01em;
	color: #1e2d3b; background: #f1f5f8;
	padding: 9px 16px; border-radius: 999px;
	text-decoration: none; border: 1px solid transparent;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.kanwa-shopcats__item:hover { border-color: #cfe3f5; background: #e6f2fd; }
.kanwa-shopcats__item.is-active { background: var(--wp--preset--color--primary, #0297f1); color: #fff; }
.kanwa-shopcats__count {
	font-size: 12px; background: rgba(0,0,0,.08); color: inherit;
	border-radius: 999px; padding: 1px 8px; line-height: 1.6;
}
.kanwa-shopcats__item.is-active .kanwa-shopcats__count { background: rgba(255,255,255,.25); }

@media (max-width: 900px) {
	.kanwa-shoptiles { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
	.kanwa-shoptiles { grid-template-columns: 1fr; }
}

/* --- Siatka produktów --- */
.woocommerce ul.products,
.woocommerce-page ul.products {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	margin: 0; padding: 0; list-style: none;
}
/* WooCommerce dokłada clearfix ::before/::after — w gridzie zajmują komórkę
   (stąd „puste miejsce”). Wyłączamy je. */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after { content: none !important; display: none !important; }
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	width: auto !important; margin: 0 !important; float: none !important; clear: none !important; min-width: 0;
	background: #fff;
	border: 1px solid #eceff2;
	border-radius: 14px;
	overflow: hidden;
	display: flex; flex-direction: column;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
	box-shadow: 0 1px 2px rgba(30,45,59,.04);
}
.woocommerce ul.products li.product:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 40px rgba(30,45,59,.12);
	border-color: #dbe6ef;
}

/* Miniatura — realne zdjęcie: kontener z jasnym tłem */
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product img {
	width: 100%; max-width: 100%; height: 190px; object-fit: contain;
	margin: 0; background: #fff; padding: 18px;
	display: block;
}
.woocommerce ul.products li.product > a:first-child { min-width: 0; }
/* Markowa miniatura zastępcza (brak zdjęć) — wypełnia kafelek, bez paddingu */
.woocommerce ul.products li.product img.kanwa-ph {
	object-fit: cover; padding: 0; background: none;
}
.woocommerce ul.products li.product a { display: flex; flex-direction: column; text-decoration: none; }

/* Treść karty */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: 16px; padding: 16px 18px 4px; margin: 0; min-height: 3em;
}
.woocommerce ul.products li.product .price {
	color: var(--wp--preset--color--secondary, #1e2d3b);
	font-family: var(--wp--preset--font-family--heading, "Oxanium", sans-serif);
	font-weight: 700; font-size: 20px; padding: 0 18px 14px; margin-top: auto;
}
.woocommerce ul.products li.product .price .woocommerce-Price-currencySymbol { font-weight: 600; }
.woocommerce ul.products li.product .price del { color: #9aa6b1; font-weight: 400; font-size: 15px; margin-right: 6px; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }

/* „Cena na zapytanie” */
.kanwa-price-ask {
	color: var(--wp--preset--color--primary, #0297f1);
	font-family: var(--wp--preset--font-family--heading, "Oxanium", sans-serif);
	font-weight: 700; font-size: 17px;
}

/* --- Przyciski (spójne z motywem) --- */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce .button.alt,
.woocommerce ul.products li.product .button {
	font-family: var(--wp--preset--font-family--heading, "Oxanium", sans-serif);
	font-weight: 700; font-size: 14px; text-transform: uppercase; letter-spacing: .02em;
	background: var(--wp--preset--color--primary, #0297f1); color: #fff;
	border: 0; border-radius: 6px; padding: 12px 22px; cursor: pointer;
	transition: background-color .2s ease; line-height: 1;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce .button.alt:hover, .woocommerce ul.products li.product .button:hover {
	background: var(--wp--preset--color--primary-dark, #0079c2); color: #fff;
}
/* przycisk w karcie – margines i pełna szerokość dołu */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .kanwa-ask-btn { margin: 0 18px 18px; text-align: center; }
.woocommerce a.button.kanwa-ask-btn { background: var(--wp--preset--color--secondary, #1e2d3b); }
.woocommerce a.button.kanwa-ask-btn:hover { background: #0c151d; }

/* Wyprzedaż */
.woocommerce span.onsale {
	background: var(--wp--preset--color--primary, #0297f1); color: #fff;
	font-family: var(--wp--preset--font-family--heading, "Oxanium", sans-serif);
	font-weight: 700; border-radius: 999px; min-height: auto; min-width: auto;
	padding: 6px 12px; top: 12px; left: 12px; margin: 0;
}

/* --- Pojedynczy produkt --- */
/* Układ flex: galeria + podsumowanie w rzędzie, zakładki i „podobne” pełna szerokość */
.single-product div.product { display: flex; flex-wrap: wrap; column-gap: 48px; row-gap: 28px; align-items: flex-start; }
.single-product div.product > .woocommerce-product-gallery { flex: 0 0 440px; max-width: 440px; margin: 0; float: none !important; }
.single-product div.product > .summary { flex: 1 1 360px; margin: 0 !important; min-width: 0; }
.single-product div.product > .woocommerce-tabs,
.single-product div.product > .related,
.single-product div.product > .up-sells { flex: 0 0 100%; width: 100%; }
/* GALERIA — jedna, pewna definicja (Woo ustawia opacity:0 czekając na slider,
   którego w motywie blokowym nie ma; wymuszamy widoczność i ograniczamy rozmiar). */
.single-product div.product .woocommerce-product-gallery { opacity: 1 !important; width: 100% !important; position: static !important; margin: 0; }
.single-product div.product .woocommerce-product-gallery__wrapper { width: 100% !important; margin: 0 !important; transform: none !important; }
.single-product div.product .woocommerce-product-gallery__image { width: 100% !important; margin: 0 !important; }
.single-product div.product .woocommerce-product-gallery img {
	width: 100% !important; height: auto !important; max-height: 420px; object-fit: contain;
	display: block !important; opacity: 1 !important; box-sizing: border-box;
	border-radius: 16px; background: #fff; padding: 26px; border: 1px solid #eceff2; cursor: zoom-in;
}
.single-product div.product .flex-viewport { border-radius: 16px; }
.single-product div.product .product_title { font-size: clamp(26px, 3.4vw, 38px); margin: 0 0 12px; }
.single-product div.product p.price,
.single-product div.product span.price {
	color: var(--wp--preset--color--secondary, #1e2d3b);
	font-family: var(--wp--preset--font-family--heading, "Oxanium", sans-serif);
	font-weight: 700; font-size: 30px; margin: 6px 0 18px;
}
.single-product .woocommerce-product-details__short-description { color: #404b57; line-height: 1.7; margin-bottom: 22px; }
.single-product div.product form.cart { margin-bottom: 24px; }
.single-product div.product .quantity input.qty {
	border: 1px solid #d7dde3; border-radius: 8px; padding: 12px; width: 72px; font-weight: 600;
}
.single-product .single_add_to_cart_button { padding: 14px 28px !important; font-size: 15px !important; }
.single-product .product_meta { font-size: 14px; color: #6b7785; border-top: 1px solid #eceff2; padding-top: 16px; }
.single-product .product_meta > span { display: block; margin-bottom: 6px; }
.single-product .product_meta a { color: var(--wp--preset--color--primary, #0297f1); text-decoration: none; }
.single-product .product_meta a:hover { text-decoration: underline; }

/* Zakładki opisu */
.woocommerce-tabs { grid-column: 1 / -1; margin-top: 16px; }
.woocommerce-tabs ul.tabs { border-bottom: 1px solid #eceff2; padding: 0; }
.woocommerce-tabs ul.tabs li {
	background: transparent; border: 0; border-radius: 0; padding: 0; margin: 0 24px 0 0;
}
.woocommerce-tabs ul.tabs li.active { border-bottom: 2px solid var(--wp--preset--color--primary, #0297f1); }
.woocommerce-tabs ul.tabs li a {
	font-family: var(--wp--preset--font-family--heading, "Oxanium", sans-serif);
	font-weight: 700; text-transform: uppercase; font-size: 14px; color: #1e2d3b; padding: 14px 0;
}
.woocommerce-tabs ul.tabs::before { border-color: #eceff2; }

/* Produkty powiązane / polecane */
.related.products > h2, .upsells.products > h2 { font-size: clamp(22px, 3vw, 30px); margin: 48px 0 20px; }

/* --- Powiadomienia --- */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews {
	border-radius: 10px; border-top: 3px solid var(--wp--preset--color--primary, #0297f1);
	background: #f4f9fe; color: #1e2d3b; font-family: var(--wp--preset--font-family--body, sans-serif);
}
.woocommerce-error { border-top-color: #d6455d; background: #fdf3f5; }

/* --- Koszyk / kasa (podstawowa spójność) --- */
.woocommerce table.shop_table { border-radius: 12px; border-color: #eceff2; }
.woocommerce table.shop_table th {
	font-family: var(--wp--preset--font-family--heading, "Oxanium", sans-serif); color: #1e2d3b;
}
.woocommerce .cart-collaterals .cart_totals h2,
.woocommerce-checkout h3 { font-family: var(--wp--preset--font-family--heading, "Oxanium", sans-serif); }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
	border: 1px solid #d7dde3; border-radius: 8px; padding: 12px 14px;
}

/* --- Podobne produkty (karta produktu) --- */
.single-product .related.products, .single-product .up-sells.products { border-top: 1px solid #eceff2; margin-top: 8px; padding-top: 8px; }
.single-product .related.products ul.products, .single-product .up-sells ul.products { grid-template-columns: repeat(4, 1fr) !important; }

/* ==========================================================================
   WYSUWANY KOSZYK (off-canvas)
   ========================================================================== */
/* Portal: fixed + overflow:hidden → zamknięty drawer (absolute, off-screen) nie tworzy
   poziomego scrolla i nie rozpycha strony. */
.kanwa-cart-portal { position: fixed; inset: 0; overflow: hidden; pointer-events: none; z-index: 100000; }
.kanwa-cart-overlay {
	position: absolute; inset: 0; pointer-events: none;
	background: rgba(12, 21, 29, .5); opacity: 0; transition: opacity .3s ease;
}
.kanwa-cart-overlay.is-open { opacity: 1; pointer-events: auto; }
.kanwa-cart-overlay[hidden] { display: none; }
.kanwa-cart-drawer {
	position: absolute; top: 0; right: 0; bottom: 0;
	width: 400px; max-width: 92vw; background: #fff; pointer-events: none;
	box-shadow: -12px 0 40px rgba(0,0,0,.2);
	transform: translateX(100%); transition: transform .3s cubic-bezier(.4,0,.2,1);
	display: flex; flex-direction: column;
}
.kanwa-cart-drawer.is-open { transform: translateX(0); pointer-events: auto; }
.kanwa-cart-drawer__head {
	display: flex; align-items: center; justify-content: space-between;
	padding: 20px 24px; border-bottom: 1px solid #eceff2;
}
.kanwa-cart-drawer__title { font-family: var(--wp--preset--font-family--heading, "Oxanium", sans-serif); font-weight: 800; font-size: 20px; color: #1e2d3b; }
.kanwa-cart-drawer__close { background: none; border: 0; cursor: pointer; color: #6b7785; padding: 6px; border-radius: 8px; }
.kanwa-cart-drawer__close:hover { background: #f1f5f8; color: #1e2d3b; }
.kanwa-cart-drawer__close svg { width: 22px; height: 22px; }
/* Drawer = kolumna. Uwaga: WooCommerce przy odświeżeniu podmienia .widget_shopping_cart_content
   (gubi klasę __content), dlatego układ opieramy na .widget_shopping_cart_content. */
.kanwa-cart-drawer__content { flex: 1 1 auto; min-height: 0; }
.kanwa-cart-drawer .widget_shopping_cart_content { flex: 1 1 auto; min-height: 0; padding: 0; display: flex; flex-direction: column; }
/* Mini-koszyk WooCommerce w drawerze */
.kanwa-cart-drawer .woocommerce-mini-cart__empty-message { color: #6b7785; text-align: center; padding: 48px 24px; font-size: 15px; margin: auto 0; }
.kanwa-cart-drawer ul.cart_list, .kanwa-cart-drawer ul.product_list_widget { list-style: none; margin: 0; padding: 8px 24px; flex: 0 1 auto; overflow-y: auto; min-height: 0; }
.kanwa-cart-drawer ul.cart_list li.mini_cart_item {
	position: relative; display: flex; align-items: center; gap: 14px;
	padding: 16px 28px 16px 0; margin: 0; border-bottom: 1px solid #f0f3f6;
}
.kanwa-cart-drawer ul.cart_list li.mini_cart_item > a:not(.remove) {
	display: flex; align-items: center; gap: 14px; flex: 1; min-width: 0;
	font-family: var(--wp--preset--font-family--body, sans-serif); font-weight: 600; font-size: 14px; line-height: 1.35;
	color: #1e2d3b; text-decoration: none;
}
.kanwa-cart-drawer ul.cart_list li.mini_cart_item > a:not(.remove):hover { color: var(--wp--preset--color--primary, #0297f1); }
.kanwa-cart-drawer ul.cart_list li.mini_cart_item img {
	width: 60px !important; height: 60px; flex: 0 0 60px; object-fit: contain;
	background: #f4f7fa; border: 1px solid #eceff2; border-radius: 10px; float: none !important; margin: 0 !important; padding: 6px;
}
.kanwa-cart-drawer .quantity { flex: 0 0 auto; color: #55606b; font-size: 13.5px; font-weight: 600; white-space: nowrap; }
.kanwa-cart-drawer .quantity .woocommerce-Price-amount { color: #1e2d3b; }
.kanwa-cart-drawer a.remove {
	position: absolute; top: 50%; right: 0; transform: translateY(-50%);
	width: 22px; height: 22px; display: flex; align-items: center; justify-content: center;
	color: #9aa6b1 !important; font-size: 18px; line-height: 1; border-radius: 50%; background: #f1f5f8;
}
.kanwa-cart-drawer a.remove:hover { color: #fff !important; background: #d6455d; }
/* Suma i przyciski z fragmentu są ukryte — używamy STATYCZNEJ stopki (poniżej). */
.kanwa-cart-drawer .woocommerce-mini-cart__total,
.kanwa-cart-drawer .woocommerce-mini-cart__buttons { display: none !important; }
/* Statyczna stopka drawera: suma + „Zapłać teraz” (tekst na sztywno, nie znika po nawigacji). */
.kanwa-cart-drawer__foot { flex: 0 0 auto; background: #fff; border-top: 1px solid #eceff2; padding: 18px 24px 24px; }
.kanwa-cart-drawer__total { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 14px;
	font-family: var(--wp--preset--font-family--heading, "Oxanium", sans-serif); font-weight: 700; font-size: 15px; color: #55606b; }
.kanwa-cart-drawer__total .kanwa-drawer-subtotal, .kanwa-cart-drawer__total .woocommerce-Price-amount { font-size: 22px; color: #1e2d3b; }
.kanwa-cart-drawer .kanwa-paynow { display: block; width: 100%; box-sizing: border-box; text-align: center; text-decoration: none !important;
	padding: 16px; font-size: 15px; font-weight: 700; letter-spacing: .3px; border-radius: 12px; border: none;
	background: var(--wp--preset--color--primary, #0297f1) !important; color: #fff !important; margin: 0;
	font-family: var(--wp--preset--font-family--heading, "Oxanium", sans-serif); text-transform: uppercase; }
.kanwa-cart-drawer .kanwa-paynow:hover { background: var(--wp--preset--color--primary-dark, #0079c2) !important; color: #fff !important; }
/* Gdy koszyk pusty — ukryj stopkę */
.kanwa-cart-drawer:has(.woocommerce-mini-cart__empty-message) .kanwa-cart-drawer__foot { display: none; }
html.kanwa-noscroll { overflow: hidden; }

/* ==========================================================================
   MOJE KONTO — logowanie / rejestracja
   ========================================================================== */
.woocommerce-account .woocommerce > h2,
.woocommerce .u-columns > .col-1 > h2, .woocommerce .u-columns > .col-2 > h2 {
	font-family: var(--wp--preset--font-family--heading, "Oxanium", sans-serif); font-weight: 800; font-size: 24px; margin: 0 0 16px; color: #1e2d3b;
}
.woocommerce #customer_login.u-columns,
.woocommerce-account .woocommerce .col2-set, .woocommerce .u-columns { display: grid !important; grid-template-columns: 1fr 1fr; gap: 32px; max-width: 900px; margin: 0 auto; align-items: start; }
.woocommerce #customer_login .col-1, .woocommerce #customer_login .col-2,
.woocommerce .u-columns .col-1, .woocommerce .u-columns .col-2 { width: auto !important; float: none !important; margin: 0 !important; }
.woocommerce #customer_login::before, .woocommerce #customer_login::after,
.woocommerce .u-columns::before, .woocommerce .u-columns::after { content: none !important; display: none !important; }
.woocommerce form.login, .woocommerce form.register, .woocommerce form.woocommerce-form-login, .woocommerce form.woocommerce-form-register {
	border: 1px solid #eceff2; border-radius: 14px; padding: 28px; background: #fff; box-shadow: 0 1px 2px rgba(30,45,59,.04); margin: 0;
}
.woocommerce form .form-row label { font-weight: 600; font-size: 14px; color: #35434f; margin-bottom: 6px; display: block; }
.woocommerce-form-login__rememberme { font-weight: 400; }
.woocommerce form .woocommerce-form-login__submit, .woocommerce form .woocommerce-form-register__submit { width: 100%; margin-top: 6px; }
/* ==========================================================================
   MOJE KONTO — panel zalogowanego użytkownika
   ========================================================================== */
/* Sticky footer — krótkie strony nie zostawiają białego pasa pod footerem */
.wp-site-blocks { display: flex; flex-direction: column; min-height: 100vh; }
.wp-site-blocks > main { flex: 1 0 auto; }
.woocommerce-account main { min-height: 62vh; }
/* Układ dwukolumnowy: nawigacja + treść (gdy zalogowany) */
.woocommerce-account.logged-in .woocommerce {
	display: flex !important; flex-wrap: nowrap; gap: 28px; align-items: flex-start; max-width: 1100px !important; width: 100%; margin: 0 auto;
}
.woocommerce-account.logged-in .woocommerce > .woocommerce-MyAccount-navigation {
	flex: 0 0 264px !important; width: 264px !important; max-width: 264px !important; float: none !important; margin: 0 !important;
}
.woocommerce-account.logged-in .woocommerce > .woocommerce-MyAccount-content {
	flex: 1 1 auto !important; width: auto !important; max-width: none !important; float: none !important; margin: 0 !important; min-width: 0;
}

/* border-box: padding nie może rozpychać kolumn poza szerokość (fix mobile) */
.woocommerce-account.logged-in .woocommerce,
.woocommerce-account.logged-in .woocommerce * { box-sizing: border-box; }

/* --- Panel boczny --- */
.kanwa-account-nav { background: #fff; border: 1px solid #eceff2; border-radius: 16px; padding: 12px; box-shadow: 0 1px 2px rgba(30,45,59,.04); position: sticky; top: calc(var(--kanwa-header-h, 90px) + 16px); box-sizing: border-box; }
.kanwa-account-nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.kanwa-account-nav li { margin: 0 !important; padding: 0 !important; }
.kanwa-account-nav li a {
	display: flex; align-items: center; gap: 11px; padding: 9px 12px; border-radius: 9px; margin: 0;
	font-family: var(--wp--preset--font-family--heading, "Oxanium", sans-serif); font-weight: 700; font-size: 14.5px;
	color: #35434f; text-decoration: none !important; transition: background-color .15s, color .15s;
}
.kanwa-account-nav__ic { display: inline-flex; width: 20px; height: 20px; flex: 0 0 20px; color: #9aa6b1; transition: color .15s; }
.kanwa-account-nav__ic svg { width: 100%; height: 100%; }
.kanwa-account-nav li a:hover { background: #f1f6fa; color: #1e2d3b; }
.kanwa-account-nav li a:hover .kanwa-account-nav__ic { color: var(--wp--preset--color--primary, #0297f1); }
.kanwa-account-nav li.is-active a { background: var(--wp--preset--color--primary, #0297f1); color: #fff; text-decoration: none !important; }
.kanwa-account-nav li.is-active a .kanwa-account-nav__ic { color: #fff; }
.kanwa-account-nav li.woocommerce-MyAccount-navigation-link--customer-logout a { margin-top: 4px; border-top: 1px solid #f0f3f6; border-radius: 0 0 10px 10px; }
.kanwa-account-nav li.woocommerce-MyAccount-navigation-link--customer-logout a:hover { background: #fdf3f5; color: #c23a4f; }
.kanwa-account-nav li.woocommerce-MyAccount-navigation-link--customer-logout a:hover .kanwa-account-nav__ic { color: #c23a4f; }

/* --- Obszar treści --- */
.woocommerce-MyAccount-content { background: #fff; border: 1px solid #eceff2; border-radius: 16px; padding: 30px 32px; box-shadow: 0 1px 2px rgba(30,45,59,.04); min-width: 0; }
.woocommerce-MyAccount-content > p { color: #55606b; line-height: 1.7; }
.woocommerce-MyAccount-content a:not(.button):not(.kanwa-account-card):not(.kanwa-account-recent__row) { color: var(--wp--preset--color--primary, #0297f1); }

/* --- Pulpit: powitanie --- */
.kanwa-account-dash__eyebrow { font-family: var(--wp--preset--font-family--heading, "Oxanium", sans-serif); text-transform: uppercase; letter-spacing: 1.5px; font-size: 12px; font-weight: 700; color: var(--wp--preset--color--primary, #0297f1); margin: 0 0 6px; }
.kanwa-account-dash__title { font-family: var(--wp--preset--font-family--heading, "Oxanium", sans-serif); font-weight: 800; font-size: 26px; color: #1e2d3b; margin: 0 0 6px; }
.kanwa-account-dash__sub { color: #6b7785; margin: 0 0 24px; }

/* --- Pulpit: karty szybkich akcji --- */
.kanwa-account-cards { display: grid; grid-template-columns: 1fr; gap: 12px; margin-bottom: 28px; }
.kanwa-account-card { display: flex; align-items: center; gap: 16px; padding: 16px 18px; border: 1px solid #eceff2; border-radius: 12px; text-decoration: none; background: #fff; transition: border-color .15s, box-shadow .15s, transform .15s; }
.kanwa-account-card:hover { border-color: #bfe0fa; box-shadow: 0 6px 18px rgba(2,151,241,.10); transform: translateY(-1px); }
.kanwa-account-card__ic { flex: 0 0 26px; width: 26px; height: 26px; color: var(--wp--preset--color--primary, #0297f1); display: inline-flex; align-items: center; justify-content: center; }
.kanwa-account-card__ic svg { width: 24px; height: 24px; }
.kanwa-account-card__body { display: flex; flex-direction: column; min-width: 0; }
.kanwa-account-card__title { font-family: var(--wp--preset--font-family--heading, "Oxanium", sans-serif); font-weight: 700; font-size: 15px; color: #1e2d3b; }
.kanwa-account-card__desc { font-size: 13px; color: #8a95a1; }
.kanwa-account-card__arrow { margin-left: auto; color: #c2ccd6; font-size: 18px; transition: color .15s, transform .15s; }
.kanwa-account-card:hover .kanwa-account-card__arrow { color: var(--wp--preset--color--primary, #0297f1); transform: translateX(3px); }

/* --- Pulpit: ostatnie zamówienia --- */
.kanwa-account-recent__title { font-family: var(--wp--preset--font-family--heading, "Oxanium", sans-serif); font-weight: 800; font-size: 17px; color: #1e2d3b; margin: 0 0 12px; }
.kanwa-account-recent__list { display: flex; flex-direction: column; gap: 8px; }
.kanwa-account-recent__row { display: grid; grid-template-columns: auto 1fr auto auto; align-items: center; gap: 14px; padding: 12px 16px; border: 1px solid #eceff2; border-radius: 10px; text-decoration: none; background: #fafbfc; transition: background-color .15s; }
.kanwa-account-recent__row:hover { background: #f1f6fa; }
.kanwa-account-recent__no { font-family: var(--wp--preset--font-family--heading, "Oxanium", sans-serif); font-weight: 700; color: #1e2d3b; }
.kanwa-account-recent__date { color: #8a95a1; font-size: 13px; }
.kanwa-account-recent__status { font-size: 12px; font-weight: 700; padding: 3px 10px; border-radius: 999px; background: #eaf2fb; color: #2a6aa8; white-space: nowrap; }
.kanwa-account-recent__total { font-weight: 700; color: #1e2d3b; white-space: nowrap; }

/* --- Endpointy: tabela zamówień, adresy, formularze --- */
.woocommerce-MyAccount-content .woocommerce-orders-table,
.woocommerce-MyAccount-content table.shop_table { border: 1px solid #eceff2; border-radius: 12px; border-collapse: separate; overflow: hidden; width: 100%; }
.woocommerce-MyAccount-content table.shop_table th { background: #f6f8fa; font-family: var(--wp--preset--font-family--heading, "Oxanium", sans-serif); color: #1e2d3b; padding: 14px 16px; font-size: 13px; }
.woocommerce-MyAccount-content table.shop_table td { padding: 14px 16px; border-top: 1px solid #f0f3f6; color: #55606b; }
.woocommerce-MyAccount-content .woocommerce-Address { border: 1px solid #eceff2; border-radius: 12px; padding: 20px 22px; background: #fafbfc; }
.woocommerce-MyAccount-content .woocommerce-Address address { font-style: normal; color: #55606b; line-height: 1.7; }
.woocommerce-MyAccount-content h2, .woocommerce-MyAccount-content h3 { font-family: var(--wp--preset--font-family--heading, "Oxanium", sans-serif); font-weight: 800; color: #1e2d3b; font-size: 18px !important; line-height: 1.3; margin: 0 0 10px; }
.woocommerce-MyAccount-content .woocommerce-Address-title.title { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.woocommerce-MyAccount-content .woocommerce-Address-title.title h3 { margin: 0; }
.woocommerce-MyAccount-content .addresses .woocommerce-Address-title .edit { font-size: 13px; }
.woocommerce-MyAccount-content .addresses .col2-set,
.woocommerce-MyAccount-content .u-columns { display: grid !important; grid-template-columns: 1fr 1fr; gap: 20px; max-width: none; }
.woocommerce-EditAccountForm .clear ~ p, .woocommerce-MyAccount-content fieldset { margin-top: 8px; }
/* Komunikaty (nowe bloki notice) w panelu — nasz styl, CTA jako pigułka */
.woocommerce-MyAccount-content .wc-block-components-notice-banner,
.woocommerce-MyAccount-content .woocommerce-info,
.woocommerce-MyAccount-content .woocommerce-message {
	display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
	border: 1px solid #dce4ec;
	background: #f4f9fe !important; color: #35434f; border-radius: 12px; padding: 15px 18px; margin: 0 0 14px; line-height: 1.5; box-shadow: none;
}
.woocommerce-MyAccount-content .wc-block-components-notice-banner.is-success,
.woocommerce-MyAccount-content .woocommerce-message { background: #f2fbf6 !important; }
.woocommerce-MyAccount-content .wc-block-components-notice-banner.is-error { background: #fdf4f6 !important; }
/* Zamiast domyślnej ikony (lity dysk, „i” niewidoczne) — własny czytelny znaczek: kółko + białe „i” */
.woocommerce-MyAccount-content .wc-block-components-notice-banner > svg { display: none !important; }
.woocommerce-MyAccount-content .wc-block-components-notice-banner::before {
	content: "i"; flex: 0 0 24px; width: 24px; height: 24px; border-radius: 50%;
	background: var(--wp--preset--color--primary, #0297f1); color: #fff;
	font-family: Georgia, "Times New Roman", serif; font-style: italic; font-weight: 700; font-size: 15px;
	display: inline-flex; align-items: center; justify-content: center; line-height: 1;
}
.woocommerce-MyAccount-content .wc-block-components-notice-banner.is-success::before { content: "\2713"; background: #2ea86a; font-family: inherit; font-style: normal; }
.woocommerce-MyAccount-content .wc-block-components-notice-banner.is-error::before { content: "!"; background: #d6455d; font-family: inherit; font-style: normal; }
.woocommerce-MyAccount-content .wc-block-components-notice-banner__content {
	display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
	flex: 1 1 auto; min-width: 0; margin: 0; padding: 0;
}
.woocommerce-MyAccount-content .wc-block-components-notice-banner__content > * { order: 1; flex: 1 1 auto; min-width: 0; margin: 0; }
.woocommerce-MyAccount-content .wc-block-components-notice-banner__content .button { order: 2; flex: 0 0 auto; margin-left: auto !important; }
.woocommerce-MyAccount-content .woocommerce-info::before,
.woocommerce-MyAccount-content .woocommerce-message::before { display: none !important; }
.woocommerce-MyAccount-content .wc-block-components-notice-banner .button,
.woocommerce-MyAccount-content .woocommerce-info .button,
.woocommerce-MyAccount-content .woocommerce-message .button {
	background: var(--wp--preset--color--primary, #0297f1) !important; color: #fff !important;
	padding: 10px 20px !important; border-radius: 999px !important; text-decoration: none !important;
	font-family: var(--wp--preset--font-family--heading, "Oxanium", sans-serif); font-weight: 700; font-size: 13px;
	white-space: nowrap; border: 0 !important; margin: 0 !important; flex: 0 0 auto; min-height: 0 !important; line-height: 1.2;
}
.woocommerce-MyAccount-content .wc-block-components-notice-banner .button:hover,
.woocommerce-MyAccount-content .woocommerce-info .button:hover { background: var(--wp--preset--color--primary-dark, #0079c2) !important; }

@media ( max-width: 860px ) {
	.woocommerce-account.logged-in .woocommerce { flex-direction: column; flex-wrap: nowrap; gap: 16px; max-width: 100% !important; }
	.woocommerce-account.logged-in .woocommerce > .woocommerce-MyAccount-navigation { flex: 0 0 auto !important; width: 100% !important; max-width: 100% !important; min-width: 0 !important; }
	.woocommerce-account.logged-in .woocommerce > .woocommerce-MyAccount-content { flex: 0 0 auto !important; width: 100% !important; max-width: 100% !important; min-width: 0 !important; }
	.kanwa-account-nav { position: static; }
	.woocommerce-MyAccount-content { padding: 22px 18px; }
	.woocommerce-MyAccount-content .addresses .col2-set,
	.woocommerce-MyAccount-content .u-columns { grid-template-columns: 1fr; }
	.woocommerce-checkout #customer_details .col-1, .woocommerce-checkout #customer_details .col-2 { min-width: 0; }
	.kanwa-account-recent__row { grid-template-columns: auto 1fr; row-gap: 6px; }
}
/* Formularze konta: pola nie mogą wychodzić poza kartę */
.woocommerce-MyAccount-content form .form-row { box-sizing: border-box; }
.woocommerce-MyAccount-content .woocommerce-form-row input,
.woocommerce-MyAccount-content form input.input-text { box-sizing: border-box; max-width: 100%; }

/* --- Animacja koszyka po dodaniu --- */
@keyframes kanwaBump {
	0% { transform: scale(1); }
	30% { transform: scale(1.25); }
	55% { transform: scale(.9); }
	100% { transform: scale(1); }
}
.kanwa-bump { animation: kanwaBump .5s ease; }
.woocommerce a.button.added::after { display: none; } /* ukryj domyślny „✓” */
/* Ukryj domyślne linki „Zobacz koszyk” (mamy wysuwany koszyk) */
.woocommerce a.added_to_cart { display: none !important; }

/* --- Stepper ilości (+/-) — własny element Kanwa, deterministyczny --- */
.quantity.kanwa-qty-ready {
	display: inline-flex !important; align-items: stretch; height: 48px;
	border: 1px solid #d7dde3; border-radius: 10px; overflow: hidden; background: #fff;
	width: max-content; float: none; box-sizing: border-box;
}
.quantity.kanwa-qty-ready .kanwa-qty-btn {
	flex: 0 0 44px; width: 44px; height: 100%; margin: 0; border: 0; padding: 0;
	background: #fff; color: #55606b; font-size: 22px; line-height: 1; cursor: pointer;
	display: flex; align-items: center; justify-content: center; box-shadow: none;
	font-family: var(--wp--preset--font-family--heading, "Oxanium", sans-serif);
	transition: background-color .15s, color .15s; -webkit-appearance: none; appearance: none;
}
.quantity.kanwa-qty-ready .kanwa-qty-btn:hover { background: #f1f6fa; color: var(--wp--preset--color--primary, #0297f1); }
.quantity.kanwa-qty-ready .kanwa-qty-btn:active { background: #e6f1fb; }
.quantity.kanwa-qty-ready input.qty {
	flex: 0 0 46px; width: 46px !important; height: 100% !important; margin: 0 !important; padding: 0 !important;
	border: 0 !important; border-left: 1px solid #eceff2 !important; border-right: 1px solid #eceff2 !important; border-radius: 0 !important;
	text-align: center !important; font-weight: 700; font-size: 16px; line-height: 46px;
	background: #fff !important; color: #1e2d3b !important; box-shadow: none !important;
	min-height: 0 !important; -moz-appearance: textfield; appearance: textfield;
}
.quantity.kanwa-qty-ready input.qty::-webkit-outer-spin-button,
.quantity.kanwa-qty-ready input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.single-product form.cart { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.single-product form.cart .quantity.kanwa-qty-ready { flex: 0 0 auto; }
.single-product form.cart .single_add_to_cart_button { height: 48px; padding: 0 28px !important; display: inline-flex; align-items: center; }

.single-product div.product .woocommerce-product-gallery__image a { display: block; }

/* --- Opis produktu (zamiast zakładek) --- */
.kanwa-product-desc { flex: 0 0 100%; width: 100%; margin-top: 8px; border-top: 1px solid #eceff2; padding-top: 24px; }
.kanwa-product-desc h2 { font-family: var(--wp--preset--font-family--heading, "Oxanium", sans-serif); font-weight: 800; font-size: clamp(22px, 3vw, 30px); margin: 0 0 14px; color: #1e2d3b; }
.kanwa-product-desc p, .kanwa-product-desc li { color: #404b57; line-height: 1.7; }
.woocommerce-tabs { display: none !important; }

/* --- Przycisk „Zapłać teraz” (bez podkreślenia) --- */
.kanwa-cart-drawer .woocommerce-mini-cart__buttons a,
.kanwa-cart-drawer .kanwa-paynow { text-decoration: none !important; background: var(--wp--preset--color--primary, #0297f1); }
.kanwa-cart-drawer .kanwa-paynow:hover { background: var(--wp--preset--color--primary-dark, #0079c2); text-decoration: none !important; }

/* --- Suffix „netto” przy cenie: mniejszy i lżejszy --- */
.woocommerce .price .woocommerce-price-suffix,
.woocommerce-Price-amount + .woocommerce-price-suffix,
.price .woocommerce-price-suffix {
	font-size: .62em; font-weight: 400; color: #8494a2; margin-left: 4px; letter-spacing: .02em;
}

/* --- Sortowanie: bez ramki, sam tekst + chevron --- */
.woocommerce .woocommerce-ordering select, .kanwa-shopside__sort .woocommerce-ordering select, .kanwa-shopside__sort select {
	outline: none !important; -webkit-appearance: none; -moz-appearance: none; appearance: none;
	border: 0 !important; background-color: transparent !important; box-shadow: none !important;
	min-height: 0 !important; padding: 6px 30px 6px 0 !important; width: 100%; max-width: 100%; box-sizing: border-box;
	font-family: var(--wp--preset--font-family--heading, "Oxanium", sans-serif); font-weight: 700; font-size: 14px; color: #1e2d3b; cursor: pointer;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%230297f1' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right center;
}
.woocommerce-ordering select:focus, .kanwa-shopside__sort select:focus { box-shadow: none !important; }

/* Własny dropdown sortowania */
.kanwa-select { position: relative; }
.kanwa-select__btn {
	display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%;
	background: #fff; border: 1px solid #d7dde3; border-radius: 10px; padding: 11px 14px; cursor: pointer;
	font-family: var(--wp--preset--font-family--heading, "Oxanium", sans-serif); font-weight: 700; font-size: 14px; color: #1e2d3b;
}
.kanwa-select__btn:hover { border-color: #cfe3f5; }
.kanwa-select__btn svg { width: 16px; height: 16px; color: var(--wp--preset--color--primary, #0297f1); transition: transform .2s; flex: 0 0 auto; }
.kanwa-select.is-open .kanwa-select__btn svg { transform: rotate(180deg); }
.kanwa-select.is-open .kanwa-select__btn { border-color: var(--wp--preset--color--primary, #0297f1); }
.kanwa-select__list {
	position: absolute; top: calc(100% + 6px); left: 0; right: 0; z-index: 60;
	background: #fff; border: 1px solid #eceff2; border-radius: 12px; box-shadow: 0 14px 34px rgba(30,45,59,.16);
	padding: 6px; opacity: 0; visibility: hidden; transform: translateY(-6px);
	transition: opacity .15s ease, transform .15s ease, visibility .15s;
}
.kanwa-select.is-open .kanwa-select__list { opacity: 1; visibility: visible; transform: translateY(0); }
.kanwa-select__opt {
	display: block; width: 100%; text-align: left; background: none; border: 0; padding: 10px 12px; border-radius: 8px; cursor: pointer;
	font-family: var(--wp--preset--font-family--body, sans-serif); font-size: 14px; color: #35434f;
}
.kanwa-select__opt:hover { background: #f1f6fa; color: var(--wp--preset--color--primary, #0297f1); }
.kanwa-select__opt.is-active { background: var(--wp--preset--color--primary, #0297f1); color: #fff; font-weight: 700; }

/* Bez lupki i BEZ ruchu na hover (klik w zdjęcie = lightbox z JS) */
.single-product .woocommerce-product-gallery__trigger { display: none !important; }
.single-product .woocommerce-product-gallery a,
.single-product .woocommerce-product-gallery img,
.single-product .woocommerce-product-gallery a:hover,
.single-product .woocommerce-product-gallery img:hover { transform: none !important; transition: none !important; }

/* --- Lightbox --- */
.kanwa-lightbox { position: fixed; inset: 0; z-index: 100002; display: flex; align-items: center; justify-content: center; padding: 32px; background: rgba(12,21,29,.88); }
.kanwa-lightbox[hidden] { display: none; }
.kanwa-lightbox__img { max-width: 92vw; max-height: 88vh; object-fit: contain; border-radius: 12px; background: #fff; cursor: zoom-in; transition: transform .25s ease; }
.kanwa-lightbox__img.is-zoomed { transform: scale(1.8); cursor: zoom-out; }
.kanwa-lightbox__close { position: absolute; top: 24px; right: 28px; width: 44px; height: 44px; border: 0; border-radius: 50%; background: rgba(255,255,255,.15); color: #fff; font-size: 28px; line-height: 1; cursor: pointer; }
.kanwa-lightbox__close:hover { background: rgba(255,255,255,.28); }

/* --- Logowanie/rejestracja: przełączanie (jedno na raz), wyśrodkowane --- */
.woocommerce #customer_login.kanwa-auth { grid-template-columns: 1fr !important; max-width: 440px !important; }
.woocommerce #customer_login.kanwa-auth.kanwa-show-login .u-column2 { display: none !important; }
.woocommerce #customer_login.kanwa-auth.kanwa-show-reg .u-column1 { display: none !important; }
.kanwa-reg-toggle {
	display: block; width: 100%; margin-top: 16px; padding: 13px; cursor: pointer;
	background: transparent; border: 1px dashed #cfd6dd; border-radius: 10px; color: #1e2d3b;
	font-family: var(--wp--preset--font-family--heading, "Oxanium", sans-serif); font-weight: 700; font-size: 14px;
}
.kanwa-reg-toggle:hover { border-color: var(--wp--preset--color--primary, #0297f1); color: var(--wp--preset--color--primary, #0297f1); }
.kanwa-reg-toggle--back { border-style: solid; }

/* --- Mobilny pasek/panel filtrów (domyślnie ukryte na desktopie) --- */
.kanwa-mfilter { display: none; }
.kanwa-shopside__handle { display: none; }
.kanwa-filter-overlay { display: none; }

/* ==========================================================================
   KOSZYK / KASA (klasyczne, nasz design)
   ========================================================================== */
.kanwa-checkout { background: #fafbfc; }
.kanwa-checkout__wrap { max-width: 1440px; margin: 0 auto; padding: clamp(24px, 3.5vw, 48px) clamp(20px, 4vw, 56px) clamp(56px, 7vw, 96px); }
.kanwa-shop__pagetitle { font-family: var(--wp--preset--font-family--heading, "Oxanium", sans-serif); font-weight: 800; font-size: clamp(28px, 4vw, 44px); color: #1e2d3b; margin: 0 0 24px; }
/* Nagłówek „Zamówienie” na stronie kasy — wyśrodkowany */
.kanwa-checkout .kanwa-shop__pagetitle { text-align: center; margin-bottom: 36px; }

/* Pola formularzy — spójne */
.woocommerce form .form-row { margin: 0 0 16px; padding: 0; }
.woocommerce form .form-row label { font-weight: 600; font-size: 13.5px; color: #35434f; margin-bottom: 6px; }
.woocommerce .input-text, .woocommerce input[type="text"], .woocommerce input[type="email"], .woocommerce input[type="tel"], .woocommerce input[type="password"], .woocommerce textarea, .woocommerce select, .select2-container .select2-selection {
	border: 1px solid #d7dde3 !important; border-radius: 10px !important; padding: 13px 14px !important; font-size: 15px; background: #fff; min-height: 48px; box-shadow: none !important;
}
.woocommerce .input-text:focus, .woocommerce select:focus, .woocommerce textarea:focus { border-color: var(--wp--preset--color--primary, #0297f1) !important; box-shadow: 0 0 0 3px rgba(2,151,241,.12) !important; }
.select2-container--default .select2-selection--single { height: 48px !important; display: flex; align-items: center; }

/* --- KOSZYK --- */
.woocommerce-cart .woocommerce { display: grid; grid-template-columns: 1fr 360px; gap: 40px; align-items: start; max-width: none; }
.woocommerce-cart form.woocommerce-cart-form { grid-column: 1; }
.woocommerce-cart .cart-collaterals { grid-column: 2; width: 100% !important; float: none !important; }
.woocommerce-cart .cart-collaterals .cart_totals { width: 100% !important; float: none !important; }
.woocommerce-cart table.shop_table { border: 1px solid #eceff2; border-radius: 14px; background: #fff; border-collapse: separate; overflow: hidden; }
.woocommerce-cart table.shop_table th { background: #f6f8fa; color: #1e2d3b; font-family: var(--wp--preset--font-family--heading, "Oxanium", sans-serif); padding: 16px; }
.woocommerce-cart table.shop_table td { padding: 16px; vertical-align: middle; border-top: 1px solid #f0f3f6; }
.woocommerce-cart td.product-thumbnail img { width: 60px; border-radius: 8px; background: #f4f7fa; border: 1px solid #eceff2; }
.woocommerce-cart .cart_totals h2 { font-family: var(--wp--preset--font-family--heading, "Oxanium", sans-serif); font-weight: 800; font-size: 20px; margin: 0 0 14px; }
.woocommerce-cart .cart_totals table { background: #fff; border: 1px solid #eceff2; border-radius: 14px; overflow: hidden; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { text-decoration: none !important; text-align: center; padding: 16px !important; font-size: 15px !important; }

/* --- KASA (2 kolumny: lewa dane+płatność, prawa podsumowanie) --- */
.woocommerce-checkout form.checkout.woocommerce-checkout {
	display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 48px; align-items: start;
}
.kanwa-co-left { min-width: 0; grid-column: 1; }
.kanwa-co-right { grid-column: 2; position: sticky; top: calc(var(--kanwa-header-h, 90px) + 16px); display: flex; flex-direction: column; gap: 16px; }

/* Kasa: opcja „Kupuję jako firma” + pola firma/NIP (ukryte dopóki nie zaznaczone) */
.woocommerce-checkout .kanwa-company-toggle { display: flex; align-items: center; gap: 10px; margin: 4px 0 14px; padding: 12px 14px; border: 1px solid #d7dde3; border-radius: 10px; background: #fafbfc; }
.woocommerce-checkout .kanwa-company-toggle input[type="checkbox"] { width: 18px; height: 18px; min-height: 0; margin: 0; flex: 0 0 18px; }
.woocommerce-checkout .kanwa-company-toggle label { margin: 0; font-weight: 700; font-size: 14px; color: #1e2d3b; cursor: pointer; }
.woocommerce-checkout .kanwa-company-toggle .required { display: none; }
.woocommerce-checkout .kanwa-company-field { display: none; }
body.kanwa-company-on .woocommerce-checkout .kanwa-company-field { display: block; }

/* Ikony metod płatności */
.kanwa-pay-icon { display: inline-flex; align-items: center; margin-left: auto; color: var(--wp--preset--color--primary, #0297f1); }
.kanwa-pay-icon svg { width: 26px; height: 26px; }
.kanwa-pay-logos { display: inline-flex; align-items: center; gap: 8px; margin-left: auto; }
.kanwa-pay-logos img { height: 22px; width: auto; display: block; margin: 0 !important; }
.woocommerce-checkout ul.wc_payment_methods li.wc_payment_method > label { display: flex !important; align-items: center; gap: 10px; width: 100%; }
.woocommerce-checkout ul.wc_payment_methods li.wc_payment_method > label img { margin-left: auto !important; height: 26px !important; width: auto !important; max-width: 90px; float: none !important; display: inline-block; }

/* Box kuponu (prawa kolumna, pod podsumowaniem) — kompaktowy */
.kanwa-coupon-box { background: #fff; border: 1px solid #eceff2; border-radius: 14px; padding: 16px 18px; }
.kanwa-coupon-box__title { font-family: var(--wp--preset--font-family--heading, "Oxanium", sans-serif); font-weight: 700; font-size: 14px; color: #1e2d3b; margin: 0 0 10px; }
.kanwa-coupon-box .kanwa-coupon-box__row { display: flex; flex-direction: column; gap: 10px; }
.kanwa-coupon-box input.input-text { width: 100%; box-sizing: border-box; margin: 0; min-height: 46px !important; padding: 10px 14px !important; }
.kanwa-coupon-box .kanwa-coupon-btn { width: 100%; box-sizing: border-box; height: 46px; padding: 0 16px !important; font-size: 14px !important; text-decoration: none !important; }
.woocommerce-checkout #customer_details .col-1, .woocommerce-checkout #customer_details .col-2 { width: auto !important; float: none !important; margin-bottom: 24px; }
.woocommerce-checkout #customer_details::before, .woocommerce-checkout #customer_details::after,
.woocommerce-checkout .col2-set::before, .woocommerce-checkout .col2-set::after { content: none !important; display: none !important; }
.woocommerce-checkout h3 { font-family: var(--wp--preset--font-family--heading, "Oxanium", sans-serif); font-weight: 800; font-size: 20px; color: #1e2d3b; }
.woocommerce-checkout h3#order_review_heading { margin: 0 0 14px; font-size: 22px; }

/* Prawa kolumna: podsumowanie z produktami (zdjęcia) */
.woocommerce-checkout #order_review { background: #fff; border: 1px solid #eceff2; border-radius: 16px; padding: 8px 22px 22px; }
.woocommerce-checkout #order_review table.shop_table { border: 0; margin: 0; }
.woocommerce-checkout #order_review table.shop_table thead { display: none; }
.woocommerce-checkout #order_review table.shop_table td, .woocommerce-checkout #order_review table.shop_table th { padding: 14px 0; border-top: 1px solid #f0f3f6; }
.woocommerce-checkout #order_review .cart_item td.product-name { color: #1e2d3b; font-size: 14px; }
.kanwa-review-item { display: flex; align-items: center; gap: 12px; min-width: 0; }
.kanwa-review-thumb { flex: 0 0 52px; }
.kanwa-review-thumb img { width: 52px !important; height: 52px !important; max-width: 52px !important; object-fit: contain; background: #f4f7fa; border: 1px solid #eceff2; border-radius: 10px; padding: 5px; margin: 0 !important; display: block; box-sizing: border-box; }
.kanwa-review-name { font-weight: 600; line-height: 1.35; min-width: 0; }
.woocommerce-checkout #order_review table.shop_table td.product-name { width: 70%; }
.woocommerce-checkout #order_review .product-quantity, .woocommerce-checkout #order_review td.product-name .product-quantity { color: #6b7785; }
.woocommerce-checkout #order_review .product-total { font-weight: 700; white-space: nowrap; text-align: right; }
/* Kwoty w podsumowaniu (Kwota / VAT / Łącznie) — kończą się przy prawej krawędzi, jak cena produktu */
.woocommerce-checkout #order_review table.shop_table td { text-align: right; }
.woocommerce-checkout #order_review table.shop_table th { text-align: left; }
.woocommerce-checkout #order_review td.product-name { text-align: left; }
.woocommerce-checkout #order_review .cart-subtotal td, .woocommerce-checkout #order_review .tax-rate td,
.woocommerce-checkout #order_review .order-total td { text-align: right; white-space: nowrap; }
.woocommerce-checkout #order_review .cart-subtotal th, .woocommerce-checkout #order_review .cart-subtotal td,
.woocommerce-checkout #order_review .tax-rate th, .woocommerce-checkout #order_review .tax-rate td { font-size: 14px; color: #55606b; }
.woocommerce-checkout #order_review .order-total th { font-family: var(--wp--preset--font-family--heading, "Oxanium", sans-serif); font-size: 16px; }
.woocommerce-checkout #order_review .order-total .woocommerce-Price-amount { font-family: var(--wp--preset--font-family--heading, "Oxanium", sans-serif); font-size: 24px; color: #1e2d3b; }

/* Lewa kolumna: płatność na dole */
.woocommerce-checkout .woocommerce-checkout-payment,
.woocommerce #payment, .woocommerce-checkout #payment { margin-top: 28px; background: transparent !important; border-radius: 0; padding: 0 !important; }
.woocommerce-checkout .woocommerce-checkout-payment > ul.wc_payment_methods,
.woocommerce-checkout #payment ul.wc_payment_methods { border: 0; padding-left: 0 !important; margin: 0 0 16px 0 !important; list-style: none; background: transparent; width: 100%; box-sizing: border-box; }
.woocommerce-checkout ul.wc_payment_methods li { margin-left: 0 !important; }
.woocommerce-checkout ul.wc_payment_methods li { background: #fff; border: 1px solid #d7dde3; border-radius: 12px; padding: 16px 18px; margin: 0 0 12px; cursor: pointer; }
.woocommerce-checkout ul.wc_payment_methods li.wc_payment_method > label { cursor: pointer; }
.woocommerce-checkout ul.wc_payment_methods li input[type="radio"] { cursor: pointer; }
.woocommerce-checkout ul.wc_payment_methods li.wc_payment_method > label { font-weight: 700; font-family: var(--wp--preset--font-family--heading, "Oxanium", sans-serif); color: #1e2d3b; display: inline-flex; align-items: center; gap: 8px; }
.woocommerce-checkout ul.wc_payment_methods li input[type="radio"]:checked ~ label { color: var(--wp--preset--color--primary, #0297f1); }
.woocommerce-checkout ul.wc_payment_methods li:has(input:checked) { border-color: var(--wp--preset--color--primary, #0297f1); box-shadow: 0 0 0 3px rgba(2,151,241,.1); }
.woocommerce-checkout .payment_box { background: #fff !important; border: 1px solid #eceff2; border-radius: 10px; font-size: 14px; color: #55606b; padding: 12px 14px !important; margin-top: 10px; }
.woocommerce-checkout .payment_box::before { display: none !important; }
.woocommerce-checkout .payment_box p { margin: 0; }
.woocommerce-checkout #place_order { width: 100%; padding: 17px !important; font-size: 15px !important; text-decoration: none !important; margin-top: 8px; }
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { font-size: 13.5px; color: #55606b; margin: 10px 0 14px; }
.woocommerce-checkout .woocommerce-privacy-policy-text { font-size: 13px; color: #6b7785; margin-bottom: 12px; }

/* Powiadomienia — w stylu strony (nie gołe czerwone WooCommerce) */
.woocommerce-info, .woocommerce-message, .woocommerce-error, .woocommerce-notice,
.woocommerce-NoticeGroup ul.woocommerce-error, ul.woocommerce-error {
	border-radius: 12px; border: 1px solid #dbe6ef; border-left: 4px solid var(--wp--preset--color--primary, #0297f1);
	background: #f4f9fe; color: #1e2d3b; padding: 16px 18px; margin: 0 0 20px;
	font-family: var(--wp--preset--font-family--body, sans-serif); font-size: 14.5px; list-style: none; box-shadow: 0 4px 14px rgba(30,45,59,.05);
}
.woocommerce-error, ul.woocommerce-error { border-color: #f2c9d1; border-left-color: #d6455d; background: #fdf4f6; color: #8a2a3a; }
.woocommerce-message { border-left-color: #2ea86a; background: #f2fbf6; }
ul.woocommerce-error li { padding: 4px 0; }
ul.woocommerce-error li strong { color: #d6455d; }
.woocommerce-info::before, .woocommerce-message::before, .woocommerce-error::before, .woocommerce-error li::before { display: none !important; }
.woocommerce form .form-row.woocommerce-invalid input.input-text,
.woocommerce form .form-row.woocommerce-invalid select { border-color: #d6455d !important; box-shadow: 0 0 0 3px rgba(214,69,93,.1) !important; }
.woocommerce form .form-row.woocommerce-validated input.input-text { border-color: #2ea86a !important; }

/* --- Strona po zakupie (podziękowanie / order-received) --- */
.woocommerce-order { max-width: 820px; margin: 0 auto; }
.woocommerce-order > .woocommerce-notice,
.woocommerce-thankyou-order-received {
	font-family: var(--wp--preset--font-family--heading, "Oxanium", sans-serif); font-weight: 800; font-size: clamp(24px, 3.4vw, 34px);
	color: #1e2d3b; text-align: center; margin: 0 0 8px; background: none; border: 0; padding: 0; box-shadow: none;
}
.woocommerce-order p { text-align: center; color: #55606b; }
.woocommerce-order ul.woocommerce-order-overview {
	display: flex; flex-wrap: wrap; gap: 12px; list-style: none; margin: 28px 0; padding: 0; border: 0;
}
.woocommerce-order ul.woocommerce-order-overview li {
	flex: 1 1 160px; background: #fff; border: 1px solid #eceff2; border-radius: 12px; padding: 16px 18px;
	text-transform: none; border-right: 1px solid #eceff2 !important; color: #6b7785; font-size: 13px;
}
.woocommerce-order ul.woocommerce-order-overview li strong { display: block; margin-top: 4px; font-family: var(--wp--preset--font-family--heading, "Oxanium", sans-serif); font-size: 16px; color: #1e2d3b; }
.woocommerce-order-details, .woocommerce-customer-details { margin-top: 32px; }
.woocommerce-order-details h2, .woocommerce-customer-details h2 { font-family: var(--wp--preset--font-family--heading, "Oxanium", sans-serif); font-weight: 800; font-size: 20px; margin: 0 0 14px; }
.woocommerce-order table.shop_table, .woocommerce-customer-details address {
	background: #fff; border: 1px solid #eceff2 !important; border-radius: 14px; overflow: hidden; padding: 0;
}
.woocommerce-customer-details address { padding: 18px; font-style: normal; line-height: 1.7; }
.woocommerce-order table.shop_table th, .woocommerce-order table.shop_table td { padding: 14px 16px; border-top: 1px solid #f0f3f6; }

/* Białe pole pod stopką na krótkich stronach (kasa/podziękowanie) — tło spójne */
.kanwa-checkout { min-height: 55vh; }
html, body { background: #fafbfc; }

/* ==========================================================================
   RESPONSYWNOŚĆ
   ========================================================================== */
@media (max-width: 860px) {
	.woocommerce-cart .woocommerce { grid-template-columns: 1fr; gap: 24px; }
	.woocommerce-checkout form.checkout.woocommerce-checkout { grid-template-columns: 1fr; gap: 24px; }
	.kanwa-co-right { grid-column: 1; position: static; }
}
/* Tablet / mobile: panel filtrów jako wysuwany z dołu (bottom-sheet) */
@media (max-width: 1024px) {
	.kanwa-shop__wrap { grid-template-columns: 1fr; gap: 0; }
	.kanwa-mfilter { display: block; margin: 0 0 18px; }
	.kanwa-mfilter__btn {
		display: inline-flex; align-items: center; gap: 8px; width: 100%; justify-content: center;
		padding: 13px 20px; border: 1px solid #d7dde3; border-radius: 12px; background: #fff; cursor: pointer;
		font-family: var(--wp--preset--font-family--heading, "Oxanium", sans-serif); font-weight: 700; font-size: 15px; color: #1e2d3b;
	}
	.kanwa-mfilter__btn svg { width: 18px; height: 18px; }
	/* ukryj domyślne sortowanie/licznik nad listą (sort przeniesiony do panelu) */
	.woocommerce .woocommerce-ordering, .woocommerce .woocommerce-result-count { display: none; }

	.kanwa-shop__side {
		position: fixed; left: 0; right: 0; bottom: 0; top: auto; z-index: 100001;
		max-height: 85vh; overflow-y: auto; overflow-x: hidden; background: #fff; border-radius: 20px 20px 0 0;
		transform: translateY(100%); transition: transform .32s cubic-bezier(.4,0,.2,1);
		box-shadow: 0 -14px 44px rgba(0,0,0,.22); padding: 0; box-sizing: border-box;
	}
	.kanwa-shop__side.is-open { transform: translateY(0); }
	.kanwa-shop__side, .kanwa-shop__side * { box-sizing: border-box !important; }
	.kanwa-shop__side .kanwa-shopside { flex-direction: column; padding: 0 16px 26px !important; width: 100% !important; max-width: 100% !important; margin: 0 !important; gap: 14px; }
	.kanwa-shop__side .kanwa-shopside__box { width: 100% !important; max-width: 100% !important; margin: 0 !important; }
	.kanwa-shopside__handle {
		display: block; position: relative; text-align: center;
		background: #fff; padding: 20px 56px 16px; margin: 0; border-bottom: 1px solid #eceff2; border-radius: 20px 20px 0 0;
		font-family: var(--wp--preset--font-family--heading, "Oxanium", sans-serif); font-weight: 800; font-size: 17px; color: #1e2d3b;
	}
	.kanwa-shopside__handle > span { display: block; }
	.kanwa-shopside__close { position: absolute; top: 14px; right: 16px; background: #f1f5f8; border: 0; width: 34px; height: 34px; border-radius: 50%; font-size: 22px; line-height: 1; color: #55606b; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
	/* sortowanie: dropdown pełna szerokość, wyrównany do lewej */
	.kanwa-shopside__sort { display: block !important; }
	.kanwa-shopside__sort .woocommerce-ordering { display: block !important; margin: 8px 0 0 !important; width: 100% !important; float: none !important; text-align: left !important; }
	.kanwa-shopside__sort .kanwa-select { display: block !important; width: 100% !important; float: none !important; }
	.kanwa-shopside__sort .kanwa-select__btn { width: 100% !important; justify-content: space-between; text-align: left; }
	.kanwa-filter-overlay { display: block; position: fixed; inset: 0; z-index: 100000; background: rgba(12,21,29,.5); opacity: 0; pointer-events: none; transition: opacity .3s; }
	.kanwa-filter-overlay.is-open { opacity: 1; pointer-events: auto; }

	.woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
	.single-product div.product > .woocommerce-product-gallery { flex: 1 1 100%; max-width: 100%; }
	.single-product div.product > .summary { flex: 1 1 100%; }
	.single-product .related.products ul.products, .single-product .up-sells ul.products { grid-template-columns: repeat(2, 1fr) !important; }
	.woocommerce-account .woocommerce .col2-set, .woocommerce .u-columns { grid-template-columns: 1fr; }
}

/* Telefon: POJEDYNCZE kafelki (1 na wiersz) — zdjęcie na górze, tytuł, cena, przycisk */
@media (max-width: 600px) {
	.woocommerce ul.products, .woocommerce-page ul.products { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; gap: 14px; }
	.woocommerce ul.products li.product { flex-direction: column; }
	.woocommerce ul.products li.product > a:first-child { display: flex; flex-direction: column; }
	.woocommerce ul.products li.product img { height: 240px !important; width: 100% !important; padding: 20px; }
	.woocommerce ul.products li.product .woocommerce-loop-product__title { min-height: 0; padding: 16px 18px 2px; font-size: 16px; }
	.woocommerce ul.products li.product .price { padding: 0 18px 14px; font-size: 20px; }
	.woocommerce ul.products li.product .button,
	.woocommerce ul.products li.product .kanwa-ask-btn { margin: 0 18px 18px; }
	.single-product .related.products ul.products, .single-product .up-sells ul.products { grid-template-columns: 1fr !important; }
	.kanwa-cart-drawer { width: 100%; max-width: 100%; }
}

/* Pływający przycisk filtrów (mobile, po zjechaniu poza pasek) */
.kanwa-filter-fab { display: none; }
@media (max-width: 1024px) {
	.kanwa-filter-fab {
		position: fixed; top: calc(var(--kanwa-header-h, 70px) + 12px); left: 14px; z-index: 9000;
		width: 50px; height: 50px; border-radius: 14px; border: 1px solid rgba(255,255,255,.5);
		background: rgba(255,255,255,.65); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
		color: var(--wp--preset--color--primary, #0297f1); cursor: pointer;
		box-shadow: 0 8px 24px rgba(30,45,59,.18); align-items: center; justify-content: center;
		opacity: 0; transform: translateY(-8px) scale(.9); pointer-events: none; transition: opacity .25s, transform .25s;
	}
	.kanwa-filter-fab.is-visible { display: flex; opacity: 1; transform: translateY(0) scale(1); pointer-events: auto; }
	.kanwa-filter-fab svg { width: 22px; height: 22px; }
}

/* Konto: tytuł „MOJE KONTO" wyśrodkowany i mniejszy na telefonie */
@media (max-width: 600px) {
	body.woocommerce-account .kanwa-section-title,
	body.woocommerce-account h1.wp-block-post-title,
	body.woocommerce-account .wp-block-post-title,
	body.woocommerce-account .entry-title { text-align: center !important; font-size: clamp(26px, 9vw, 40px) !important; word-break: break-word; }
	body.woocommerce-account .woocommerce > h2, body.woocommerce-account .u-columns > .col-1 > h2, body.woocommerce-account .u-columns > .col-2 > h2 { text-align: center; }
}

/* Navbar mobilny: badge koszyka jako mała plakietka na ikonie */
.kanwa-iconbtn--cart { position: relative; overflow: visible; }
.kanwa-iconbtn--cart .kanwa-cart__count {
	position: absolute; top: -3px; right: -3px; min-width: 17px; height: 17px; padding: 0 4px;
	display: flex; align-items: center; justify-content: center; border-radius: 999px;
	background: var(--wp--preset--color--primary, #0297f1); color: #fff; font-size: 10px; font-weight: 700; font-style: normal; line-height: 1;
	border: 2px solid #fff;
}
