/* =========================================================================
   Cheval — style główne
   ========================================================================= */

*, *::before, *::after { box-sizing: border-box; }

body {
	margin: 0;
	background: var(--c-bg);
	color: var(--c-ink);
	font-family: var(--f-body);
	font-size: var(--fs-base);
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; display: block; }

a { color: inherit; text-decoration: none; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible {
	outline: 2px solid var(--c-navy-soft);
	outline-offset: 2px;
}

h1, h2, h3, h4 {
	font-family: var(--f-display);
	color: var(--c-ink);
	line-height: 1.15;
	margin: 0;
	text-wrap: balance;
}

.wrap {
	max-width: var(--wrap);
	margin-inline: auto;
	padding-inline: var(--gutter);
}

.section { padding-block: var(--section-y); }
.section--alt { background: var(--c-bg-alt); }
.section--tight { padding-block-start: 0; }

.section__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 28px;
	flex-wrap: wrap;
}
.section__head h2 { font-size: var(--fs-3xl); font-weight: 700; }
.section__more { font-size: var(--fs-sm); color: var(--c-ink-2); border-bottom: 1px solid var(--c-rule-strong); }
.section__more:hover { color: var(--c-navy); border-color: var(--c-navy); }

/* --- Przyciski ---------------------------------------------------------- */

.btn,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.wp-element-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 13px 26px;
	background: var(--c-navy);
	color: #fff;
	font-family: var(--f-body);
	font-size: var(--fs-sm);
	font-weight: 600;
	line-height: 1;
	border: 0;
	border-radius: 999px;
	cursor: pointer;
	transition: background var(--dur) var(--ease);
}
.btn:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover { background: var(--c-navy-dark); color: #fff; }

.btn--ghost {
	background: transparent;
	color: var(--c-navy);
	border: 1px solid var(--c-rule-strong);
}
.btn--ghost:hover { background: var(--c-bg-alt); color: var(--c-navy); }

/* --- Nagłówek ----------------------------------------------------------- */

.site-header { border-bottom: 1px solid var(--c-rule); background: var(--c-bg); position: relative; z-index: 20; }
.site-header__inner {
	display: flex;
	align-items: center;
	gap: 22px;
	min-height: 100px;
}

.site-brand { font-family: var(--f-display); font-weight: 700; font-size: var(--fs-lg); letter-spacing: .02em; color: var(--c-navy); white-space: nowrap; }
.site-brand img { max-height: 42px; width: auto; }

.nav-primary { flex: 1 1 auto; }
.nav-primary > ul { display: flex; gap: 20px; margin: 0; padding: 0; list-style: none; flex-wrap: nowrap; }
.nav-primary > ul > li > a { white-space: nowrap; }
.nav-primary a { font-size: var(--fs-sm); font-weight: 500; color: var(--c-ink); padding-block: 6px; border-bottom: 2px solid transparent; }
.nav-primary a:hover,
.nav-primary .current-menu-item > a { color: var(--c-navy); border-color: var(--c-navy); }

.header-tools { display: flex; align-items: center; gap: 14px; margin-left: auto; }

.header-search { position: relative; }
.header-search input[type="search"] {
	width: 190px;
	padding: 9px 38px 9px 14px;
	font: inherit;
	font-size: var(--fs-sm);
	color: var(--c-ink);
	background: var(--c-bg-alt);
	border: 1px solid transparent;
	border-radius: 999px;
}
.header-search input[type="search"]:focus { background: #fff; border-color: var(--c-rule-strong); }
.header-search button {
	position: absolute; right: 4px; top: 50%; transform: translateY(-50%);
	background: none; border: 0; padding: 6px; cursor: pointer; color: var(--c-muted); line-height: 0;
}

.icon-link { position: relative; color: var(--c-ink); padding: 6px; line-height: 0; }
.icon-link:hover { color: var(--c-navy); }
.icon-link__count {
	position: absolute; top: -2px; right: -4px;
	min-width: 17px; height: 17px; padding: 0 4px;
	display: grid; place-items: center;
	background: var(--c-navy); color: #fff;
	font-size: 10px; font-weight: 700; border-radius: 999px;
}

.nav-toggle { display: none; background: none; border: 0; padding: 8px; cursor: pointer; color: var(--c-ink); }

/* --- Hero --------------------------------------------------------------- */

.hero { position: relative; background: var(--c-bg-alt); overflow: hidden; }
.hero__inner { position: relative; display: grid; align-content: center; min-height: clamp(420px, 38vw, 560px); }
.hero__media { position: absolute; inset: 0; }
.hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: center 38%; }
.hero__media::after {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(90deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.86) 38%, rgba(255,255,255,0) 70%);
}
.hero__content { position: relative; max-width: 30ch; padding-block: 48px; }
.hero__title { font-size: var(--fs-hero); font-weight: 700; letter-spacing: -.01em; color: var(--c-navy); }
.hero__text { margin: 18px 0 28px; color: var(--c-ink-2); font-size: var(--fs-lg); }

/* --- Kafle kategorii ---------------------------------------------------- */

.cat-tiles {
	display: grid;
	/* Liczba kolumn idzie z liczby kafli ustawionych w panelu — patrz front-page.php. */
	grid-template-columns: repeat(var(--kafle, 5), 1fr);
	gap: 16px;
}
.cat-tile {
	position: relative;
	display: block;
	aspect-ratio: 4 / 5;
	max-width: 100%;
	border-radius: var(--radius-lg);
	overflow: hidden;
	background: var(--c-navy);
	box-shadow: var(--shadow-card);
}
.cat-tile img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s var(--ease); }
.cat-tile:hover img { transform: scale(1.04); }
/* Przyciemnienie pod podpisem nakładamy tylko wtedy, gdy kafel ma zdjęcie —
   na pustym kaflu dawało brudny szary gradient zamiast czystego granatu. */
.cat-tile:has(img)::after {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(20,26,62,0) 45%, rgba(20,26,62,.72) 100%);
}
.cat-tile__label {
	position: absolute; left: 0; right: 0; bottom: 18px;
	z-index: 1; text-align: center;
	font-family: var(--f-display); font-weight: 600; font-size: var(--fs-xl); color: #fff;
	text-shadow: 0 1px 12px rgba(20,26,62,.5);
	padding-inline: 10px;
}

/* --- Pas marek ---------------------------------------------------------- */

.brands { display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
.brands img { max-height: 46px; width: auto; opacity: .8; transition: opacity var(--dur) var(--ease); }
.brands a:hover img { opacity: 1; }

/* --- Siatka produktów --------------------------------------------------- */

.woocommerce ul.products,
ul.products {
	display: grid;
	grid-template-columns: repeat(var(--cols, 5), 1fr);
	gap: var(--gap);
	margin: 0;
	padding: 0;
	list-style: none;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { content: none; }

ul.products li.product {
	width: auto !important;
	margin: 0 !important;
	float: none !important;
	display: flex;
	flex-direction: column;
	background: var(--c-bg-card);
	border: 1px solid var(--c-rule);
	border-radius: var(--radius-lg);
	overflow: hidden;
	transition: box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
ul.products li.product:hover { border-color: var(--c-rule-strong); box-shadow: var(--shadow); }

.card__media { position: relative; aspect-ratio: 1 / 1; background: #fff; }
.card__media img { width: 100%; height: 100%; object-fit: contain; padding: 14px; }

.card__badges { position: absolute; top: 10px; left: 10px; display: grid; gap: 6px; z-index: 1; }
.card__badge {
	font-size: var(--fs-xs); font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
	padding: 4px 9px; border-radius: 999px; color: #fff; background: var(--c-sale);
}
.card__badge--new { background: var(--c-navy); }

.card__body { display: flex; flex-direction: column; gap: 6px; padding: 14px 16px 18px; flex: 1 1 auto; }
.card__brand { font-size: var(--fs-xs); color: var(--c-muted); letter-spacing: .04em; text-transform: uppercase; }
.card__title { font-family: var(--f-display); font-size: var(--fs-sm); font-weight: 600; line-height: 1.35; }
.card__title a:hover { color: var(--c-navy); }
.card__rating { display: flex; align-items: center; gap: 6px; font-size: var(--fs-xs); color: var(--c-muted); }
.card__price { margin-top: auto; padding-top: 8px; font-family: var(--f-display); font-weight: 700; font-size: var(--fs-lg); color: var(--c-navy); }
.card__price del { font-weight: 500; font-size: var(--fs-sm); color: var(--c-muted); margin-right: 6px; }
.card__price ins { text-decoration: none; color: var(--c-sale); }

/* gwiazdki */
.stars { display: inline-flex; gap: 1px; color: var(--c-star); font-size: 13px; line-height: 1; }
.stars span { opacity: .28; }
.stars span.on { opacity: 1; }

/* --- Stopka ------------------------------------------------------------- */

.site-footer { background: var(--c-navy); color: #fff; margin-top: var(--section-y); }
.site-footer a { color: rgba(255,255,255,.78); }
.site-footer a:hover { color: #fff; }

.footer-cols {
	display: grid;
	grid-template-columns: 1.4fr repeat(3, 1fr);
	gap: 32px;
	padding-block: 56px 40px;
}
.footer-col h3 { font-size: var(--fs-sm); font-weight: 600; color: #fff; margin-bottom: 14px; letter-spacing: .02em; }
.footer-col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; font-size: var(--fs-sm); }
.footer-brand { font-family: var(--f-display); font-weight: 700; font-size: var(--fs-lg); color: #fff; margin-bottom: 12px; }
.footer-note { font-size: var(--fs-sm); color: rgba(255,255,255,.62); max-width: 34ch; }

.footer-bottom {
	border-top: 1px solid rgba(255,255,255,.14);
	padding-block: 18px 26px;
	display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap;
	font-size: var(--fs-xs); color: rgba(255,255,255,.62);
}

/* --- Strony WooCommerce ------------------------------------------------- */

.page-head { padding-block: 36px 8px; }
.page-head h1 { font-size: var(--fs-3xl); font-weight: 700; }
.page-head .woocommerce-breadcrumb { font-size: var(--fs-xs); color: var(--c-muted); margin-bottom: 10px; }
.page-head .term-description { color: var(--c-ink-2); max-width: 68ch; margin-top: 10px; }

.woocommerce-result-count, .woocommerce-ordering { font-size: var(--fs-sm); }

.entry-content { max-width: 72ch; }
.entry-content h2 { font-size: var(--fs-2xl); margin-top: 1.6em; }
.entry-content p { margin: 0 0 1em; color: var(--c-ink-2); }

/* --- Baner promocyjny --------------------------------------------------- */

.promo {
	position: relative;
	border-radius: var(--radius-lg);
	overflow: hidden;
	background: var(--c-navy);
	min-height: 400px;
	display: flex;
	align-items: center;
}
.promo__media { position: absolute; inset: 0; }
.promo__media img { width: 100%; height: 100%; object-fit: cover; object-position: 70% 28%; }
.promo__media::after {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(90deg, rgba(27,33,81,.96) 0%, rgba(27,33,81,.86) 38%, rgba(27,33,81,0) 78%);
}
.promo__body { position: relative; z-index: 1; max-width: 46%; padding: 48px; color: #fff; }
.promo__title { font-family: var(--f-display); font-size: var(--fs-2xl); font-weight: 600; margin: 0 0 12px; color: #fff; }
.promo__text { margin: 0 0 24px; color: rgba(255,255,255,.88); }
.promo .btn { background: #fff; color: var(--c-navy); }
.promo .btn:hover { background: rgba(255,255,255,.88); }

/* --- Wpisy bloga -------------------------------------------------------- */

.posts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.post-card { display: flex; flex-direction: column; }
.post-card__media {
	position: relative; display: block; aspect-ratio: 3 / 2;
	border-radius: var(--radius-lg); overflow: hidden; background: var(--c-bg-alt);
}
.post-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s var(--ease); }
.post-card:hover .post-card__media img { transform: scale(1.04); }
.post-card__date {
	position: absolute; left: 14px; bottom: 14px; z-index: 1;
	font-size: var(--fs-xs); color: #fff; text-shadow: 0 1px 8px rgba(20,26,62,.6);
}
.post-card__body { padding-top: 16px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.post-card__title { font-family: var(--f-display); font-size: var(--fs-lg); font-weight: 600; margin: 0; }
.post-card__title a { color: var(--c-navy); }
.post-card__text { margin: 0; color: var(--c-ink-2); font-size: var(--fs-sm); }
.post-card__more { margin-top: auto; font-weight: 600; font-size: var(--fs-sm); color: var(--c-navy); }

/* --- Rozwijane podmenu ---------------------------------------------------- */

.nav-primary li { position: relative; }
.nav-primary .sub-menu {
	position: absolute;
	top: 100%;
	left: -14px;
	z-index: 30;
	display: block;
	min-width: 220px;
	padding: 10px 0;
	margin: 0;
	flex-direction: column;
	gap: 0;
	background: #fff;
	border: 1px solid var(--c-rule);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow);
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity var(--dur) var(--ease), transform var(--dur) var(--ease), visibility var(--dur);
}
.nav-primary li:hover > .sub-menu,
.nav-primary li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: none;
}
.nav-primary .sub-menu { list-style: none; }
.nav-primary .sub-menu li { width: 100%; list-style: none; }
.nav-primary .sub-menu a {
	display: block;
	padding: 8px 18px;
	border: 0;
	white-space: nowrap;
	color: var(--c-ink-2);
}
.nav-primary .sub-menu a:hover { background: var(--c-bg-alt); color: var(--c-navy); border: 0; }
.nav-primary .menu-item-has-children > a::after {
	content: "";
	display: inline-block;
	width: 5px; height: 5px;
	margin-left: 6px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: translateY(-2px) rotate(45deg);
}

/* --- Listing: nagłówek ze zdjęciem ---------------------------------------- */

.listing-hero { position: relative; background: var(--c-bg-alt); overflow: hidden; }
.listing-hero__media { position: absolute; inset: 0 0 0 38%; }
.listing-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.listing-hero__media::after {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(90deg, var(--c-bg-alt) 0%, rgba(244,245,248,.82) 34%, rgba(244,245,248,0) 72%);
}
.listing-hero__inner { position: relative; display: grid; align-content: center; min-height: 300px; padding-block: 40px; }
.listing-hero--pusty .listing-hero__inner { min-height: 0; padding-block: 32px; }
.listing-hero__tresc { max-width: 34ch; }
.listing-hero__tresc h1 { font-size: var(--fs-3xl); font-weight: 700; color: var(--c-navy); margin-bottom: 12px; }
.listing-hero__opis p { margin: 0; color: var(--c-ink-2); }
.listing-hero .woocommerce-breadcrumb { font-size: var(--fs-sm); color: var(--c-muted); margin-bottom: 10px; }
.listing-hero .woocommerce-breadcrumb a { color: var(--c-muted); }
.listing-hero .woocommerce-breadcrumb a:hover { color: var(--c-navy); }

/* --- Listing: dwie kolumny ------------------------------------------------ */

.listing { display: grid; grid-template-columns: 220px 1fr; gap: 48px; align-items: start; }
.listing__tresc { min-width: 0; }
.listing__tresc ul.products { --cols: 4; }

.filtr { margin-bottom: 32px; }
.filtr__tytul { font-family: var(--f-display); font-size: var(--fs-xl); font-weight: 600; color: var(--c-navy); margin-bottom: 14px; }
.filtr__kategorie, .filtr__lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.filtr__kategorie li { display: flex; justify-content: space-between; gap: 10px; font-size: var(--fs-sm); }
.filtr__kategorie a { color: var(--c-ink-2); }
.filtr__kategorie a:hover, .filtr__kategorie .jest a { color: var(--c-navy); font-weight: 600; }
.filtr__kategorie span { color: var(--c-muted); font-size: var(--fs-xs); }
.filtr__lista label { display: flex; align-items: center; gap: 10px; font-size: var(--fs-sm); color: var(--c-ink-2); cursor: pointer; }
.filtr__lista input { width: 16px; height: 16px; accent-color: var(--c-navy); }
.filtr__cena { display: flex; align-items: center; gap: 8px; }
.filtr__cena input { width: 100%; min-width: 0; padding: 8px 10px; font: inherit; font-size: var(--fs-sm); border: 1px solid var(--c-rule-strong); border-radius: var(--radius); }
.filtr__submit { width: 100%; }
.filtr__reset { display: block; margin-top: 10px; text-align: center; font-size: var(--fs-sm); color: var(--c-muted); }
.filtr__reset:hover { color: var(--c-navy); }

.pomoc { margin-top: 32px; padding: 20px; background: var(--c-bg-alt); border-radius: var(--radius-lg); }
.pomoc__tytul { margin: 0 0 4px; font-weight: 600; color: var(--c-navy); font-size: var(--fs-sm); }
.pomoc__tekst { margin: 0 0 14px; font-size: var(--fs-sm); color: var(--c-ink-2); }
.pomoc .btn { width: 100%; background: #fff; }

/* --- Przycisk „Dodaj do koszyka” na kafelku -------------------------------- */

.card__cart, ul.products a.button { margin-top: 12px; width: 100%; padding: 10px 16px; font-size: var(--fs-xs); }

/* --- Stopka: logo i ikony -------------------------------------------------- */

.footer-brand img { max-height: 40px; width: auto; }
.footer-social { display: flex; gap: 12px; margin-top: 18px; }
.footer-social a { color: rgba(255,255,255,.7); line-height: 0; }
.footer-social a:hover { color: #fff; }

/* --- Pasek nad siatką: liczba wyników i sortowanie ------------------------ */

.listing__tresc { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 20px; }
.listing__tresc > * { width: 100%; }
.listing__tresc .woocommerce-result-count {
	width: auto; margin: 0 auto 0 0; padding: 0; float: none;
	font-size: var(--fs-sm); color: var(--c-muted);
}
.listing__tresc .woocommerce-ordering { width: auto; margin: 0 0 0 auto; float: none; }
.listing__tresc .woocommerce-ordering select {
	padding: 9px 12px; font: inherit; font-size: var(--fs-sm); color: var(--c-ink);
	background: #fff; border: 1px solid var(--c-rule-strong); border-radius: var(--radius);
}

/* --- Karta produktu ------------------------------------------------------- */

.single-product div.product {
	display: grid;
	grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr);
	gap: 56px;
	align-items: start;
}
.single-product div.product > .woocommerce-product-gallery { grid-column: 1; }
.single-product div.product > .summary { grid-column: 2; margin: 0; }
.single-product div.product > .woocommerce-tabs,
.single-product div.product > .related,
.single-product div.product > .up-sells,
.single-product div.product > .woocommerce-product-details__short-description { grid-column: 1 / -1; }

.woocommerce div.product div.images { width: auto; float: none; margin: 0; }
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
	border: 1px solid var(--c-navy-soft);
	border-radius: var(--radius-lg);
	overflow: hidden;
	background: #fff;
}
.woocommerce div.product div.images img { border-radius: 0; }
.woocommerce div.product div.images .flex-control-thumbs { display: flex; gap: 12px; margin: 14px 0 0; padding: 0; }
.woocommerce div.product div.images .flex-control-thumbs li { width: 84px; margin: 0; list-style: none; }
.woocommerce div.product div.images .flex-control-thumbs img {
	border: 1px solid var(--c-rule); border-radius: var(--radius); opacity: 1;
}
.woocommerce div.product div.images .flex-control-thumbs img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs img:hover { border-color: var(--c-navy); }

.pdp__marka { font-size: var(--fs-lg); font-weight: 600; color: var(--c-navy); margin-bottom: 4px; }
.woocommerce div.product .product_title {
	font-family: var(--f-display); font-size: var(--fs-2xl); font-weight: 700;
	color: var(--c-navy); margin: 0 0 10px;
}
.pdp__meta { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 18px; }
.pdp__ocena { display: inline-flex; align-items: center; gap: 8px; font-size: var(--fs-xs); color: var(--c-muted); }
.pdp__ocena .stars { color: var(--c-rule-strong); letter-spacing: 1px; }
.pdp__ocena .stars .on { color: var(--c-star); }
.pdp__sku { font-size: var(--fs-xs); color: var(--c-muted); }

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	font-family: var(--f-display); font-size: var(--fs-2xl); font-weight: 700;
	color: var(--c-navy); margin: 0 0 16px;
}
.woocommerce div.product p.price del { font-size: var(--fs-lg); font-weight: 500; color: var(--c-muted); margin-right: 8px; }
.woocommerce div.product p.price ins { text-decoration: none; color: var(--c-sale); }

.woocommerce-product-details__short-description { color: var(--c-ink-2); margin-bottom: 22px; }
.woocommerce-product-details__short-description p { margin: 0 0 .7em; }

.woocommerce div.product form.cart { margin: 0; }
.woocommerce div.product form.cart .variations { margin-bottom: 14px; border: 0; }
.woocommerce div.product form.cart .variations td,
.woocommerce div.product form.cart .variations th { display: block; padding: 0; border: 0; text-align: left; }
.woocommerce div.product form.cart .variations label {
	font-family: var(--f-display); font-size: var(--fs-lg); font-weight: 600; color: var(--c-navy);
	margin: 14px 0 8px; display: block;
}
.woocommerce div.product form.cart .variations select {
	padding: 10px 12px; font: inherit; font-size: var(--fs-sm);
	border: 1px solid var(--c-rule-strong); border-radius: var(--radius); background: #fff; min-width: 200px;
}
.woocommerce div.product form.cart .reset_variations { font-size: var(--fs-xs); color: var(--c-muted); }

.pdp__rozmiarowka { display: inline-block; margin-top: 10px; font-size: var(--fs-sm); color: var(--c-ink-2); border-bottom: 1px solid var(--c-rule-strong); }
.pdp__rozmiarowka:hover { color: var(--c-navy); border-color: var(--c-navy); }

.pdp__stan { margin: 16px 0 2px; font-size: var(--fs-sm); font-weight: 600; color: var(--c-stock); }
.pdp__stan--brak { color: var(--c-nostock); }
.pdp__wysylka { margin: 0 0 16px; font-size: var(--fs-sm); color: var(--c-muted); }

.woocommerce div.product form.cart .quantity { margin-right: 12px; }
.woocommerce div.product form.cart .quantity input.qty {
	width: 74px; padding: 12px 8px; text-align: center; font: inherit;
	border: 1px solid var(--c-rule-strong); border-radius: var(--radius);
}
.woocommerce div.product form.cart .single_add_to_cart_button { padding: 14px 30px; font-size: var(--fs-sm); }

.pdp__zaufanie {
	margin-top: 24px; padding: 20px; display: grid; gap: 12px;
	background: var(--c-bg-alt); border-radius: var(--radius-lg);
}
.pdp__zaufanie-punkt { display: flex; align-items: center; gap: 12px; font-size: var(--fs-sm); color: var(--c-ink-2); }
.pdp__zaufanie-punkt svg { flex: none; color: var(--c-navy); }

.woocommerce div.product .woocommerce-tabs { margin-top: 56px; }
.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex; gap: 36px; margin: 0 0 28px; padding: 0;
	border-bottom: 1px solid var(--c-rule);
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: none; border: 0; border-radius: 0; margin: 0; padding: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	display: block; padding: 0 0 14px; font-weight: 600; font-size: var(--fs-sm);
	color: var(--c-muted); border-bottom: 2px solid transparent;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover { color: var(--c-navy); border-color: var(--c-navy); }
.woocommerce div.product .woocommerce-tabs .panel { margin: 0; padding: 0; max-width: 78ch; }
.woocommerce div.product .woocommerce-tabs .panel h2 { font-size: var(--fs-xl); margin-bottom: .6em; }
.woocommerce div.product .woocommerce-tabs table.shop_attributes { border: 0; }
.woocommerce div.product .woocommerce-tabs table.shop_attributes th,
.woocommerce div.product .woocommerce-tabs table.shop_attributes td {
	padding: 10px 14px; border: 0; border-bottom: 1px solid var(--c-rule); font-size: var(--fs-sm); font-style: normal;
}
.woocommerce div.product .woocommerce-tabs table.shop_attributes th { color: var(--c-muted); font-weight: 500; width: 40%; }

.woocommerce div.product .related > h2,
.woocommerce div.product .up-sells > h2 {
	font-family: var(--f-display); font-size: var(--fs-3xl); font-weight: 700; margin: 56px 0 28px;
}
.woocommerce div.product .related ul.products { --cols: 5; }

/* --- Newsletter ----------------------------------------------------------- */

.newsletter { display: grid; grid-template-columns: 1fr 1fr; gap: 32px 56px; align-items: center; }
.newsletter__tytul { font-family: var(--f-display); font-size: var(--fs-2xl); font-weight: 700; color: var(--c-navy); margin-bottom: 8px; }
.newsletter__opis { margin: 0; color: var(--c-ink-2); }
.newsletter__pole { display: flex; gap: 10px; }
.newsletter__pole input[type="email"] {
	flex: 1 1 auto; min-width: 0; padding: 13px 16px; font: inherit; font-size: var(--fs-sm);
	background: #fff; border: 1px solid var(--c-rule-strong); border-radius: 999px;
}
.newsletter__zgoda { display: flex; gap: 10px; margin-top: 12px; font-size: var(--fs-xs); color: var(--c-muted); }
.newsletter__zgoda input { margin-top: 2px; accent-color: var(--c-navy); }
.newsletter__zgoda a { border-bottom: 1px solid currentColor; }
.newsletter__komunikat { margin: 10px 0 0; font-size: var(--fs-sm); font-weight: 600; }
.newsletter__komunikat--ok { color: var(--c-stock); }
.newsletter__komunikat--blad { color: var(--c-nostock); }

.newsletter--stopka {
	/* Pas newslettera siedzi między dwiema liniami: własną górną
	   i tą, którą rysuje dolny pasek stopki. */
	margin-top: 36px;
	padding-block: 36px;
	border-top: 1px solid rgba(255,255,255,.14);
}
.newsletter--stopka .newsletter__tytul { color: #fff; }
.newsletter--stopka .newsletter__opis { color: rgba(255,255,255,.72); }
.newsletter--stopka .newsletter__zgoda { color: rgba(255,255,255,.6); }
.newsletter--stopka .newsletter__pole input[type="email"] { border-color: rgba(255,255,255,.22); background: rgba(255,255,255,.08); color: #fff; }
.newsletter--stopka .newsletter__pole input[type="email"]::placeholder { color: rgba(255,255,255,.5); }
.newsletter--stopka .btn { background: #fff; color: var(--c-navy); }
.newsletter--stopka .btn:hover { background: rgba(255,255,255,.85); }

/* --- Responsywność ------------------------------------------------------ */

@media (max-width: 1300px) {
	.nav-primary > ul { gap: 14px; }
	.nav-primary a { font-size: var(--fs-xs); }
	.header-search input[type="search"] { width: 150px; }
}

@media (max-width: 1100px) {
	ul.products { --cols: 4; }
}

@media (max-width: 900px) {
	.nav-primary { display: none; }
	.nav-toggle { display: block; order: -1; }
	.header-search input[type="search"] { width: 150px; }
	.cat-tiles { grid-template-columns: repeat(3, 1fr); }
	.listing { grid-template-columns: 1fr; gap: 28px; }
	.single-product div.product { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	.single-product div.product > .summary { grid-column: 1; }
	.newsletter { grid-template-columns: 1fr; }
	.woocommerce div.product .related ul.products { --cols: 3; }
	.listing__tresc ul.products { --cols: 3; }
	.listing-hero__media { inset: 0; }
	.listing-hero__media::after { background: linear-gradient(180deg, rgba(244,245,248,.94) 0%, rgba(244,245,248,.78) 100%); }
	.nav-primary .sub-menu { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: 0; min-width: 0; padding: 4px 0 0 12px; }
	.posts { grid-template-columns: repeat(2, 1fr); }
	.promo__body { max-width: none; padding: 32px; }
	.promo__media::after { background: linear-gradient(180deg, rgba(27,33,81,.92) 0%, rgba(27,33,81,.8) 100%); }
	ul.products { --cols: 3; }
	.footer-cols { grid-template-columns: 1fr 1fr; gap: 28px; }
}

@media (max-width: 600px) {
	.site-header__inner { min-height: 64px; gap: 12px; }
	.header-search { display: none; }
	.cat-tiles { grid-template-columns: repeat(2, 1fr); gap: 12px; }
	.listing__tresc ul.products { --cols: 2; }
	.woocommerce div.product .related ul.products { --cols: 2; }
	.woocommerce div.product .woocommerce-tabs ul.tabs { gap: 20px; overflow-x: auto; }
	.posts { grid-template-columns: 1fr; }
	.promo__body { padding: 24px; }
	ul.products { --cols: 2; gap: 14px; }
	.hero__content { max-width: none; padding-block: 36px; }
	.hero__media::after { background: linear-gradient(180deg, rgba(255,255,255,.94) 0%, rgba(255,255,255,.82) 55%, rgba(255,255,255,.7) 100%); }
	.footer-cols { grid-template-columns: 1fr; }
}

/* --- Galeria i przycisk: dopięcia ---------------------------------------- */

.woocommerce div.product div.images .woocommerce-product-gallery__image { display: block; }
.woocommerce div.product div.images .woocommerce-product-gallery__image img { width: 100%; height: auto; display: block; }
.woocommerce div.product form.cart .single_add_to_cart_button { background: var(--c-navy); color: #fff; }
.woocommerce div.product form.cart .single_add_to_cart_button:hover { background: var(--c-navy-dark); }
.woocommerce div.product form.cart .single_add_to_cart_button.disabled,
.woocommerce div.product form.cart .single_add_to_cart_button:disabled {
	background: var(--c-rule-strong); color: #fff; opacity: 1; cursor: not-allowed;
}

/* --- Kółka kolorów i kafelki rozmiarów ------------------------------------ */

.woocommerce div.product form.cart .variations select { display: none; }
.warianty { display: flex; flex-wrap: wrap; gap: 10px; }
.wariant {
	min-width: 48px;
	padding: 10px 14px;
	font: inherit;
	font-size: var(--fs-sm);
	font-weight: 500;
	color: var(--c-ink);
	background: #fff;
	border: 1px solid var(--c-rule-strong);
	border-radius: var(--radius);
	cursor: pointer;
	transition: border-color var(--dur) var(--ease), background var(--dur) var(--ease);
}
.wariant:hover { border-color: var(--c-navy); }
.wariant.jest { border-color: var(--c-navy); box-shadow: inset 0 0 0 1px var(--c-navy); font-weight: 600; }
.wariant.niedostepny {
	color: var(--c-rule-strong);
	border-color: var(--c-rule);
	cursor: not-allowed;
	background: linear-gradient(to top left, transparent calc(50% - 1px), var(--c-rule) 50%, transparent calc(50% + 1px));
}

.warianty--kolor { gap: 12px; }
.warianty--kolor .wariant {
	width: 30px; height: 30px; min-width: 0; padding: 0;
	border-radius: 999px;
	background: var(--kolor, #C9CCD8);
	border: 1px solid rgba(31,34,51,.18);
	box-shadow: none;
}
.warianty--kolor .wariant.jest {
	box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--c-navy);
	border-color: rgba(31,34,51,.28);
}
.warianty--kolor .wariant.niedostepny { opacity: .35; background: var(--kolor, #C9CCD8); }

/* --- Strona marki --------------------------------------------------------- */

.listing-hero__logo { margin-bottom: 14px; }
.listing-hero__logo img { max-height: 56px; width: auto; }

.brands a {
	display: block;
	padding: 6px 10px;
	border-radius: var(--radius);
	transition: background var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.brands a:hover { background: #fff; transform: translateY(-2px); }
.brands a:hover img { opacity: 1; }

/* --- Plakietka „Promocja!" ------------------------------------------------ */

/* WooCommerce rysuje tu zielonkawy owal ze swojego domyślnego motywu.
   Zamieniamy go na prostokątną plakietkę w tej samej czerwieni, co
   przecena w cenie — promocja ma być czytana jednym kolorem w sklepie. */
.woocommerce span.onsale {
	position: absolute;
	top: 14px;
	left: 14px;
	right: auto;
	z-index: 2;
	min-width: 0;
	min-height: 0;
	width: auto;
	height: auto;
	margin: 0;
	padding: 7px 12px;
	font-family: var(--f-body);
	font-size: var(--fs-xs);
	font-weight: 700;
	line-height: 1;
	letter-spacing: .03em;
	text-transform: uppercase;
	color: #fff;
	background: var(--c-sale);
	border-radius: var(--radius);
}

.single-product div.product { position: relative; }

/* --- Karta produktu: wykorzystanie prawej kolumny ------------------------- */

/* Domyślny arkusz WooCommerce narzuca opisowi szerokość 48% i oblewanie,
   przez co kolumna kończyła się w połowie siatki, a po prawej zostawała
   pusta przestrzeń. Siatka wyżej sama pilnuje proporcji. */
.woocommerce div.product div.summary {
	width: auto;
	max-width: none;
	float: none;
	clear: none;
}

/* Boks z dostawą i zwrotami wchodzi w to odzyskane miejsce — dwie kolumny,
   żeby nie ciągnął się w dół pod przyciskiem. */
.pdp__zaufanie {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px 22px;
}

@media (max-width: 1100px) {
	.pdp__zaufanie { grid-template-columns: minmax(0, 1fr); }
}

/* --- Moje konto ----------------------------------------------------------- */

/* Konto renderuje sie przez szablon strony, a ten trzyma tekst w kolumnie
   czytelnej szerokosci. Panel klienta ma korzystac z calej siatki. */
.woocommerce-account .entry-content { max-width: none; }
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content { width: auto; float: none; }

.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) {
	display: grid;
	grid-template-columns: 272px minmax(0, 1fr);
	gap: 48px;
	align-items: start;
}

/* WooCommerce wstawia przed menu pusty pojemnik na komunikaty - bez tego
   zajmowalby pierwsza komorke i rozpychal uklad. */
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.woocommerce-account .woocommerce-MyAccount-navigation { grid-column: 1; }
.woocommerce-account .woocommerce-MyAccount-content { grid-column: 2; }

.woocommerce-MyAccount-navigation ul {
	display: grid;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.woocommerce-MyAccount-navigation li { margin: 0; }
.woocommerce-MyAccount-navigation li a {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 13px 16px;
	font-size: var(--fs-sm);
	font-weight: 500;
	color: var(--c-ink-2);
	background: var(--c-bg-alt);
	border: 1px solid transparent;
	border-radius: var(--radius);
	transition: background var(--dur) var(--ease), color var(--dur) var(--ease), border-color var(--dur) var(--ease);
	--ikona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l2.9 6.3 6.9.8-5.1 4.7 1.4 6.8L12 17.2 5.9 20.6l1.4-6.8L2.2 9.1l6.9-.8z'/%3E%3C/svg%3E");
}
.woocommerce-MyAccount-navigation li a::before {
	content: "";
	flex: none;
	width: 18px;
	height: 18px;
	background: currentColor;
	-webkit-mask: var(--ikona) center / contain no-repeat;
	mask: var(--ikona) center / contain no-repeat;
}
.woocommerce-MyAccount-navigation li a:hover {
	color: var(--c-navy);
	background: #fff;
	border-color: var(--c-navy-soft);
}
.woocommerce-MyAccount-navigation li.is-active a {
	color: #fff;
	font-weight: 600;
	background: var(--c-navy);
	border-color: var(--c-navy);
}

.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--dashboard a {
	--ikona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 3h8v8H3zm10 0h8v8h-8zM3 13h8v8H3zm10 0h8v8h-8z'/%3E%3C/svg%3E");
}
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--orders a {
	--ikona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 2h12a1 1 0 0 1 1 1v19l-3-2-2 2-2-2-2 2-2-2-3 2V3a1 1 0 0 1 1-1zm2 5h8v2H8zm0 4h8v2H8z'/%3E%3C/svg%3E");
}
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--downloads a {
	--ikona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11 3h2v9.2l3.6-3.6L18 10l-6 6-6-6 1.4-1.4L11 12.2zM4 19h16v2H4z'/%3E%3C/svg%3E");
}
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--edit-address a {
	--ikona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5 7 13 7 13s7-8 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E");
}
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--edit-account a {
	--ikona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 12a5 5 0 1 0 0-10 5 5 0 0 0 0 10zm0 2c-5 0-9 2.5-9 5.5V22h18v-2.5c0-3-4-5.5-9-5.5z'/%3E%3C/svg%3E");
}
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--loyalty_reward a {
	--ikona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 7h-2.2a3 3 0 0 0-4.3-3.9L12 4.2l-1.5-1.1A3 3 0 0 0 6.2 7H4a1 1 0 0 0-1 1v3h8V7h2v4h8V8a1 1 0 0 0-1-1zM4 13h7v8H5a1 1 0 0 1-1-1zm9 0h7v7a1 1 0 0 1-1 1h-6z'/%3E%3C/svg%3E");
}
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a {
	--ikona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h5v-2H5V5h5zm5.6 3.6L14.2 8l3 3H9v2h8.2l-3 3 1.4 1.4L21 12z'/%3E%3C/svg%3E");
}

.woocommerce-MyAccount-content { min-width: 0; }
.woocommerce-MyAccount-content > p { color: var(--c-ink-2); }
.woocommerce-MyAccount-content > p:first-child {
	padding: 18px 22px;
	margin: 0 0 22px;
	background: var(--c-bg-alt);
	border-radius: var(--radius-lg);
	font-size: var(--fs-base);
}
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
	font-family: var(--f-display);
	font-size: var(--fs-lg);
	color: var(--c-navy);
	margin: 28px 0 14px;
}
.woocommerce-MyAccount-content table.shop_table {
	width: 100%;
	border: 1px solid var(--c-rule);
	border-radius: var(--radius-lg);
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
}
.woocommerce-MyAccount-content table.shop_table th,
.woocommerce-MyAccount-content table.shop_table td {
	padding: 14px 18px;
	font-size: var(--fs-sm);
	border: 0;
	border-bottom: 1px solid var(--c-rule);
	text-align: left;
}
.woocommerce-MyAccount-content table.shop_table th {
	font-weight: 600;
	color: var(--c-navy);
	background: var(--c-bg-alt);
}
.woocommerce-MyAccount-content table.shop_table tr:last-child td { border-bottom: 0; }

.woocommerce-account .woocommerce-MyAccount-content form .form-row { margin: 0 0 16px; }
.woocommerce-account label { font-size: var(--fs-sm); font-weight: 600; color: var(--c-navy); }
.woocommerce-account input.input-text,
.woocommerce-account select,
.woocommerce-account textarea {
	width: 100%;
	padding: 12px 14px;
	font: inherit;
	font-size: var(--fs-sm);
	color: var(--c-ink);
	background: #fff;
	border: 1px solid var(--c-rule-strong);
	border-radius: var(--radius);
}
.woocommerce-account input.input-text:focus,
.woocommerce-account select:focus,
.woocommerce-account textarea:focus { outline: 2px solid var(--c-navy-soft); outline-offset: 1px; }

@media (max-width: 880px) {
	.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
	}
	.woocommerce-account .woocommerce-MyAccount-navigation,
	.woocommerce-account .woocommerce-MyAccount-content { grid-column: 1; }
	.woocommerce-MyAccount-navigation ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* --- Kontakt -------------------------------------------------------------- */

/* Szablon strony trzyma tekst w waskiej kolumnie - kontakt ma dwie kolumny,
   wiec na tej stronie zdejmujemy ograniczenie szerokosci. */
.entry-content:has(.kontakt) { max-width: none; }

.kontakt {
	display: grid;
	grid-template-columns: 360px minmax(0, 1fr);
	gap: 56px;
	align-items: start;
}

.kontakt__firma {
	font-family: var(--f-display);
	font-size: var(--fs-xl);
	color: var(--c-navy);
	margin: 0 0 20px;
}

/* Reguła `.entry-content h2` jest bardziej szczegółowa niż `.kontakt__firma`
   i dokładała 1,6em odstępu nad nazwą firmy. Zbijamy go do wysokości, na
   której nazwa firmy równa się z nagłówkiem formularza w prawej kolumnie. */
.kontakt .kontakt__firma { margin-top: 32px; }

/* Wstęp nad siatką kontaktu — bez pełnego odstępu akapitowego pod spodem. */
.entry-content:has(.kontakt) > p { margin-bottom: 8px; }

.kontakt__pozycja {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 14px 0;
	border-bottom: 1px solid var(--c-rule);
}
.kontakt__pozycja:last-of-type { border-bottom: 0; }

.kontakt__ikona {
	flex: none;
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	color: var(--c-navy);
	background: var(--c-bg-alt);
	border-radius: 999px;
}

.kontakt__etykieta {
	display: block;
	font-size: var(--fs-xs);
	color: var(--c-muted);
	margin-bottom: 2px;
}
.kontakt__wartosc {
	display: block;
	font-size: var(--fs-sm);
	font-weight: 500;
	color: var(--c-ink);
	text-decoration: none;
}
a.kontakt__wartosc:hover { color: var(--c-navy); text-decoration: underline; }

.kontakt__mapa {
	margin-top: 24px;
	border-radius: var(--radius-lg);
	overflow: hidden;
	border: 1px solid var(--c-rule);
}
.kontakt__mapa iframe { display: block; width: 100%; height: 260px; border: 0; }

.kontakt__formularz {
	padding: 32px;
	background: var(--c-bg-alt);
	border-radius: var(--radius-lg);
}
.kontakt__formularz h2 {
	font-family: var(--f-display);
	font-size: var(--fs-xl);
	color: var(--c-navy);
	margin: 0 0 6px;
}
.kontakt__wstep { font-size: var(--fs-sm); color: var(--c-muted); margin: 0 0 22px; }

.kontakt__wiersz {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.kontakt__pole { display: block; margin-bottom: 16px; }
.kontakt__pole > span {
	display: block;
	font-size: var(--fs-sm);
	font-weight: 600;
	color: var(--c-navy);
	margin-bottom: 6px;
}
.kontakt__pole em { font-style: normal; color: var(--c-sale); }
.kontakt__pole input,
.kontakt__pole textarea {
	width: 100%;
	padding: 12px 14px;
	font: inherit;
	font-size: var(--fs-sm);
	color: var(--c-ink);
	background: #fff;
	border: 1px solid var(--c-rule-strong);
	border-radius: var(--radius);
}
.kontakt__pole textarea { resize: vertical; min-height: 140px; }
.kontakt__pole input:focus,
.kontakt__pole textarea:focus { outline: 2px solid var(--c-navy-soft); outline-offset: 1px; }

.kontakt__zgoda {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: var(--fs-xs);
	color: var(--c-ink-2);
	margin: 4px 0 20px;
}
.kontakt__zgoda input { margin-top: 2px; flex: none; }

/* Pole pułapka na roboty — musi istnieć w kodzie, ale nie może być widoczne. */
.kontakt__pulapka {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.kontakt__komunikat {
	padding: 12px 16px;
	margin: 0 0 18px;
	font-size: var(--fs-sm);
	border-radius: var(--radius);
}
.kontakt__komunikat--ok { color: #1E5B34; background: #E4F3E9; }
.kontakt__komunikat--blad { color: #8C2A1E; background: #FBE7E4; }

@media (max-width: 900px) {
	.kontakt { grid-template-columns: minmax(0, 1fr); gap: 32px; }
	.kontakt__wiersz { grid-template-columns: minmax(0, 1fr); }
	.kontakt__formularz { padding: 24px; }
}

/* --- Panel punktów (WPLoyalty) -------------------------------------------- */

/* Zakładki z kuponami wyłączone na życzenie. UWAGA: w darmowej wersji wtyczki
   wymiana punktów tworzy kupon, a to była jedyna lista, na której klient widział
   jego kod - po przejściu na PRO albo własny katalog nagród to przestaje mieć
   znaczenie. Żeby je przywrócić, wystarczy usunąć tę regułę. */
.wlr-user-reward-titles .wlr-coupons-title,
.wlr-user-reward-titles .wlr-coupons-expired-title { display: none; }

/* --- Zwroty ---------------------------------------------------------------- */

.zwroty__tytul {
	font-family: var(--f-display);
	font-size: var(--fs-xl);
	color: var(--c-navy);
	margin: 0 0 18px;
}

.zwroty__pusto { color: var(--c-ink-2); }

.zwroty__tabela { margin-bottom: 28px; }

.zwroty__status {
	display: inline-block;
	padding: 4px 10px;
	font-size: var(--fs-xs);
	font-weight: 600;
	border-radius: 999px;
	background: var(--c-bg-alt);
	color: var(--c-ink-2);
}
.zwroty__status--nowe { background: #E8EEFA; color: #23407E; }
.zwroty__status--zaakceptowane { background: #E4F3E9; color: #1E5B34; }
.zwroty__status--zwrocone { background: #E4F3E9; color: #1E5B34; }
.zwroty__status--odrzucone { background: #FBE7E4; color: #8C2A1E; }

.zwroty__info {
	margin-top: 32px;
	padding: 22px 26px;
	background: var(--c-bg-alt);
	border-radius: var(--radius-lg);
}
.zwroty__info h3 {
	font-family: var(--f-display);
	font-size: var(--fs-lg);
	color: var(--c-navy);
	margin: 0 0 10px;
}
.zwroty__info ol { margin: 0; padding-left: 20px; color: var(--c-ink-2); font-size: var(--fs-sm); }
.zwroty__info li { margin-bottom: 6px; }

.zwroty__wstep { color: var(--c-ink-2); font-size: var(--fs-sm); margin-bottom: 16px; }

.zwroty__pozycje { margin: 0 0 24px; padding: 0; list-style: none; }

.zwroty__pozycja {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 14px 16px;
	border: 1px solid var(--c-rule);
	border-radius: var(--radius);
	margin-bottom: 10px;
	background: #fff;
}
.zwroty__pozycja:has(input:checked) {
	border-color: var(--c-navy);
	box-shadow: inset 0 0 0 1px var(--c-navy);
}

.zwroty__zaznacz {
	display: flex;
	align-items: center;
	gap: 14px;
	cursor: pointer;
	min-width: 0;
}
.zwroty__zaznacz input { flex: none; }

.zwroty__miniatura { flex: none; width: 52px; }
.zwroty__miniatura img { display: block; width: 52px; height: 52px; object-fit: cover; border-radius: var(--radius); }

.zwroty__nazwa { display: block; min-width: 0; }
.zwroty__nazwa strong { display: block; font-size: var(--fs-sm); color: var(--c-ink); font-weight: 600; }
.zwroty__nazwa em { font-style: normal; font-size: var(--fs-xs); color: var(--c-muted); }

.zwroty__ilosc { flex: none; text-align: right; }
.zwroty__ilosc label { display: flex; align-items: center; gap: 8px; }
.zwroty__ilosc label > span { font-size: var(--fs-xs); color: var(--c-muted); }
.zwroty__ilosc input {
	width: 68px;
	padding: 8px 10px;
	font: inherit;
	font-size: var(--fs-sm);
	text-align: center;
	border: 1px solid var(--c-rule-strong);
	border-radius: var(--radius);
}
.zwroty__ilosc small { display: block; margin-top: 4px; font-size: var(--fs-xs); color: var(--c-muted); }

.zwroty__pole { display: block; margin-bottom: 16px; }
.zwroty__pole > span {
	display: block;
	font-size: var(--fs-sm);
	font-weight: 600;
	color: var(--c-navy);
	margin-bottom: 6px;
}
.zwroty__pole em { font-style: normal; color: var(--c-sale); }
.zwroty__pole select,
.zwroty__pole textarea {
	width: 100%;
	padding: 12px 14px;
	font: inherit;
	font-size: var(--fs-sm);
	color: var(--c-ink);
	background: #fff;
	border: 1px solid var(--c-rule-strong);
	border-radius: var(--radius);
}
.zwroty__pole textarea { resize: vertical; }

.zwroty__zgoda {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: var(--fs-xs);
	color: var(--c-ink-2);
	margin: 4px 0 20px;
}
.zwroty__zgoda input { margin-top: 2px; flex: none; }

.zwroty__cta { margin-top: 20px; }

.zwroty-ogolny { max-width: 720px; }

.koszyk__zwroty {
	margin-top: 18px;
	font-size: var(--fs-sm);
	color: var(--c-muted);
}
.koszyk__zwroty a { color: var(--c-navy); text-decoration: underline; }

/* Ikona zakładki „Zwroty” w menu konta. */
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--zwroty a {
	--ikona: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5V2L7 6l5 4V7a6 6 0 1 1-6 6H4a8 8 0 1 0 8-8z'/%3E%3C/svg%3E");
}

@media (max-width: 700px) {
	.zwroty__pozycja { flex-direction: column; align-items: stretch; gap: 12px; }
	.zwroty__ilosc { text-align: left; }
}

/* --- Uwagi w koszyku ------------------------------------------------------- */

.koszyk__uwagi {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	margin-top: 24px;
	padding: 22px 24px;
	background: var(--c-bg-alt);
	border-radius: var(--radius-lg);
}

.koszyk__uwaga { display: flex; align-items: flex-start; gap: 14px; }
.koszyk__uwaga strong {
	display: block;
	font-size: var(--fs-sm);
	color: var(--c-navy);
	margin-bottom: 4px;
}
.koszyk__uwaga p { margin: 0; font-size: var(--fs-xs); color: var(--c-ink-2); line-height: 1.6; }
.koszyk__uwaga a { color: var(--c-navy); text-decoration: underline; white-space: nowrap; }

.koszyk__ikona {
	flex: none;
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	color: var(--c-navy);
	background: #fff;
	border-radius: 999px;
}

.koszyk__terminy {
	margin: 8px 0 0;
	padding-left: 16px;
	font-size: var(--fs-xs);
	color: var(--c-ink-2);
}
.koszyk__terminy strong { display: inline; color: var(--c-ink); }

@media (max-width: 760px) {
	.koszyk__uwagi { grid-template-columns: minmax(0, 1fr); }
}

/* Nagroda programu lojalnościowego — oznaczenie pozycji w koszyku */
.koszyk__nagroda {
	display: inline-block;
	margin-left: 6px;
	padding: 2px 8px;
	border-radius: 999px;
	background: var(--c-navy-soft);
	color: #fff;
	font-size: var(--fs-xs);
	font-weight: 600;
	letter-spacing: 0.02em;
	vertical-align: middle;
	white-space: nowrap;
}

/* Lista zamówień — dwa przyciski akcji obok siebie */
.woocommerce-orders-table__cell-order-actions,
.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: flex-end;
}
.woocommerce-orders-table__cell-order-actions .button { margin: 0; }

/* Zwrot jest akcją drugorzędną — „Zobacz” zostaje głównym przyciskiem */
.woocommerce a.button.cheval-zwrot {
	background: transparent;
	color: var(--c-navy);
	box-shadow: inset 0 0 0 1px var(--c-rule-strong);
}
.woocommerce a.button.cheval-zwrot:hover {
	background: var(--c-bg-alt);
	color: var(--c-navy-dark);
	box-shadow: inset 0 0 0 1px var(--c-navy);
}

@media (max-width: 600px) {
	.woocommerce-orders-table__cell-order-actions { justify-content: flex-start; }
}

/* Opis kategorii — pas między zdjęciem nagłówka a wynikami */
.kat-opis {
	background: var(--c-bg);
	border-bottom: 1px solid var(--c-rule);
}
.kat-opis__tresc {
	padding-block: 22px 24px;
	color: var(--c-ink-2);
	font-size: var(--fs-sm);
	line-height: 1.7;
}
.kat-opis__tresc p { margin: 0 0 .7em; }
.kat-opis__tresc p:last-child { margin-bottom: 0; }
.kat-opis__tresc a { color: var(--c-navy); }

/* Koszyk i zamówienie potrzebują pełnej szerokości.
   Domyślne .entry-content { max-width: 72ch } ściskało je do lewej kolumny,
   przez co podsumowanie zamówienia łamało nazwy produktów po jednej literze. */
.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content,
.woocommerce-order-received .entry-content {
	max-width: none;
}
.woocommerce-cart .wp-block-woocommerce-cart,
.woocommerce-checkout .wp-block-woocommerce-checkout {
	max-width: var(--wrap);
	margin-inline: auto;
}
/* Nazwa produktu w podsumowaniu nie może się łamać po znaku */
.wc-block-components-product-name,
.wc-block-components-order-summary-item__description,
.wc-block-cart-item__wrap {
	min-width: 0;
	overflow-wrap: anywhere;
	word-break: normal;
}
.wc-block-components-order-summary-item__header { min-width: 0; }

/* Wejście do opinii przy pozycji zamówienia. */
.pozycja-opinia { margin: 8px 0 0; }

.button.cheval-opinia {
	display: inline-block;
	padding: 6px 14px;
	font-size: var(--fs-sm);
	background: transparent;
	color: var(--c-navy);
	border: 1px solid var(--c-navy);
	border-radius: var(--radius);
}

.button.cheval-opinia:hover,
.button.cheval-opinia:focus {
	background: var(--c-navy);
	color: #fff;
}

.pozycja-opinia--jest {
	font-size: var(--fs-sm);
	color: var(--c-muted);
}

/* Katalog nagród — nagrody poza zasięgiem wyglądają jak zwykłe kafelki,
   tylko wyszarzone i bez przycisku. */
.cheval-kafel-daleko {
	opacity: 0.62;
}

.cheval-kafel-daleko:hover {
	opacity: 0.85;
}

.cheval-brakuje {
	background: var(--c-bg-alt) !important;
	color: var(--c-muted) !important;
	border-color: var(--c-rule) !important;
	cursor: default;
	pointer-events: none;
	text-align: center;
}

.cheval-brakuje .wlr-action-text {
	color: var(--c-muted) !important;
	font-weight: 500;
}

/* Zdjęcie produktu zamiast ikonki na kafelku nagrody. */
.cheval-ikona-zdjecie {
	margin-bottom: 10px;
}

.cheval-ikona-zdjecie img {
	display: block;
	width: 100%;
	height: 150px;
	object-fit: contain;
	object-position: center;
	border-radius: var(--radius);
}

.cheval-koszt-punktow {
	margin: 2px 0 0;
	font-size: var(--fs-sm);
	color: var(--c-muted);
	font-variant-numeric: tabular-nums;
}

/* Panel wtyczki zaczynał się niżej niż menu boczne — stąd uskok. */
.woocommerce-MyAccount-content .wlr-myaccount-page {
	padding-top: 0;
}

.woocommerce-MyAccount-content .wlr-myaccount-page > *:first-child,
.woocommerce-MyAccount-content .wlr-myaccount-page > *:first-child > .wlr-heading:first-child {
	margin-top: 0;
}

/* =========================================================================
   Tabele w dokumentach prawnych (regulaminy, polityki)
   ========================================================================= */

.cheval-tabela {
	width: 100%;
	border-collapse: collapse;
	margin: 24px 0;
	font-size: var(--fs-sm);
}

.cheval-tabela th,
.cheval-tabela td {
	padding: 10px 14px;
	border: 1px solid var(--c-rule);
	text-align: left;
	vertical-align: top;
}

.cheval-tabela th {
	background: var(--c-bg-alt);
	font-weight: 600;
}

.cheval-tabela tr:nth-child(even) td {
	background: rgba(0, 0, 0, .02);
}

/* Na telefonie tabela przewija się w poziomie zamiast rozpychać strony. */
@media (max-width: 640px) {
	.cheval-tabela {
		display: block;
		overflow-x: auto;
	}

	.cheval-tabela th,
	.cheval-tabela td {
		white-space: nowrap;
	}
}

/* Nagrody: siatka w rzędach, w szerokości zakładki */
.wlr-myaccount-page .wlr-customer-reward,
.wlr-myaccount-page .cheval-siatka-zastepcza {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 16px !important;
	width: 100%;
	max-width: 100%;
	justify-content: stretch !important;
	align-items: stretch !important;
}
.wlr-myaccount-page .wlr-customer-reward > .wlr-reward-card,
.wlr-myaccount-page .cheval-siatka-zastepcza > .wlr-reward-card {
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
}
.wlr-myaccount-page .wlr-customer-reward > .wlr-norecords-container {
	grid-column: 1 / -1 !important;
}
@media (max-width: 1100px) {
	.wlr-myaccount-page .wlr-customer-reward,
	.wlr-myaccount-page .cheval-siatka-zastepcza { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 700px) {
	.wlr-myaccount-page .wlr-customer-reward,
	.wlr-myaccount-page .cheval-siatka-zastepcza { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
}

/* Wysyłka z Holandii: karta produktu, koszyk, kasa */
.pdp__wysylka--nl {
	padding-left: 10px;
	border-left: 3px solid var(--c-star);
	color: var(--c-ink);
	font-weight: 500;
}
.koszyk__nl {
	margin: 8px 0 0;
	color: var(--c-ink);
}
.wc-block-components-product-details__wysy-ka {
	display: inline-block;
	margin-top: 4px;
	padding: 2px 8px;
	border-left: 3px solid var(--c-star);
	background: var(--c-bg-alt);
	color: var(--c-ink);
	font-weight: 500;
}
.cheval-nl {
	margin: 16px 0;
	padding: 16px !important;
	border: 1px solid var(--c-rule);
	border-left: 4px solid var(--c-star);
	border-radius: var(--radius);
	background: var(--c-bg-alt);
	font-size: var(--fs-sm);
	text-align: left;
}
.cheval-nl.is-zajety {
	opacity: .6;
	pointer-events: none;
}
.cheval-nl__tytul {
	display: block;
	margin-bottom: 4px;
	font-family: var(--f-display);
	font-size: var(--fs-base);
	color: var(--c-navy);
}
.cheval-nl__opis {
	margin: 0 0 8px;
	color: var(--c-ink-2);
}
.cheval-nl__lista {
	margin: 0 0 12px;
	padding-left: 18px;
	list-style: disc;
	font-weight: 600;
	color: var(--c-ink);
}
.cheval-nl__opcje {
	display: grid;
	gap: 8px;
}
.cheval-nl__opcja {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0;
	padding: 10px 12px;
	border: 1px solid var(--c-rule-strong);
	border-radius: var(--radius);
	background: var(--c-bg);
	cursor: pointer;
}
.cheval-nl__opcja.is-wybrana {
	border-color: var(--c-navy);
	box-shadow: inset 0 0 0 1px var(--c-navy);
}
.cheval-nl__opcja input {
	flex: none;
	margin: 3px 0 0;
	accent-color: var(--c-navy);
}
.cheval-nl__tresc {
	display: grid;
	gap: 2px;
}
.cheval-nl__tresc small {
	font-size: var(--fs-xs);
	line-height: 1.45;
	color: var(--c-ink-2);
}


/* --- Bestsellery: 6 pozycji (0.23.0) -------------------------------------- */

ul.products.products--best { --cols: 6; }
@media (max-width: 1300px) { ul.products.products--best { --cols: 3; } }
@media (max-width: 600px)  { ul.products.products--best { --cols: 2; } }

/* --- Menu mobilne (0.23.0) ------------------------------------------------ */

.sub-toggle { display: none; }

@media (max-width: 900px) {
	.site-header.nav-open .nav-primary {
		display: block; position: absolute; left: 0; right: 0; top: 100%;
		background: var(--c-bg); border-top: 1px solid var(--c-rule);
		box-shadow: 0 12px 24px rgba(27,33,81,.12);
		max-height: calc(100vh - 64px); max-height: calc(100dvh - 64px); overflow-y: auto;
		padding: 4px 20px 24px;
	}
	.site-header.nav-open .nav-primary > ul { flex-direction: column; gap: 0; }
	.site-header.nav-open .nav-primary li { border-bottom: 1px solid var(--c-rule); }
	.site-header.nav-open .nav-primary .sub-menu li { border: 0; }
	.site-header.nav-open .nav-primary > ul > li > a {
		display: block; padding: 14px 44px 14px 0; font-size: var(--fs-base); font-weight: 600; border: 0;
	}
	.site-header.nav-open .nav-primary .menu-item-has-children > a::after { display: none; }
	.site-header.nav-open .nav-primary .sub-menu { display: none; padding: 0 0 12px 12px; }
	.site-header.nav-open .nav-primary li.sub-open > .sub-menu { display: block; }
	.site-header.nav-open .nav-primary .sub-menu a { display: block; padding: 9px 0; font-size: var(--fs-sm); font-weight: 500; }
	.site-header.nav-open .sub-toggle {
		display: flex; align-items: center; justify-content: center;
		position: absolute; right: -8px; top: 6px; width: 40px; height: 40px;
		background: none; border: 0; color: var(--c-navy); cursor: pointer;
	}
	.sub-toggle svg { transition: transform .2s; }
	li.sub-open > .sub-toggle svg { transform: rotate(180deg); }
	body.nav-lock { overflow: hidden; }
}

/* --- Listing na telefonie: produkty wyżej, filtry w panelu (0.23.0) -------- */

.mob-filtr, .filtr-panel__head { display: none; }

@media (max-width: 900px) {
	.listing-hero__inner { min-height: 0; padding-block: 22px; }
	.listing-hero__tresc h1 { font-size: var(--fs-2xl); margin-bottom: 0; }
	.listing-hero__opis { display: none; }

	/* opis kategorii (SEO) zostaje w kodzie, ale ląduje pod produktami */
	main:has(> .listing) { display: flex; flex-direction: column; }
	main:has(> .listing) > * { order: 1; }
	main:has(> .listing) > .kat-opis { order: 2; border-top: 1px solid var(--c-rule); }
	main:has(> .listing) > .kat-opis ~ :not(.listing) { order: 3; }

	.listing.section { padding-top: 16px; }
	.listing { gap: 12px; grid-template-columns: minmax(0, 1fr); }
	.listing__filtry, .listing__filtry > .filtr:first-child { min-width: 0; }
	.listing__filtry > :not(.filtr):not(.filtr-form) { display: none; }

	/* podkategorie jako przewijany pasek */
	.listing__filtry > .filtr:first-child { margin: 0 calc(-1 * var(--gutter)); }
	.listing__filtry > .filtr:first-child .filtr__tytul { display: none; }
	.listing__filtry > .filtr:first-child .filtr__kategorie {
		display: flex; gap: 8px; overflow-x: auto; padding: 2px var(--gutter) 6px;
		scrollbar-width: none; -webkit-overflow-scrolling: touch;
	}
	.listing__filtry > .filtr:first-child .filtr__kategorie::-webkit-scrollbar { display: none; }
	.listing__filtry > .filtr:first-child .filtr__kategorie li { flex: 0 0 auto; }
	.listing__filtry > .filtr:first-child .filtr__kategorie li.pusta { display: none; }
	.listing__filtry > .filtr:first-child .filtr__kategorie a {
		display: block; padding: 8px 14px; border: 1px solid var(--c-rule-strong); border-radius: 999px;
		font-size: var(--fs-sm); color: var(--c-ink); white-space: nowrap; background: var(--c-bg);
	}
	.listing__filtry > .filtr:first-child .filtr__kategorie .jest a { background: var(--c-navy); border-color: var(--c-navy); color: #fff; }
	.listing__filtry > .filtr:first-child .filtr__kategorie span { display: none; }

	/* filtry: ukryte, otwierane przyciskiem jako panel na cały ekran */
	.filtr-form { display: none; }
	.filtr-form.is-open {
		display: block; position: fixed; inset: 0; z-index: 100000; background: var(--c-bg);
		overflow-y: auto; padding: 0 20px 96px;
	}
	.filtr-form.is-open .filtr-panel__head {
		display: flex; align-items: center; justify-content: space-between;
		position: sticky; top: 0; z-index: 2; background: var(--c-bg);
		padding: 16px 0; margin-bottom: 8px; border-bottom: 1px solid var(--c-rule);
		font-family: var(--f-display); font-size: var(--fs-xl); font-weight: 600; color: var(--c-navy);
	}
	.filtr-panel__close { background: none; border: 0; padding: 8px; color: var(--c-ink); cursor: pointer; }
	.filtr-form.is-open .filtr__submit {
		position: fixed; left: 20px; right: 20px; bottom: 20px; width: auto; z-index: 3;
		box-shadow: 0 6px 18px rgba(27,33,81,.25);
	}
	.filtr-form.is-open .filtr__reset { margin-bottom: 12px; }
	body.filtr-lock { overflow: hidden; }

	.listing__tresc .woocommerce-result-count { display: none; }
	.mob-filtr {
		display: inline-flex; align-items: center; gap: 8px; width: auto !important; margin: 0;
		padding: 10px 16px; border: 1px solid var(--c-rule-strong); border-radius: var(--radius);
		background: var(--c-bg); font: inherit; font-size: var(--fs-sm); font-weight: 600; color: var(--c-ink); cursor: pointer;
	}
	.mob-filtr__ile {
		display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 6px;
		border-radius: 999px; background: var(--c-navy); color: #fff; font-size: 12px;
	}
	.listing__tresc { gap: 12px; }
	.listing__tresc .woocommerce-ordering { margin-left: auto; flex: 0 1 200px; min-width: 0; }
	.listing__tresc .woocommerce-ordering select { width: 100%; max-width: 200px; font-size: var(--fs-sm); padding-block: 10px; }
}


/* --- Karta produktu na telefonie (0.23.2) --------------------------------- */

@media (max-width: 600px) {
	.wrap.section:has(> div.product) { padding-top: 16px; }
	.woocommerce div.product .woocommerce-tabs ul.tabs li { flex: 0 0 auto; }
	.woocommerce div.product .woocommerce-tabs ul.tabs li a { white-space: nowrap; }
	.woocommerce div.product .woocommerce-tabs ul.tabs { scrollbar-width: none; }
	.woocommerce div.product .woocommerce-tabs ul.tabs::-webkit-scrollbar { display: none; }
	.woocommerce div.product form.cart table.variations { margin-bottom: 6px; }
	.woocommerce div.product form.cart .pdp__rozmiarowka { display: inline-block; margin: 0 0 14px; }
	.woocommerce div.product form.cart:not(.variations_form),
	.woocommerce div.product form.cart .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: 10px; align-items: stretch; }
	.woocommerce div.product form.cart .quantity { flex: 0 0 auto; margin: 0; float: none; }
	.woocommerce div.product form.cart .single_add_to_cart_button { flex: 1 1 0; min-width: 0; padding: 16px 18px; font-size: var(--fs-base); float: none; }
	.woocommerce div.product .related ul.products { --cols: 2; }
}


/* --- Poprawki po testach 10.10 (0.23.3) ------------------------------------ */

/* ramka galerii: na oknie slidera, nie na przesuwanej taśmie (była tylko z lewej przy 1. zdjęciu) */
.woocommerce div.product div.images .flex-viewport { border: 1px solid var(--c-rule); border-radius: var(--radius-lg); overflow: hidden; background: #fff; }
.woocommerce div.product div.images .flex-viewport > .woocommerce-product-gallery__wrapper { border: 0; border-radius: 0; }
.woocommerce div.product div.images > .woocommerce-product-gallery__wrapper { border-color: var(--c-rule); }

.woocommerce div.product .related ul.products { --cols: 6; }
@media (max-width: 1300px) { .woocommerce div.product .related ul.products { --cols: 3; } }
@media (max-width: 600px)  { .woocommerce div.product .related ul.products { --cols: 2; } }

/* wyszukiwarka na telefonie: lupa w nagłówku + pole na górze menu */
.mob-szukaj, .nav-szukaj { display: none; }
@media (max-width: 600px) {
	.mob-szukaj { display: inline-flex; background: none; border: 0; padding: 0; cursor: pointer; }
	.site-header.nav-open .nav-szukaj { display: flex; gap: 8px; padding: 14px 0; border-bottom: 1px solid var(--c-rule); }
	.nav-szukaj input[type="search"] { flex: 1 1 auto; min-width: 0; padding: 12px 14px; font: inherit; font-size: 16px; border: 1px solid var(--c-rule-strong); border-radius: var(--radius); }
	.nav-szukaj button { flex: 0 0 auto; padding: 0 16px; border: 0; border-radius: var(--radius); background: var(--c-navy); color: #fff; cursor: pointer; }
}
