/*
Theme Name:   Instalex Child
Theme URI:    https://instalex.wroc.pl
Description:  Motyw potomny GeneratePress dla katalogu Instalex. Logika produktowa siedzi we wtyczce Instalex Core, tutaj zostaje warstwa wizualna.
Author:       https://wankeai.pl
Template:     generatepress
Version:      3.20.2
Text Domain:  instalex-child
*/


@font-face {
	font-family: "Roboto";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("fonts/roboto-latin-wght-normal.woff2") format("woff2-variations"),
	     url("fonts/roboto-latin-wght-normal.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Roboto";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("fonts/roboto-latin-ext-wght-normal.woff2") format("woff2-variations"),
	     url("fonts/roboto-latin-ext-wght-normal.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

body,
button,
input,
select,
textarea,
.entry-content,
.site-header,
.main-navigation a {
	font-family: "Roboto", system-ui, -apple-system, "Segoe UI", Inter, Arial, sans-serif;
}

h1, h2, h3, h4, h5, h6 {
	font-family: inherit;
	font-weight: 600;
	letter-spacing: -.01em;
}

/* ==========================================================================
   Tokeny
   Kolory kategorii odpowiadają barwom oznaczeń uzbrojenia podziemnego:
   woda niebieska, gaz żółty, kanalizacja brązowa, ciepłownictwo czerwone.
   ========================================================================== */
:root {
	--ix-tlo:        #f2f4f6;
	--ix-plyta:      #ffffff;
	--ix-atrament:   #16202b;
	--ix-tekst:      #5c6875;
	--ix-linia:      #d5dae0;
	--ix-linia-cien: #e6eaee;
	--ix-akcent:     #0059a5;
	--ix-main: #e50001;

	--ix-medium:     #4a5a6a;

	--ix-width: 1480px;

	--section-padding: 2.5rem;

	--ix-r:          3px;
	--ix-mono:       ui-monospace, "SF Mono", "Cascadia Mono", "Roboto Mono", Consolas, monospace;
}

/* Kategorie: kolor medium ustawiany klasą na kontenerze */
.ix-m-woda        { --ix-medium: #0b5ca8; }
.ix-m-gaz         { --ix-medium: #d99000; }
.ix-m-kanalizacja { --ix-medium: #6b4a2f; }
.ix-m-cieplo      { --ix-medium: #bf3b28; }
.ix-m-pompy       { --ix-medium: #14776a; }
.ix-m-technika    { --ix-medium: #4a5a6a; }


body {
	background: var(--ix-tlo);
	color: var(--ix-atrament);
}
.entry-content > * {
	max-width: var(--ix-width);
	margin: 0 auto;
}
/* ==========================================================================
   Nagłówki pomocnicze
   ========================================================================== */
.ix-eyebrow {
	display: block;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--ix-tekst);
	margin-bottom: .5rem;
}

/* ==========================================================================
   Kafelki kategorii (strona główna)
   ========================================================================== */
.ix-kategorie {
	max-width: 100%;
	padding: var(--section-padding) 0;
}
.ix-kategorie__container {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
	gap: 14px;
	margin: 0 auto;
	padding: 0;
	list-style: none;
	padding: 0 1rem;
	max-width: var(--ix-width);
}

.ix-kafelek {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: .35rem;
	padding: 1.15rem 1.25rem 1.15rem 1.6rem;
	background: var(--ix-plyta);
	border: 1px solid var(--ix-linia);
	border-radius: var(--ix-r);
	text-decoration: none;
	color: inherit;
	transition: border-color .15s ease, transform .15s ease;
}

.ix-kafelek::before {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: 5px;
	background: var(--ix-medium);
	border-radius: var(--ix-r) 0 0 var(--ix-r);
}

.ix-kafelek:hover,
.ix-kafelek:focus-visible {
	border-color: var(--ix-medium);
	transform: translateY(-1px);
}

.ix-kafelek__nazwa {
	font-size: 1.02rem;
	font-weight: 600;
	line-height: 1.3;
	color: var(--ix-atrament);
}

.ix-kafelek__ile {
	font-family: var(--ix-mono);
	font-size: 12px;
	color: var(--ix-tekst);
	font-variant-numeric: tabular-nums;
}

/* ==========================================================================
   Pasek kategorii nad listą produktów
   ========================================================================== */
.ix-pasek-wrap {
	margin: 0;
}

.ix-pasek {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0 0 1.75rem;
	padding: 0 0 1.25rem;
	border-bottom: 1px solid var(--ix-linia);
	list-style: none;
}

.ix-pasek a {
	position: relative;
	display: inline-block;
	padding: .38rem .8rem .38rem 1.05rem;
	font-size: .86rem;
	line-height: 1.4;
	text-decoration: none;
	color: var(--ix-tekst);
	background: var(--ix-plyta);
	border: 1px solid var(--ix-linia);
	border-radius: 100px;
	transition: color .15s ease, border-color .15s ease;
}

.ix-pasek a::before {
	content: "";
	position: absolute;
	top: 50%;
	left: .55rem;
	width: 6px;
	height: 6px;
	margin-top: -3px;
	border-radius: 50%;
	background: var(--ix-medium);
}

.ix-pasek a:hover {
	color: var(--ix-atrament);
	border-color: var(--ix-medium);
}

.ix-pasek .ix-aktywna a {
	color: var(--ix-plyta);
	background: var(--ix-medium);
	border-color: var(--ix-medium);
}

.ix-pasek .ix-aktywna a::before {
	background: var(--ix-plyta);
}

/* ==========================================================================
   Lista produktów
   ========================================================================== */
.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 16px;
	margin: 0;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
	content: none;
}

.woocommerce ul.products li.product {
	width: auto !important;
	margin: 0 !important;
	padding: 0;
	float: none !important;
	display: flex;
	flex-direction: column;
	background: var(--ix-plyta);
	border: 1px solid var(--ix-linia);
	border-radius: var(--ix-r);
	overflow: hidden;
	transition: border-color .15s ease;
}

.woocommerce ul.products li.product:hover {
	border-color: var(--ix-akcent);
}

.woocommerce ul.products li.product a img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: contain;
	margin: 0;
	padding: 1rem;
	background: #fbfcfd;
	border-bottom: 1px solid var(--ix-linia-cien);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	padding: .85rem 1rem .25rem;
	margin: 0;
	font-size: .95rem !important;
	font-weight: 600;
	line-height: 1.35;
	color: var(--ix-atrament);
}

.instalex-loop-sku {
	display: block;
	padding: 0 1rem 1rem;
	font-family: var(--ix-mono);
	font-size: 11.5px;
	color: var(--ix-tekst);
}

/* Bez ceny i przycisku, zostaje sam katalog */
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
	display: none !important;
}

/* ==========================================================================
   Karta produktu
   ========================================================================== */
.single-product div.product .product_title {
	font-size: 1.7rem;
	line-height: 1.25;
	margin-bottom: .6rem;
}

.single-product div.product .woocommerce-product-details__short-description {
	font-size: 1.02rem;
	line-height: 1.65;
	color: var(--ix-tekst);
	margin-bottom: 1.5rem;
}

.single-product div.product .images img {
	background: var(--ix-plyta);
	border: 1px solid var(--ix-linia);
	border-radius: var(--ix-r);
	padding: 1.5rem;
}

table.instalex-product-data {
	width: 100%;
	margin: 0 0 1.75rem;
	border-collapse: collapse;
	background: var(--ix-plyta);
	border: 1px solid var(--ix-linia);
	border-radius: var(--ix-r);
	overflow: hidden;
	font-size: .92rem;
}

table.instalex-product-data th,
table.instalex-product-data td {
	padding: .62rem .9rem;
	text-align: left;
	vertical-align: top;
	border-bottom: 1px solid var(--ix-linia-cien);
	line-height: 1.5;
}

table.instalex-product-data tr:last-child th,
table.instalex-product-data tr:last-child td {
	border-bottom: 0;
}

table.instalex-product-data th {
	width: 38%;
	font-weight: 500;
	color: var(--ix-tekst);
	background: #fafbfc;
	white-space: nowrap;
}

table.instalex-product-data td {
	font-variant-numeric: tabular-nums;
}

.instalex-product-data a {
	color: var(--ix-akcent);
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* Pełny opis pod danymi */
.woocommerce-Tabs-panel h2,
.woocommerce-tabs .panel > h2:first-child {
	display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	padding: 0 0 0 1em;
}

.woocommerce-Tabs-panel--description {
	line-height: 1.7;
}

/* ==========================================================================
   Nagłówek archiwum
   ========================================================================== */
.ix-naglowek {
	position: relative;
	padding: 0 0 1.1rem 1rem;
	margin: 0 0 1.5rem;
	border-bottom: 1px solid var(--ix-linia);
}

.ix-naglowek::before {
	content: "";
	position: absolute;
	inset: .15rem auto 1.35rem 0;
	width: 4px;
	background: var(--ix-medium);
}

.ix-naglowek h1 {
	margin: 0;
	font-size: 1.55rem;
	line-height: 1.2;
}

.ix-naglowek p {
	margin: .5rem 0 0;
	color: var(--ix-tekst);
	line-height: 1.6;
	max-width: 62ch;
}

.woocommerce .woocommerce-result-count {
	font-family: var(--ix-mono);
	font-size: 12px;
	color: var(--ix-tekst);
	font-variant-numeric: tabular-nums;
}

/* ==========================================================================
   Wyszukiwarka i stany puste
   ========================================================================== */
.ix-pusto {
	padding: 2.5rem 1.5rem;
	background: var(--ix-plyta);
	border: 1px dashed var(--ix-linia);
	border-radius: var(--ix-r);
	text-align: center;
	color: var(--ix-tekst);
	line-height: 1.6;
}

.ix-pusto strong {
	display: block;
	margin-bottom: .35rem;
	color: var(--ix-atrament);
}

/* ==========================================================================
   Stopka
   ========================================================================== */
.site-info {
	font-size: .88rem;
}

/* ==========================================================================
   Dostępność i ruch
   ========================================================================== */
a:focus-visible,
button:focus-visible {
	outline: 2px solid var(--ix-akcent);
	outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
	* {
		transition: none !important;
	}
	.ix-kafelek:hover {
		transform: none;
	}
}

/* ==========================================================================
   Mobile
   ========================================================================== */
@media (max-width: 768px) {
	.woocommerce ul.products {
		grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
		gap: 10px;
	}

	.ix-kategorie {
		grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
		gap: 10px;
	}

	table.instalex-product-data th {
		width: 42%;
		white-space: normal;
	}

	.ix-naglowek h1 {
		font-size: 1.3rem;
	}
}

/* ==========================================================================
   Blok zapytania pod kartą produktu
   ========================================================================== */
.ix-zapytanie {
	margin: 2rem 0 2.5rem;
	padding: 1.4rem 1.5rem;
	background: var(--ix-plyta);
	border: 1px solid var(--ix-linia);
	border-left: 4px solid var(--ix-akcent);
	border-radius: var(--ix-r);
}

.ix-zapytanie__lead {
	margin: 0 0 1.1rem;
	font-size: 1rem;
	line-height: 1.55;
	color: var(--ix-atrament);
	max-width: 54ch;
}

.ix-zapytanie__akcje {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
}

.ix-zapytanie__godziny {
	margin: 1rem 0 0;
	font-size: .85rem;
	color: var(--ix-tekst);
	line-height: 1.5;
}

.ix-btn {
	display: inline-block;
	padding: .75rem 1.25rem;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.4;
	text-decoration: none;
	color: var(--ix-akcent);
	background: var(--ix-plyta);
	border: 1px solid var(--ix-linia);
	border-radius: var(--ix-r);
	transition: all 0.2s ease;
}
.ix-btn:hover {
	color: var(--ix-akcent);
	opacity: 0.9;
}

.ix-btn--glowny {
	background: linear-gradient(170deg, var(--ix-akcent), #03357c);
	color: #fff;
	border: none;
}

.ix-btn--glowny:hover {
	background: linear-gradient(170deg, var(--ix-akcent), #03357c);
	color: #fff;
}
.ix-btn--contact {
	background: transparent;
	color: #fff !important;
	border-color: rgba(255,255,255,0.1);
	padding-left: 2rem;
	padding-right: 2rem;
	letter-spacing: 1px;
}
.ix-btn--contact:hover {
	background: linear-gradient(rgba(255,255,255,0.02), rgba(255,255,255,0.1));
}
.ix-btn__label {
	display: block;
	font-size: 1.25rem;
	display: block;
	color: #fff;
}
.ix-btn__contact-info {
	font-size: 0.75rem;
	opacity: 0.6;
	color: #fff;
	display: block;
}
/* ==========================================================================
   Strona Kontakt
   ========================================================================== */
.ix-kontakt {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
	gap: 14px;
	margin: 1.5rem 0 2rem;
}

.ix-kontakt__blok {
	padding: 1.15rem 1.25rem;
	background: var(--ix-plyta);
	border: 1px solid var(--ix-linia);
	border-radius: var(--ix-r);
}

.ix-kontakt__blok p {
	margin: 0;
	line-height: 1.75;
	font-variant-numeric: tabular-nums;
}

.ix-kontakt__blok a {
	color: var(--ix-akcent);
	text-decoration: none;
}

.ix-kontakt__blok a:hover {
	text-decoration: underline;
	text-underline-offset: 2px;
}

@media (max-width: 768px) {
	.ix-zapytanie {
		padding: 1.15rem 1.15rem;
	}

	.ix-zapytanie__akcje .ix-btn {
		flex: 1 1 100%;
		text-align: center;
	}
}

/* ==========================================================================
   Pasek kontaktowy nad nagłówkiem
   ========================================================================== */
.ix-topbar {
	background: #e9e9e9;
	color: #565656;
	font-size: .82rem;
}

.ix-topbar__in {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem 1.5rem;
	align-items: center;
	justify-content: space-between;
	max-width: var(--ix-width);
	margin: 0 auto;
	padding: .55rem 20px;
}

.ix-topbar__kontakt {
	display: flex;
	flex-wrap: wrap;
	gap: 1.1rem;
	align-items: center;
}

.ix-topbar a {
	color: #000;
	text-decoration: none;
	font-variant-numeric: tabular-nums;
}

.ix-topbar a:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.ix-topbar__godziny {
	color: #8c99a6;
}

/* ==========================================================================
   Sekcja powitalna
   ========================================================================== */
.ix-hero {
	margin: 0 auto;
	padding: 2.5rem 2rem;
	background: var(--ix-plyta);
	border: 1px solid var(--ix-linia);
	border-radius: var(--ix-r);
	max-width: 100%;
}

.ix-hero__tytul {
	margin: 0 0 .9rem;
	font-size: clamp(1.6rem, 3.4vw, 2.35rem);
	line-height: 1.15;
	letter-spacing: -.015em;
	max-width: 20ch;
}

.ix-hero__lead {
	margin: 0 0 1.6rem;
	font-size: 1.05rem;
	line-height: 1.65;
	color: var(--ix-tekst);
	max-width: 58ch;
}

.ix-hero__akcje {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.ix-hero__meta {
	margin: 1.1rem 0 0;
	font-family: var(--ix-mono);
	font-size: 12px;
	color: var(--ix-tekst);
	font-variant-numeric: tabular-nums;
}

/* Paski mediów: sygnatura strony, kolory oznaczeń uzbrojenia podziemnego */
.ix-hero__media {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2px;
	margin: 2rem 0 0;
	padding: 0;
	list-style: none;
}

.ix-hero__media li {
	position: relative;
	padding: .9rem 0 0;
	border-top: 5px solid var(--ix-medium);
}

.ix-hero__media span {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--ix-tekst);
}

/* ==========================================================================
   O firmie
   ========================================================================== */
.ix-ofirmie {
	margin: 0 0 2.5rem;
}

.ix-ofirmie__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
	gap: 14px;
	margin-top: .75rem;
}

.ix-ofirmie__punkt {
	padding: 1.15rem 1.25rem;
	background: var(--ix-plyta);
	border: 1px solid var(--ix-linia);
	border-radius: var(--ix-r);
}

.ix-ofirmie__punkt h3 {
	margin: 0 0 .4rem;
	font-size: .98rem;
	font-weight: 600;
	line-height: 1.3;
}

.ix-ofirmie__punkt p {
	margin: 0;
	font-size: .9rem;
	line-height: 1.6;
	color: var(--ix-tekst);
}

/* ==========================================================================
   Drzewo kategorii
   ========================================================================== */
.ix-drzewo ul {
	margin: .6rem 0 0;
	padding: 0;
	list-style: none;
}

.ix-drzewo ul ul {
	margin: .2rem 0 .4rem .85rem;
	padding-left: .75rem;
	border-left: 1px solid var(--ix-linia);
}

.ix-drzewo a {
	position: relative;
	display: flex;
	gap: .5rem;
	align-items: baseline;
	justify-content: space-between;
	padding: .38rem .5rem .38rem .85rem;
	font-size: .9rem;
	line-height: 1.4;
	color: var(--ix-atrament);
	text-decoration: none;
	border-radius: var(--ix-r);
}

.ix-drzewo a::before {
	content: "";
	position: absolute;
	top: .72rem;
	left: 0;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--ix-medium);
}

.ix-drzewo a:hover {
	background: var(--ix-tlo);
}

.ix-drzewo .ix-aktywna > a {
	font-weight: 600;
	color: var(--ix-medium);
}

.ix-drzewo__ile {
	font-family: var(--ix-mono);
	font-size: 11px;
	color: var(--ix-tekst);
	font-variant-numeric: tabular-nums;
}

/* ==========================================================================
   Przyklejony pasek kontaktu (telefon)
   ========================================================================== */
.ix-sticky {
	display: none;
}

/* ==========================================================================
   Stopka
   ========================================================================== */
.ix-stopka {
	background: var(--ix-atrament);
	color: #aeb9c4;
}

.ix-stopka__in {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	gap: 1.75rem;
	max-width: var(--ix-width);
	margin: 0 auto;
	padding: 2.5rem 20px;
}

.ix-stopka .ix-eyebrow {
	color: #7d8b99;
}

.ix-stopka p {
	margin: 0;
	font-size: .9rem;
	line-height: 1.85;
	font-variant-numeric: tabular-nums;
}

.ix-stopka a {
	color: #fff;
	text-decoration: none;
}

.ix-stopka a:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* ==========================================================================
   Mobile
   ========================================================================== */
@media (max-width: 768px) {
	.ix-topbar__claim {
		display: none;
	}

	.ix-topbar__godziny {
		display: none;
	}

	.ix-topbar__in {
		justify-content: center;
	}

	.ix-hero {
		padding: 1.75rem 1.25rem;
	}

	.ix-hero__akcje .ix-btn {
		flex: 1 1 100%;
		text-align: center;
	}

	.ix-hero__media {
		grid-template-columns: repeat(2, 1fr);
		gap: 2px 12px;
	}

	/* Pasek kontaktu przyklejony do dołu ekranu */
	.ix-sticky {
		position: fixed;
		inset: auto 0 0 0;
		z-index: 999;
		display: flex;
		gap: 1px;
		background: var(--ix-linia);
		box-shadow: 0 -2px 12px rgba(22, 32, 43, .12);
	}

	.ix-sticky__btn {
		flex: 1;
		padding: .85rem .5rem;
		font-size: .95rem;
		font-weight: 600;
		text-align: center;
		text-decoration: none;
		color: var(--ix-atrament);
		background: var(--ix-plyta);
	}

	.ix-sticky__btn--tel {
		color: #fff;
		background: var(--ix-akcent);
	}

	/* Miejsce na pasek, żeby nie zasłaniał stopki */
	body {
		padding-bottom: 52px;
	}
}

/* Pasek kategorii chowamy na desktopie, gdy drzewo jest w bocznej kolumnie */
@media (min-width: 769px) {
	.ix-ma-drzewo .ix-pasek-wrap {
		display: none;
	}
}

.ix-hero__tresc {
	max-width: 100%;
}

.ix-stopka__kol {
	min-width: 0;
}

/* ==========================================================================
   Strona główna: tytuł strony
   Pierwszy nagłówek daje sekcja powitalna, tytuł "Home" jest zbędny.
   ========================================================================== */
.ix-glowna .entry-header,
.ix-glowna .page-header,
.ix-glowna .entry-title {
	display: none;
}

.ix-glowna .entry-content > :first-child {
	margin-top: 0;
}

/* ==========================================================================
   Sekcja powitalna ze zdjęciem
   ========================================================================== */
.ix-hero--foto {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
	gap: 2rem;
	align-items: center;
}

.ix-hero__slowa > :first-child {
	margin-top: 0;
	font-size: clamp(1.6rem, 3.4vw, 2.35rem);
	line-height: 1.15;
	letter-spacing: -.015em;
	max-width: 20ch;
	margin-bottom: .9rem;
}

.ix-hero__slowa p {
	margin: 0 0 1.6rem;
	font-size: 1.05rem;
	line-height: 1.65;
	color: var(--ix-tekst);
	max-width: 58ch;
}

.ix-hero__slowa > :last-child {
	margin-bottom: 1.6rem;
}

.ix-hero__media-foto img {
	display: block;
	width: 100%;
	height: 100%;
	max-height: 320px;
	object-fit: cover;
	border-radius: var(--ix-r);
}

.ix-hero--foto .ix-hero__media {
	grid-column: 1 / -1;
}

/* ==========================================================================
   Nowości w ofercie
   ========================================================================== */
.ix-nowosci-sekcja, .ix-ofirmie {
	padding: var(--section-padding) 0;
	max-width: 100%;
}
.ix-nowosci__container, .ix-ofirmie__container {
	margin: 0 auto;
	max-width: var(--ix-width);
	padding: 0 1rem;
}

.ix-nowosci {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 14px;
	margin-top: .75rem;
	align-items: stretch;
}

.ix-nowosc {
	display: flex;
	flex-direction: column;
	background: var(--ix-plyta);
	border: 1px solid var(--ix-linia);
	border-radius: var(--ix-r);
	overflow: hidden;
	text-decoration: none;
	color: inherit;
}

.ix-nowosc:hover,
.ix-nowosc:focus-visible {
	border-color: var(--ix-akcent);
}

.ix-nowosc__foto {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 180px;
	padding: .75rem;
	background: #fafbfc;
	border-bottom: 1px solid var(--ix-linia-cien);
}

.ix-nowosc__foto img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	display: block;
	mix-blend-mode: multiply;
}

.ix-nowosc__brak {
	display: block;
	width: 100%;
	height: 100%;
}

.ix-nowosc__nazwa {
	flex: 1 0 auto;
	padding: .85rem 1rem .25rem;
	font-weight: 600;
	font-size: .92rem;
	line-height: 1.35;
	color: var(--ix-atrament);
}

.ix-nowosc__sku {
	padding: 0 1rem 1rem;
	font-family: var(--ix-mono);
	font-size: 11px;
	color: var(--ix-tekst);
}

/* ==========================================================================
   Uniwersalna sekcja treści
   ========================================================================== */
.ix-sekcja {
	margin: 0 0 2.5rem;
}

.ix-sekcja--szara {
	background: var(--ix-plyta);
	border: 1px solid var(--ix-linia);
	border-radius: var(--ix-r);
	padding: 1.75rem 2rem;
}

.ix-sekcja__tresc > :first-child {
	margin-top: 0;
}

.ix-sekcja__tresc > :last-child {
	margin-bottom: 0;
}

/* ==========================================================================
   Dojazd i mapa
   ========================================================================== */
.ix-mapa-sekcja {
	padding: 0;
	max-width: 100%;
	background: #fff;
}
.ix-mapa-sekcja__container {
	padding: 0 1rem;
	max-width: var(--ix-width);
	display: grid;
	grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
	gap: 1.5rem;
	align-items: stretch;
	margin: 0 auto;
}
.ix-mapa-sekcja__adres {
	margin: 0 0 .5rem;
	font-size: 1.05rem;
	font-weight: 600;
}

.ix-mapa-sekcja__godziny {
	margin: 0 0 1.1rem;
	color: var(--ix-tekst);
}
.ix-mapa-sekcja__dane {
	padding: var(--section-padding) 0;
}
.ix-mapa {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: .6rem;
	min-height: 260px;
	overflow: hidden;
}

.ix-mapa iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.ix-mapa__nota {
	font-size: 11px;
	color: var(--ix-tekst);
}

/* ==========================================================================
   Wyszukiwarka w nagłówku
   ========================================================================== */
.ix-szukajka {
	flex: 1 1 260px;
	max-width: 420px;
	margin-left: auto;
	padding: 0 1rem;
	align-self: center;
}

.ix-szukajka .dgwt-wcas-search-wrapp {
	max-width: 100%;
}

@media (max-width: 768px) {
	.ix-hero--foto {
		grid-template-columns: 1fr;
		gap: 1.25rem;
	}

	.ix-hero__media-foto {
		order: -1;
	}

	.ix-nowosci {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ix-mapa-sekcja {
		grid-template-columns: 1fr;
		padding: 1.25rem;
	}

	.ix-sekcja--szara {
		padding: 1.25rem;
	}

	.ix-szukajka {
		flex-basis: 100%;
		max-width: none;
		margin: .5rem 0 0;
		padding: 0 20px .75rem;
	}
}

/* ==========================================================================
   Sekcja powitalna: wariant bez zdjęcia, na pełną szerokość
   ========================================================================== */
.ix-hero--szerokie .ix-hero__slowa > :first-child {
	max-width: 28ch;
}

.ix-hero--szerokie .ix-hero__slowa p {
	max-width: 72ch;
}

/* ==========================================================================
   Jak zamawiać
   ========================================================================== */
.ix-kroki {
	max-width: 100%;
	padding: var(--section-padding) 0;
	margin: 0;
}
.ix-kroki__container {
	margin: 0 auto;
	max-width: var(--ix-width);
	padding: 0 1rem
}

.ix-kroki__lista {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
	gap: 14px;
	margin: .75rem 0 0;
	padding: 0;
	list-style: none;
	counter-reset: none;
}

.ix-krok {
	position: relative;
	padding: 1.4rem 1.5rem;
	background: var(--ix-plyta);
	border: 1px solid var(--ix-linia);
	border-radius: var(--ix-r);
}

.ix-krok__nr {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	margin-bottom: .7rem;
	font-family: var(--ix-mono);
	font-size: 12px;
	font-weight: 600;
	color: var(--ix-plyta);
	background: var(--ix-akcent);
	border-radius: 50%;
}

.ix-krok__tytul {
	margin: 0 0 .35rem;
	font-size: 1rem;
	line-height: 1.3;
}

.ix-krok__opis {
	margin: 0;
	font-size: .92rem;
	line-height: 1.6;
	color: var(--ix-tekst);
}

/* ==========================================================================
   Wezwanie do kontaktu przed stopką
   ========================================================================== */
.ix-cta {
	max-width: 100%;
	background: linear-gradient(170deg, var(--ix-akcent), #03357c);
	padding: 4rem 0;
}
.ix-cta__container {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 1.5rem;
	align-items: center;
	margin: 0 0 2.5rem;
	border-radius: var(--ix-r);
	max-width: calc(var(--ix-width) / 1.25); 
	margin: 0 auto;
	color: #fff;
	padding: 0 1rem;
}

.ix-cta__tytul {
	margin: 0 0 .4rem;
	font-size: 1.3rem;
	line-height: 1.25;
}

.ix-cta__slowa p {
	margin: 0;
	line-height: 1.6;
	max-width: 56ch;
}

.ix-cta__akcje {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	justify-content: flex-start;
}

.ix-cta__godziny {
	flex-basis: 100%;
	text-align: right;
	font-size: 12px;
}

@media (max-width: 768px) {
	.ix-cta {
		grid-template-columns: 1fr;
		padding: 1.25rem;
	}

	.ix-cta__akcje {
		justify-content: flex-start;
	}

	.ix-cta__godziny {
		text-align: left;
	}
}

/* ==========================================================================
   Strona główna
   ========================================================================== */
.ix-glowna.separate-containers .site-main > .page,
.ix-glowna .inside-article,
.ix-glowna .entry-content > .site-main {
	background: transparent;
	border: 0;
	box-shadow: none;
	padding-left: 0;
	padding-right: 0;
}

.ix-glowna .site-content .content-area {
	background: transparent;
}

.ix-glowna .ix-hero {
	padding: var(--section-padding) 0;
}

/* ==========================================================================
   Nagłówki sekcji
   ========================================================================== */
.ix-glowna .ix-eyebrow {
	font-size: 13px;
	letter-spacing: .1em;
	color:var(--ix-akcent) !important;
	padding-bottom: .6rem;
	margin-bottom: 1rem;
	border-bottom: 1px solid var(--ix-linia);
}

@media (max-width: 768px) {
	.ix-glowna .ix-hero {
		padding: 1.5rem 1.25rem;
	}

	.ix-nowosc__foto {
		height: 140px;
	}
}

/* ==========================================================================
   Wyniki wyszukiwania: nagłówek i stan pusty
   ========================================================================== */
.ix-naglowek--szukanie h1::before,
.ix-naglowek--szukanie h1::after {
	content: '\201E';
	color: var(--ix-linia);
}

.ix-naglowek--szukanie h1::after {
	content: '\201D';
}

.ix-naglowek__ile {
	margin: .4rem 0 0;
	font-family: var(--ix-mono);
	font-size: 12px;
	color: var(--ix-tekst);
	font-variant-numeric: tabular-nums;
}

.ix-pusto--szukanie {
	max-width: 46rem;
	margin-inline: auto;
}

.ix-pusto--szukanie span {
	display: block;
	max-width: 34rem;
	margin: 0 auto 1.25rem;
}

/* ==========================================================================
   Podpowiedzi FiboSearch pod motyw
   Wtyczka wnosi własną paletę i zaokrąglenia. Podciągamy ją pod tokeny,
   żeby dropdown nie wyglądał jak wklejony z innej strony.
   ========================================================================== */
.dgwt-wcas-suggestions-wrapp {
	border: 1px solid var(--ix-linia);
	border-radius: var(--ix-r);
	box-shadow: 0 8px 24px rgba(22, 32, 43, .1);
	font-family: inherit;
}

.dgwt-wcas-suggestion {
	padding: .7rem .9rem;
	border-bottom: 1px solid var(--ix-linia-cien);
}

.dgwt-wcas-suggestion:last-child {
	border-bottom: 0;
}

.dgwt-wcas-suggestion-selected,
.dgwt-wcas-suggestion:hover {
	background: #f7f9fb;
}

.dgwt-wcas-st--title {
	font-weight: 600;
	color: var(--ix-atrament);
	line-height: 1.35;
}

.dgwt-wcas-st--title .dgwt-wcas-highlight {
	background: #fff2c2;
	font-weight: 600;
	padding: 0 1px;
}

/* Indeks w monospace, żeby cyfry układały się w kolumnie pod sobą. */
.dgwt-wcas-sku,
.dgwt-wcas-st-sku {
	font-family: var(--ix-mono);
	font-size: 11px;
	color: var(--ix-tekst);
	letter-spacing: .02em;
}

.dgwt-wcas-st--desc {
	font-size: 12px;
	line-height: 1.45;
	color: var(--ix-tekst);
}

/* Kategorie w podpowiedziach: odróżniamy je od produktów. */
.dgwt-wcas-suggestion-tax {
	background: #f7f9fb;
}

.dgwt-wcas-suggestion-tax .dgwt-wcas-st {
	font-size: 13px;
	color: var(--ix-akcent);
}

.dgwt-wcas-st-breadcrumbs,
.dgwt-wcas-si {
	color: var(--ix-tekst);
}

.dgwt-wcas-suggestion-nores {
	padding: 1.1rem .9rem;
	color: var(--ix-tekst);
	font-size: 13px;
}

.dgwt-wcas-si img,
.dgwt-wcas-suggestion img {
	mix-blend-mode: multiply;
}

/* Pole w nagłówku: obwódka spójna z resztą kontrolek. */
.ix-szukajka .dgwt-wcas-search-input {
	font-family: inherit;
	border-color: var(--ix-linia);
}

.ix-szukajka .dgwt-wcas-search-input:focus {
	border-color: var(--ix-akcent);
	box-shadow: 0 0 0 3px rgba(11, 92, 168, .12);
}

/* ==========================================================================
   Filtry nad listą produktów
   ========================================================================== */
.ix-filtry {
	margin: 0 0 1.5rem;
	padding: 1.1rem 1.25rem;
	background: var(--ix-plyta);
	border: 1px solid var(--ix-linia);
	border-radius: var(--ix-r);
}

.ix-filtry__grupy {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 1rem 1.75rem;
}

.ix-filtr__nazwa {
	display: block;
	margin-bottom: .5rem;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--ix-tekst);
}

.ix-filtr__wartosci {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.ix-pigulka {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	padding: .35rem .7rem;
	font-size: 13px;
	line-height: 1.2;
	color: var(--ix-atrament);
	text-decoration: none;
	background: #f7f9fb;
	border: 1px solid var(--ix-linia);
	border-radius: 999px;
}

.ix-pigulka:hover,
.ix-pigulka:focus-visible {
	border-color: var(--ix-akcent);
	color: var(--ix-akcent);
}

.ix-pigulka--wybrana {
	color: #fff;
	background: var(--ix-akcent);
	border-color: var(--ix-akcent);
}

.ix-pigulka--wybrana:hover,
.ix-pigulka--wybrana:focus-visible {
	color: #fff;
	background: #094b8a;
	border-color: #094b8a;
}
.ix-pigulka__ile {
	font-family: var(--ix-mono);
	font-size: 11px;
	color: var(--ix-tekst);
	font-variant-numeric: tabular-nums;
}

.ix-pigulka--wybrana .ix-pigulka__ile {
	color: rgba(255, 255, 255, .75);
}

.ix-filtry__reset {
	display: inline-block;
	margin-top: 1rem;
	font-size: 13px;
	color: var(--ix-tekst);
	text-decoration: underline;
}

.ix-filtry__reset:hover {
	color: var(--ix-akcent);
}
.copyright-bar {
	font-size: 0.75rem;
	opacity: 0.5;
}
.site-footer p {
	font-size: .875rem;
	margin-bottom: .5rem;
	line-height: 1.5;
	color: #5e5e5e;
}
.site-footer a {
	font-size: .875rem;
	line-height: 1.5;
	color: #5e5e5e;
	text-decoration: none;
}
.site-footer a:hover {
	color: var(--ix-akcent);
}
.footer-widget-2 {
	flex-grow: 2 !important;
}
.footer-widget-2 ul {
	columns: 2;
	column-gap: 1.25rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.footer-widget-2 ul > li {
	break-inside: avoid;
	margin: 0;
	line-height: 1.7;
}
.site-footer .widget-title  {
	margin-bottom: 0.875rem;
	margin-top: 1.25rem;
	font-weight: bold;
	color: var(--ix-akcent);
	font-size: 1rem;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}
.footer-widgets, .site-info {
	background-color: rgb(244, 244, 244) !important;
}

.inside-site-info {
	border-top: 1px solid rgb(224, 224, 224);
}
.site-footer .footer-widgets-container .inner-padding {
	padding: 0 40px 0 0;
}
.grid-container, .site-footer {
	max-width: 100% !important;
}
.ix-hero__container {
	max-width: var(--ix-width) !important;
    margin: 0 auto !important; 
    padding-left: 1rem;
    padding-right: 1rem;
}
.footer-widgets, .inside-header{
	max-width:var(--ix-width) !important;
	margin: 0 auto;
	padding-left: 1rem !important;
	padding-right: 1rem !important
}
.footer-widgets{
	padding: 0 1rem;
}
.footer-widgets-container {
	padding-left: 0;
	padding-right: 0;
	padding-top: 0;
}
.site-footer .footer-widgets-container .inside-footer-widgets {
	margin-left: 0;
}
.separate-containers .site-main {
	margin: 0;
}
.inside-article {
	padding-top: 0 !important;
	padding-bottom: 0;
}
.entry-content:not(:first-child), .entry-summary:not(:first-child), .page-content:not(:first-child) {
	margin-top: 0 !important;
}
.icon-holder {
	margin-right: 0.25rem;
}
[class*=" icofont-"].icofont-duotone:after, [class^=icofont-].icofont-duotone:after {
	opacity: 1;
}
.ix-cta__akcje .ix-btn {
	display: flex;
    align-items: center;
}
.ix-cta__akcje .icon-holder {
	font-size: 2.25rem;
    margin-right: 1rem;
}
@media (max-width: 480px) {
	#menu-asortyment-stopka {
		columns: 1;
	}
}
@media (max-width: 768px) {
	.ix-filtry {
		padding: 1rem;
	}

	.ix-filtry__grupy {
		grid-template-columns: 1fr;
		gap: .9rem;
	}
}


/* ==========================================================================
   3.6.0 Szlif wizualny
   Blok nadpisujący. Reguły wyżej zostają bez zmian, tu siedzi wszystko,
   co zmienia wygląd po referencjach klienta (tadmar.pl, swatt.pl):
   ciemny hero z mozaiką, kafelki ze zdjęciem, pas producentów,
   naprzemienne tła sekcji, ciemna stopka.
   ========================================================================== */
:root {
	--ix-granat:        #0b2a52;
	--ix-granat-ciemny: #041c3a;
	--ix-cien:          0 10px 28px -14px rgba(11, 42, 82, .35);
	--section-padding:  3.25rem;
}

/* Sekcje: naprzemienne tła, pełna szerokość */
.ix-nowosci-sekcja,
.ix-ofirmie,
.ix-mapa-sekcja {
	background: var(--ix-plyta);
	max-width: 100%;
	margin: 0;
	padding: var(--section-padding) 0;
}
.ix-kategorie,
.ix-producenci,
.ix-kroki {
	background: var(--ix-tlo);
	max-width: 100%;
	margin: 0;
	padding: var(--section-padding) 0;
}
.ix-mapa-sekcja__container,
.ix-ofirmie__container {
	max-width: var(--ix-width);
	margin: 0 auto;
	padding: 0 1rem;
}

/* Nagłówki sekcji: eyebrow zostaje, ale mocniejszy i z akcentem */
.ix-nowosci-sekcja .ix-eyebrow,
.ix-ofirmie .ix-eyebrow,
.ix-kroki .ix-eyebrow,
.ix-producenci .ix-eyebrow,
.ix-mapa-sekcja .ix-eyebrow {
	font-size: 12px;
	color: var(--ix-akcent);
	padding-bottom: .6rem;
	border-bottom: 1px solid var(--ix-linia);
	margin-bottom: 1.25rem;
}

/* --------------------------------------------------------------------------
   Hero na granacie
   -------------------------------------------------------------------------- */
.ix-hero.ix-hero--ciemna {
	background: linear-gradient(115deg, var(--ix-granat-ciemny) 0%, var(--ix-granat) 55%, #0e3a72 100%);
	border: 0;
	border-radius: 0;
	color: #fff;
	padding: 3.5rem 0 0;
	position: relative;
	overflow: hidden;
}
.ix-hero--ciemna::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
	background-size: 48px 48px;
	mask-image: linear-gradient(180deg, rgba(0,0,0,.9), transparent 85%);
	-webkit-mask-image: linear-gradient(180deg, rgba(0,0,0,.9), transparent 85%);
	pointer-events: none;
}
.ix-hero--ciemna .ix-hero__container {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
	gap: 2.5rem 3rem;
	align-items: center;
}
.ix-hero--ciemna .ix-eyebrow {
	color: #9cc4f5;
}
.ix-hero--ciemna .ix-hero__slowa > :first-child {
	color: #fff;
	font-size: clamp(1.9rem, 4vw, 2.9rem);
	max-width: 18ch;
}
.ix-hero--ciemna .ix-hero__slowa p {
	color: rgba(255,255,255,.78);
	font-size: 1.08rem;
}
.ix-hero--ciemna .ix-hero__meta {
	color: rgba(255,255,255,.55);
}
.ix-hero--ciemna .ix-btn {
	border-color: rgba(255,255,255,.35);
	color: #fff;
	background: transparent;
}
.ix-hero--ciemna .ix-btn:hover,
.ix-hero--ciemna .ix-btn:focus-visible {
	border-color: #fff;
	background: rgba(255,255,255,.08);
}
.ix-hero--ciemna .ix-btn--glowny {
	background: var(--ix-main);
	border-color: var(--ix-main);
	box-shadow: 0 8px 20px -8px rgba(229,0,1,.6);
}
.ix-hero--ciemna .ix-btn--glowny:hover,
.ix-hero--ciemna .ix-btn--glowny:focus-visible {
	background: #c40001;
	border-color: #c40001;
}

/* Paski mediów pod hero: na całej szerokości sekcji */
.ix-hero--ciemna .ix-hero__media {
	grid-column: 1 / -1;
	margin: 3rem 0 0;
	gap: 6px;
}
.ix-hero--ciemna .ix-hero__media li {
	border-top-width: 6px;
	padding: .85rem 0 1.1rem;
}
.ix-hero--ciemna .ix-hero__media span {
	color: rgba(255,255,255,.72);
}

/* Zdjęcie z panelu */
.ix-hero--ciemna .ix-hero__media-foto img.ix-hero__foto {
	max-height: 380px;
	border-radius: 6px;
	box-shadow: 0 24px 48px -20px rgba(0,0,0,.6);
}

/* Mozaika: cztery ostatnie produkty, fallback bez zdjęcia hurtowni */
.ix-hero__mozaika {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
	max-width: 440px;
	margin-left: auto;
}
.ix-hero__mozaika-el {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1 / 1;
	padding: 14px;
	background: #fff;
	border-radius: 6px;
	box-shadow: 0 18px 36px -18px rgba(0,0,0,.55);
}
.ix-hero__mozaika-el:nth-child(1) { transform: translateY(18px); }
.ix-hero__mozaika-el:nth-child(4) { transform: translateY(-18px); }
.ix-hero__mozaika-el img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	mix-blend-mode: multiply;
}

/* --------------------------------------------------------------------------
   Kafelki kategorii ze zdjęciem
   -------------------------------------------------------------------------- */
.ix-kategorie__container {
	grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
	gap: 16px;
}
.ix-kafelek {
	padding: 0;
	gap: 0;
	overflow: hidden;
	transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.ix-kafelek::before {
	width: 6px;
	z-index: 1;
}
.ix-kafelek:hover,
.ix-kafelek:focus-visible {
	transform: translateY(-3px);
	box-shadow: var(--ix-cien);
}
.ix-kafelek__foto {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 132px;
	padding: 12px 12px 12px 18px;
	background: #fafbfc;
	border-bottom: 1px solid var(--ix-linia-cien);
}
.ix-kafelek__foto img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	mix-blend-mode: multiply;
	transition: transform .25s ease;
}
.ix-kafelek:hover .ix-kafelek__foto img {
	transform: scale(1.05);
}
.ix-kafelek__slowa {
	display: flex;
	flex-direction: column;
	gap: .3rem;
	padding: .95rem 1.1rem 1rem 1.5rem;
}
.ix-kafelek--bez-foto .ix-kafelek__slowa {
	padding-top: 1.25rem;
	padding-bottom: 1.25rem;
	min-height: 96px;
	justify-content: center;
}

/* --------------------------------------------------------------------------
   Nowości: kadr 1:1, producent i grupa nad nazwą
   -------------------------------------------------------------------------- */
.ix-nowosci {
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 16px;
}
.ix-nowosc {
	transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.ix-nowosc:hover,
.ix-nowosc:focus-visible {
	transform: translateY(-3px);
	box-shadow: var(--ix-cien);
}
.ix-nowosc__foto {
	height: auto;
	aspect-ratio: 1 / 1;
	padding: 1.1rem;
	background: #fff;
}
.ix-nowosc__foto img {
	transition: transform .25s ease;
}
.ix-nowosc:hover .ix-nowosc__foto img {
	transform: scale(1.04);
}
.ix-nowosc__meta {
	display: block;
	padding: .85rem 1rem 0;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--ix-akcent);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.ix-nowosc__meta + .ix-nowosc__nazwa {
	padding-top: .35rem;
}

/* --------------------------------------------------------------------------
   Pas producentów
   -------------------------------------------------------------------------- */
.ix-producenci__container {
	max-width: var(--ix-width);
	margin: 0 auto;
	padding: 0 1rem;
}
.ix-producenci__lista {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.ix-producenci__el {
	margin: 0;
}
.ix-producenci__el > a,
.ix-producenci__el > span {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 74px;
	padding: 12px 16px;
	background: var(--ix-plyta);
	border: 1px solid var(--ix-linia);
	border-radius: var(--ix-r);
	text-decoration: none;
	color: var(--ix-atrament);
	transition: border-color .15s ease, box-shadow .15s ease;
}
.ix-producenci__el > a:hover,
.ix-producenci__el > a:focus-visible {
	border-color: var(--ix-akcent);
	box-shadow: var(--ix-cien);
}
.ix-producenci__el img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	filter: grayscale(1);
	opacity: .75;
	transition: filter .2s ease, opacity .2s ease;
}
.ix-producenci__el > a:hover img {
	filter: none;
	opacity: 1;
}
.ix-producenci__nazwa {
	font-size: .9rem;
	font-weight: 600;
	letter-spacing: .02em;
	text-align: center;
	line-height: 1.25;
	color: var(--ix-medium);
}

/* --------------------------------------------------------------------------
   O firmie: bez pudełek, akcent po lewej
   -------------------------------------------------------------------------- */
.ix-ofirmie__grid {
	gap: 2rem 2.5rem;
}
.ix-ofirmie__punkt {
	background: transparent;
	border: 0;
	border-left: 3px solid var(--ix-akcent);
	border-radius: 0;
	padding: .25rem 0 .25rem 1.25rem;
}
.ix-ofirmie__punkt h3 {
	font-size: 1.1rem;
	margin-bottom: .4rem;
}

/* --------------------------------------------------------------------------
   Jak zamawiać: oś z połączonymi numerami
   -------------------------------------------------------------------------- */
.ix-kroki__lista {
	gap: 2.5rem;
	position: relative;
}
.ix-krok {
	background: transparent;
	border: 0;
	padding: 0;
	position: relative;
}
.ix-krok__nr {
	width: 40px;
	height: 40px;
	font-size: 15px;
	margin-bottom: 1rem;
	background: var(--ix-granat);
	position: relative;
	z-index: 1;
}
.ix-krok__tytul {
	font-size: 1.12rem;
}
@media (min-width: 769px) {
	.ix-krok:not(:last-child)::after {
		content: "";
		position: absolute;
		top: 19px;
		left: 48px;
		right: -2.5rem;
		height: 2px;
		background: var(--ix-linia);
	}
}

/* --------------------------------------------------------------------------
   Mapa: tło białe, przycisk wyraźniejszy
   -------------------------------------------------------------------------- */
.ix-mapa {
	background: var(--ix-tlo);
	border: 1px dashed var(--ix-linia);
	border-radius: 6px;
}
.ix-mapa__start.ix-btn {
	background: var(--ix-granat);
	border-color: var(--ix-granat);
	color: #fff;
}

/* --------------------------------------------------------------------------
   CTA przed stopką i ciemna stopka
   -------------------------------------------------------------------------- */
.ix-cta {
	background: linear-gradient(115deg, var(--ix-granat) 0%, #0e3a72 100%);
	padding: 3.5rem 0;
}
.ix-cta__container {
	max-width: var(--ix-width);
}
.ix-cta__akcje .ix-btn {
	border-color: rgba(255,255,255,.3);
	color: #fff;
}
.ix-cta__akcje .ix-btn:hover,
.ix-cta__akcje .ix-btn:focus-visible {
	border-color: #fff;
	background: rgba(255,255,255,.08);
}

.site-footer .footer-widgets,
.site-footer .site-info {
	background-color: var(--ix-granat-ciemny) !important;
	color: rgba(255,255,255,.72);
}
.site-footer .footer-widgets {
	padding-top: 2.5rem !important;
	padding-bottom: 1.5rem !important;
}
.site-footer p,
.site-footer a,
.site-footer li {
	color: rgba(255,255,255,.72);
}
.site-footer strong {
	color: #fff;
}
.site-footer a:hover,
.site-footer a:focus-visible {
	color: #fff;
}
.site-footer .widget-title {
	color: #fff;
	margin-top: 0;
}
.site-footer .inside-site-info {
	border-top: 1px solid rgba(255,255,255,.12);
}
.site-footer .copyright-bar {
	opacity: .55;
	color: #fff;
}
.site-footer img {
	filter: none;
}

/* --------------------------------------------------------------------------
   Telefon
   -------------------------------------------------------------------------- */
@media (max-width: 768px) {
	:root {
		--section-padding: 2.25rem;
	}
	.ix-hero.ix-hero--ciemna {
		padding-top: 2.25rem;
	}
	.ix-hero--ciemna .ix-hero__container {
		grid-template-columns: 1fr;
		gap: 1.75rem;
	}
	.ix-hero__mozaika {
		max-width: 100%;
		gap: 8px;
	}
	.ix-hero__mozaika-el:nth-child(1),
	.ix-hero__mozaika-el:nth-child(4) {
		transform: none;
	}
	.ix-hero--ciemna .ix-hero__media {
		grid-template-columns: repeat(2, 1fr);
		margin-top: 2rem;
	}
	.ix-kategorie__container {
		grid-template-columns: repeat(2, 1fr);
		gap: 10px;
	}
	.ix-kafelek__foto {
		height: 96px;
	}
	.ix-kafelek__slowa {
		padding: .75rem .75rem .85rem 1.1rem;
	}
	.ix-kafelek__nazwa {
		font-size: .92rem;
	}
	.ix-producenci__lista {
		grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
		gap: 8px;
	}
	.ix-producenci__el > a,
	.ix-producenci__el > span {
		height: 60px;
		padding: 8px 10px;
	}
	.ix-kroki__lista {
		gap: 1.5rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ix-kafelek,
	.ix-nowosc,
	.ix-kafelek__foto img,
	.ix-nowosc__foto img,
	.ix-producenci__el img {
		transition: none;
	}
	.ix-kafelek:hover,
	.ix-nowosc:hover {
		transform: none;
	}
}


/* ==========================================================================
   3.6.1 Poprawki po podglądzie
   ========================================================================== */
:root {
	--ix-granat:        #0b2a52;
	--ix-granat-ciemny: #0b2a52; /* jeden odcień dla hero i stopki */
}

/* Hero: stara reguła .ix-hero--foto robiła siatkę z sekcji zamiast z kontenera */
.ix-hero.ix-hero--ciemna,
.ix-hero.ix-hero--ciemna.ix-hero--foto {
	display: block;
	background: var(--ix-granat);
	padding: 4rem 0 4.5rem;
}
.ix-hero--ciemna .ix-hero__container {
	max-width: var(--ix-width);
	margin: 0 auto;
	padding: 0 1rem;
	box-sizing: border-box;
}
.ix-hero__mozaika {
	margin-right: 1rem;
}

/* Nagłówek sekcji z linkiem */
.ix-naglowek-sekcji {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	padding-bottom: .75rem;
	margin-bottom: 1.25rem;
	border-bottom: 1px solid var(--ix-linia);
}
.ix-naglowek-sekcji__tytul {
	margin: 0;
	font-size: clamp(1.25rem, 2vw, 1.6rem);
	line-height: 1.2;
	color: var(--ix-atrament);
}
.ix-naglowek-sekcji__link {
	font-size: .9rem;
	font-weight: 600;
	color: var(--ix-akcent);
	text-decoration: none;
	white-space: nowrap;
}
.ix-naglowek-sekcji__link:hover,
.ix-naglowek-sekcji__link:focus-visible {
	text-decoration: underline;
}
.ix-kategorie__naglowek {
	max-width: var(--ix-width);
	margin-left: auto;
	margin-right: auto;
	padding-left: 1rem;
	padding-right: 1rem;
	box-sizing: border-box;
}
.ix-kategorie__container {
	box-sizing: border-box;
}
.ix-naglowek-sekcji + .ix-kategorie__container {
	margin-top: 0;
}

/* Kafelki: pasek koloru branży pod zdjęciem, nie przy lewej krawędzi */
.ix-kafelek::before {
	inset: auto 0 auto 0;
	top: 152px;
	width: auto;
	height: 4px;
	border-radius: 0;
}
.ix-kafelek__foto {
	height: 152px;
	padding: 0;
	background: #fff;
	border-bottom: 0;
}
.ix-kafelek__slowa {
	position: relative;
	gap: .45rem;
	padding: 1.1rem 2.4rem 1.15rem 1.15rem;
	background: var(--ix-plyta);
}
.ix-kafelek--bez-foto::before {
	top: 0;
}
.ix-kafelek--bez-foto .ix-kafelek__slowa {
	padding-top: 1.4rem;
	min-height: 110px;
}
.ix-kafelek__nazwa {
	font-size: 1.05rem;
}
.ix-kafelek__ile {
	display: inline-block;
	align-self: flex-start;
	padding: 2px 8px;
	font-family: inherit;
	font-size: 11px;
	font-weight: 500;
	color: var(--ix-tekst);
	background: var(--ix-tlo);
	border-radius: 999px;
}
.ix-kafelek__strzalka {
	position: absolute;
	right: 1rem;
	bottom: 1.05rem;
	font-size: 1.1rem;
	color: var(--ix-medium);
	opacity: 0;
	transform: translateX(-6px);
	transition: opacity .15s ease, transform .15s ease;
}
.ix-kafelek:hover .ix-kafelek__strzalka,
.ix-kafelek:focus-visible .ix-kafelek__strzalka {
	opacity: 1;
	transform: none;
}
.ix-kafelek:hover,
.ix-kafelek:focus-visible {
	border-color: var(--ix-linia);
}

/* Nowości: karta bez obramowania zdjęcia, nazwa większa */
.ix-nowosc__foto {
	border-bottom: 1px solid var(--ix-linia-cien);
}
.ix-nowosc__nazwa {
	font-size: 1rem;
}

/* CTA przed stopką: jasne tło, granatowe przyciski */
.ix-cta {
	background: var(--ix-tlo);
	border-top: 1px solid var(--ix-linia);
	padding: 3rem 0;
}
.ix-cta__container {
	color: var(--ix-atrament);
}
.ix-cta__slowa p {
	color: var(--ix-tekst);
}
.ix-cta__akcje .ix-btn,
.ix-cta__akcje .ix-btn:hover,
.ix-cta__akcje .ix-btn:focus-visible {
	background: var(--ix-granat);
	border-color: var(--ix-granat);
	color: #fff;
}
.ix-cta__akcje .ix-btn:hover,
.ix-cta__akcje .ix-btn:focus-visible {
	background: #0e3a72;
	border-color: #0e3a72;
}

/* Stopka: ten sam granat co hero, bez ramki wokół widżetów */
.site-footer .footer-widgets,
.site-footer .site-info,
.site-footer .footer-widgets-container {
	background-color: var(--ix-granat) !important;
}

@media (max-width: 768px) {
	.ix-hero.ix-hero--ciemna,
	.ix-hero.ix-hero--ciemna.ix-hero--foto {
		padding: 2.5rem 0 3rem;
	}
	.ix-hero__mozaika {
		margin-right: 0;
	}
	.ix-kafelek::before {
		top: 100px;
	}
	.ix-kafelek__foto {
		height: 100px;
		padding: 10px;
	}
	.ix-kafelek__slowa {
		padding: .8rem 1.8rem .85rem .8rem;
	}
	.ix-kafelek__strzalka {
		display: none;
	}
	.ix-naglowek-sekcji {
		flex-wrap: wrap;
	}
}
@media (prefers-reduced-motion: reduce) {
	.ix-kafelek__strzalka {
		transition: none;
	}
}


/* ==========================================================================
   3.6.2 Nagłówki sekcji ujednolicone, stopka na pełną szerokość
   ========================================================================== */
.ix-ofirmie .ix-naglowek-sekcji,
.ix-kroki .ix-naglowek-sekcji,
.ix-producenci .ix-naglowek-sekcji {
	margin-bottom: 1.75rem;
}
.ix-mapa-sekcja .ix-naglowek-sekcji {
	margin-bottom: 1.25rem;
}
.ix-mapa-sekcja__adres {
	margin-top: 0;
}

/* Tło stopki na całą szerokość, treść w kontenerze bez zmian */
.site-footer {
	background: var(--ix-granat);
}
.site-footer .footer-widgets,
.site-footer .site-info,
.site-footer .footer-widgets-container,
.site-footer .inside-site-info {
	background: transparent !important;
}


/* ==========================================================================
   3.6.3 Pasek nad menu, etykieta i CTA w hero
   ========================================================================== */
.ix-topbar {
	background: var(--ix-granat);
	color: rgba(255,255,255,.7);
	font-size: .8rem;
}
.ix-topbar a {
	color: #fff;
	font-weight: 600;
}
.ix-topbar__claim {
	color: rgba(255,255,255,.55);
}
.site-header {
	border-bottom: 1px solid var(--ix-linia);
}

/* Etykieta w hero: pigułka zamiast podkreślonego napisu */
.ix-hero--ciemna .ix-eyebrow {
	display: inline-block;
	width: auto;
	padding: 5px 12px;
	margin-bottom: 1.1rem;
	font-size: 11px;
	color: #fff;
	background: rgba(255,255,255,.12);
	border: 1px solid rgba(255,255,255,.18);
	border-bottom-color: rgba(255,255,255,.18);
	border-radius: 999px;
}

/* Dwa przyciski o równej wadze wizualnej, numer pod spodem */
.ix-hero--ciemna .ix-btn--drugi {
	background: #fff;
	border-color: #fff;
	color: var(--ix-granat);
}
.ix-hero--ciemna .ix-btn--drugi:hover,
.ix-hero--ciemna .ix-btn--drugi:focus-visible {
	background: #e8eef7;
	border-color: #e8eef7;
}
.ix-hero__tel {
	margin: .9rem 0 0;
	font-size: .9rem;
	color: rgba(255,255,255,.65);
}
.ix-hero__tel a {
	color: #fff;
	font-weight: 600;
	text-decoration: none;
	font-variant-numeric: tabular-nums;
}
.ix-hero__tel a:hover,
.ix-hero__tel a:focus-visible {
	text-decoration: underline;
	text-underline-offset: 3px;
}
.ix-hero--ciemna .ix-hero__meta {
	margin-top: 1.6rem;
}


/* ==========================================================================
   3.6.4 Zwykłe podstrony (O firmie, Kontakt, RODO, wpisy)
   Treść w kontenerze, tytuł w pasie nad tekstem, proza ograniczona do 72 ch.
   ========================================================================== */
.ix-podstrona .site-content {
	max-width: var(--ix-width);
	margin: 0 auto;
	padding: 0 1rem 4rem;
	box-sizing: border-box;
}
.ix-podstrona .content-area,
.ix-podstrona .site-main,
.ix-podstrona .inside-article {
	margin: 0;
	padding: 0;
	background: transparent;
}
.ix-podstrona article {
	background: transparent;
}

/* Pas z tytułem: pełna szerokość ekranu, treść w kontenerze */
.ix-podstrona .entry-header,
.ix-podstrona .page-header {
	margin: 0 calc(50% - 50vw) 2.75rem;
	padding: 2.75rem calc(50vw - 50%) 2.25rem;
	background: var(--ix-plyta);
	border-bottom: 1px solid var(--ix-linia);
}
.ix-podstrona .entry-header .inside-article,
.ix-podstrona .entry-title,
.ix-podstrona .page-title {
	max-width: var(--ix-width);
	margin: 0 auto;
	padding: 0 1rem;
	box-sizing: border-box;
	font-size: clamp(1.8rem, 3.4vw, 2.6rem);
	line-height: 1.15;
	letter-spacing: -.015em;
	color: var(--ix-atrament);
}
.ix-podstrona .entry-meta {
	max-width: var(--ix-width);
	margin: .5rem auto 0;
	padding: 0 1rem;
	font-size: .85rem;
	color: var(--ix-tekst);
}

/* Proza */
.ix-podstrona .entry-content {
	max-width: 72ch;
	margin: 0;
	font-size: 1.05rem;
	line-height: 1.7;
	color: var(--ix-atrament);
}
.ix-podstrona .entry-content > * {
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}
.ix-podstrona .entry-content p {
	margin: 0 0 1.15em;
}
.ix-podstrona .entry-content h2 {
	margin: 2.2em 0 .6em;
	font-size: 1.5rem;
}
.ix-podstrona .entry-content h3 {
	margin: 1.8em 0 .5em;
	font-size: 1.2rem;
}
.ix-podstrona .entry-content ul,
.ix-podstrona .entry-content ol {
	margin: 0 0 1.15em 1.25em;
}
.ix-podstrona .entry-content a {
	color: var(--ix-akcent);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.ix-podstrona .entry-content strong {
	font-weight: 600;
}

/* Shortcode'y sekcji na podstronie mogą iść na pełną szerokość kontenera */
.ix-podstrona .entry-content > [class^="ix-"],
.ix-podstrona .entry-content > section {
	max-width: none;
}
.ix-podstrona .entry-content:has(> .ix-kontakt),
.ix-podstrona .entry-content:has(> section) {
	max-width: none;
}

@media (max-width: 768px) {
	.ix-podstrona .entry-header,
	.ix-podstrona .page-header {
		margin-bottom: 1.75rem;
		padding-top: 1.75rem;
		padding-bottom: 1.5rem;
	}
	.ix-podstrona .site-content {
		padding-bottom: 2.5rem;
	}
}


/* ==========================================================================
   3.6.5 Listy katalogu (sklep, kategoria, tag, wyszukiwanie produktów)
   ========================================================================== */
.ix-katalog .site-content {
	display: flex;
	gap: 2.5rem;
	max-width: var(--ix-width);
	margin: 0 auto;
	padding: 2rem 1rem 4rem;
	box-sizing: border-box;
}
.ix-katalog .content-area {
	flex: 1 1 auto;
	min-width: 0;
	width: auto;
	margin: 0;
	padding: 0;
}
.ix-katalog .widget-area {
	flex: 0 0 280px;
	width: 280px;
	margin: 0;
	padding: 0;
}
.ix-katalog.left-sidebar .widget-area {
	order: -1;
}
.ix-katalog .site-main,
.ix-katalog .inside-article,
.ix-katalog article {
	margin: 0;
	padding: 0;
	background: transparent;
}

/* Widżety w kolumnie */
.ix-katalog .widget-area .widget,
.ix-katalog .widget-area .inside-right-sidebar .widget,
.ix-katalog .widget-area .inside-left-sidebar .widget {
	margin: 0 0 1.25rem;
	padding: 1.1rem 1.15rem 1.15rem;
	background: var(--ix-plyta);
	border: 1px solid var(--ix-linia);
	border-radius: var(--ix-r);
}
.ix-katalog .widget-area .widget-title {
	margin: 0 0 .75rem;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--ix-akcent);
	padding-bottom: .5rem;
	border-bottom: 1px solid var(--ix-linia);
}

/* Okruszki i nagłówek grupy */
.ix-katalog .woocommerce-breadcrumb {
	margin: 0 0 1.25rem;
	font-size: .82rem;
	color: var(--ix-tekst);
}
.ix-katalog .woocommerce-breadcrumb a {
	color: var(--ix-tekst);
	text-decoration: none;
}
.ix-katalog .woocommerce-breadcrumb a:hover {
	color: var(--ix-akcent);
	text-decoration: underline;
}
.ix-katalog .ix-naglowek {
	padding-left: 1.15rem;
	margin-bottom: 1.75rem;
}
.ix-katalog .ix-naglowek::before {
	width: 5px;
}
.ix-katalog .ix-naglowek .ix-eyebrow {
	color: var(--ix-akcent);
	margin-bottom: .35rem;
}
.ix-katalog .ix-naglowek h1 {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	letter-spacing: -.015em;
}

/* Wiersz nad listą: licznik i sortowanie w jednej linii */
.ix-katalog .woocommerce-result-count {
	font-family: inherit;
	font-size: .85rem;
	color: var(--ix-tekst);
	margin: 0;
	padding-top: .35rem;
}
.ix-katalog .woocommerce-ordering {
	margin: 0 0 1.25rem;
}
.ix-katalog .woocommerce-ordering select {
	padding: .45rem 2rem .45rem .75rem;
	font-size: .85rem;
	border: 1px solid var(--ix-linia);
	border-radius: var(--ix-r);
	background-color: var(--ix-plyta);
	color: var(--ix-atrament);
}

/* Karty produktów: kadr 1:1, podniesienie na hover */
.ix-katalog ul.products li.product {
	transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.ix-katalog ul.products li.product:hover {
	border-color: var(--ix-linia);
	transform: translateY(-3px);
	box-shadow: var(--ix-cien);
}
.ix-katalog ul.products li.product a img {
	aspect-ratio: 1 / 1;
	padding: 0 0 1.1rem 0;
	background: #fff;
	transition: transform .25s ease;
}
.ix-katalog ul.products li.product:hover a img {
	transform: scale(1.04);
}
.ix-katalog ul.products li.product .woocommerce-loop-product__title {
	font-size: 1rem !important;
	padding-top: .9rem;
}
.ix-katalog ul.products li.product .woocommerce-loop-product__title:last-child {
	padding-bottom: 1rem;
}

@media (max-width: 900px) {
	.ix-katalog .site-content {
		flex-direction: column;
		gap: 2rem;
		padding-top: 1.25rem;
	}
	.ix-katalog .widget-area {
		flex-basis: auto;
		width: auto;
		order: 1;
	}
	.ix-katalog.left-sidebar .widget-area {
		order: 1;
	}
}
@media (prefers-reduced-motion: reduce) {
	.ix-katalog ul.products li.product,
	.ix-katalog ul.products li.product a img {
		transition: none;
	}
	.ix-katalog ul.products li.product:hover {
		transform: none;
	}
}


/* ==========================================================================
   3.6.6 Karta produktu
   Galeria i kolumna z opisem w siatce zamiast floatów Woo, blok zapytania
   w kolumnie opisu, okruszki w kontenerze, podobne produkty w stylu list.
   ========================================================================== */
.single-product .site-content {
	max-width: var(--ix-width);
	margin: 0 auto;
	padding: 1.5rem 1rem 4rem;
	box-sizing: border-box;
}
.single-product .content-area,
.single-product .site-main,
.single-product .inside-article,
.single-product article {
	margin: 0;
	padding: 0;
	background: transparent;
}
.single-product .woocommerce-breadcrumb {
	margin: 0 0 1.5rem;
	font-size: .82rem;
	color: var(--ix-tekst);
}
.single-product .woocommerce-breadcrumb a {
	color: var(--ix-tekst);
	text-decoration: none;
}
.single-product .woocommerce-breadcrumb a:hover {
	color: var(--ix-akcent);
	text-decoration: underline;
}

/* Siatka: galeria | opis; zakładki i podobne na pełną szerokość */
.single-product div.product {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
	gap: 2.5rem 3rem;
	align-items: start;
}
.single-product div.product::before,
.single-product div.product::after {
	content: none;
}
.single-product div.product .woocommerce-product-gallery,
.single-product div.product .entry-summary {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
}
.single-product div.product .woocommerce-product-gallery {
	position: sticky;
	top: 1.5rem;
}
.single-product div.product .woocommerce-tabs,
.single-product div.product .related,
.single-product div.product .upsells,
.single-product div.product > .ix-zapytanie {
	grid-column: 1 / -1;
}

/* Galeria */
.single-product div.product .images img,
.single-product div.product .woocommerce-product-gallery__image img {
	padding: 2rem;
	background: #fff;
}
.single-product div.product .woocommerce-product-gallery__trigger {
	top: .75rem;
	right: .75rem;
	background: var(--ix-plyta);
	border: 1px solid var(--ix-linia);
}

/* Kolumna opisu */
.single-product div.product .product_title {
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	letter-spacing: -.015em;
	margin: 0 0 .75rem;
}
.single-product div.product .woocommerce-product-details__short-description {
	margin-bottom: 1.5rem;
}
.single-product div.product .entry-summary .ix-zapytanie {
	margin: 1.5rem 0 0;
}
.single-product div.product .entry-summary .ix-zapytanie .ix-eyebrow {
	color: var(--ix-akcent);
	margin-bottom: .6rem;
}
.single-product div.product .entry-summary .ix-zapytanie .ix-btn--glowny {
	background: var(--ix-main);
	border-color: var(--ix-main);
	color: #fff;
}
.single-product div.product .entry-summary .ix-zapytanie .ix-btn--glowny:hover,
.single-product div.product .entry-summary .ix-zapytanie .ix-btn--glowny:focus-visible {
	background: #c40001;
	border-color: #c40001;
}

/* Zakładki: tylko opis, więc pasek zakładek staje się nagłówkiem sekcji */
.single-product div.product .woocommerce-tabs {
	margin-top: 1rem;
}
.single-product div.product .woocommerce-tabs ul.tabs {
	margin: 0 0 1.25rem;
	padding: 0 0 .75rem;
	border-bottom: 1px solid var(--ix-linia);
}
.single-product div.product .woocommerce-tabs ul.tabs::before,
.single-product div.product .woocommerce-tabs ul.tabs::after {
	content: none;
}
.single-product div.product .woocommerce-tabs ul.tabs li {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}
.single-product div.product .woocommerce-tabs ul.tabs li::before,
.single-product div.product .woocommerce-tabs ul.tabs li::after {
	display: none;
}
.single-product div.product .woocommerce-tabs ul.tabs li a {
	padding: 0;
	font-size: clamp(1.25rem, 2vw, 1.6rem);
	font-weight: 600;
	color: var(--ix-atrament);
	letter-spacing: -.01em;
}
.single-product div.product .woocommerce-tabs .panel {
	max-width: 78ch;
	font-size: 1.02rem;
	line-height: 1.7;
	color: var(--ix-atrament);
}
.single-product div.product .woocommerce-tabs .panel p {
	margin: 0 0 1.1em;
}
.single-product div.product .woocommerce-tabs .panel a {
	color: var(--ix-akcent);
	word-break: break-word;
}

/* Podobne produkty */
.single-product div.product .related > h2,
.single-product div.product .upsells > h2 {
	margin: 1rem 0 1.25rem;
	padding-bottom: .75rem;
	font-size: clamp(1.25rem, 2vw, 1.6rem);
	letter-spacing: -.01em;
	border-bottom: 1px solid var(--ix-linia);
}
.single-product ul.products li.product {
	transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.single-product ul.products li.product:hover {
	border-color: var(--ix-linia);
	transform: translateY(-3px);
	box-shadow: var(--ix-cien);
}
.single-product ul.products li.product a img {
	aspect-ratio: 1 / 1;
	padding: 1.1rem;
	background: #fff;
}
.single-product ul.products li.product .woocommerce-loop-product__title {
	font-size: 1rem !important;
}

@media (max-width: 900px) {
	.single-product div.product {
		grid-template-columns: minmax(0, 1fr);
		gap: 1.5rem;
	}
	.single-product div.product .woocommerce-product-gallery {
		position: static;
	}
	.single-product .site-content {
		padding-top: 1rem;
	}
}
@media (prefers-reduced-motion: reduce) {
	.single-product ul.products li.product {
		transition: none;
	}
	.single-product ul.products li.product:hover {
		transform: none;
	}
}


/* ==========================================================================
   3.6.7 Podstrony: pas tytułu poza artykułem, karta kontaktowa po prawej,
   strony z sekcjami na pełną szerokość
   ========================================================================== */
.ix-podstrona.page .entry-header {
	display: none;
}
.ix-podstrona__tytul {
	margin: 0 calc(50% - 50vw) 2.75rem;
	padding: 2.75rem calc(50vw - 50%) 2.25rem;
	background: var(--ix-plyta);
	border-bottom: 1px solid var(--ix-linia);
}
.ix-podstrona__tytul h1 {
	margin: 0;
	font-size: clamp(1.8rem, 3.4vw, 2.6rem);
	line-height: 1.15;
	letter-spacing: -.015em;
	color: var(--ix-atrament);
}

/* Artykuł i karta obok siebie */
.ix-podstrona--bok .site-main {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 3.5rem;
	align-items: start;
}
.ix-podstrona--bok .entry-content {
	max-width: 72ch;
}
.ix-bok {
	position: sticky;
	top: 1.5rem;
}
.ix-bok__karta {
	padding: 1.5rem 1.5rem 1.6rem;
	background: var(--ix-plyta);
	border: 1px solid var(--ix-linia);
	border-top: 4px solid var(--ix-granat);
	border-radius: var(--ix-r);
}
.ix-bok__karta .ix-eyebrow {
	color: var(--ix-akcent);
	margin-bottom: .75rem;
}
.ix-bok__tel {
	display: block;
	font-size: 1.6rem;
	font-weight: 600;
	letter-spacing: -.01em;
	color: var(--ix-atrament);
	text-decoration: none;
	font-variant-numeric: tabular-nums;
	line-height: 1.2;
}
.ix-bok__mail {
	display: block;
	margin-top: .3rem;
	font-size: .95rem;
	color: var(--ix-akcent);
	text-decoration: none;
	word-break: break-all;
}
.ix-bok__tel:hover,
.ix-bok__mail:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}
.ix-bok__linia {
	margin: 1rem 0 0;
	font-size: .92rem;
	line-height: 1.55;
	color: var(--ix-tekst);
}
.ix-bok__akcje {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: 1.4rem;
}
.ix-bok__akcje .ix-btn {
	justify-content: center;
	text-align: center;
}

/* Strony z sekcjami (Oferta, Kontakt): brak limitu 72 ch, bez podkreśleń z prozy */
.ix-podstrona .entry-content:has(> [class^="ix-"]),
.ix-podstrona .entry-content:has(> section),
.ix-podstrona .entry-content:has(> .ix-kategorie) {
	max-width: none;
}
.ix-podstrona .entry-content [class^="ix-"] a,
.ix-podstrona .entry-content section a {
	text-decoration: none;
}
.ix-podstrona .entry-content .ix-naglowek-sekcji__link:hover {
	text-decoration: underline;
}
.ix-podstrona .entry-content .ix-kategorie {
	background: transparent;
	padding-top: 0;
}

@media (max-width: 900px) {
	.ix-podstrona--bok .site-main {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
	.ix-bok {
		position: static;
	}
	.ix-podstrona__tytul {
		margin-bottom: 1.75rem;
		padding-top: 1.75rem;
		padding-bottom: 1.5rem;
	}
}


/* ==========================================================================
   3.6.8 Podstrona z kartą: jawne miejsca w siatce
   GP odpala before/after_main_content wewnątrz <main>, więc pas tytułu
   i karta są elementami tej samej siatki co artykuł.
   ========================================================================== */
.ix-podstrona--bok .site-main {
	grid-template-columns: minmax(0, 1fr) 340px;
	grid-template-areas:
		"tytul tytul"
		"tresc bok";
	column-gap: 3.5rem;
	row-gap: 0;
}
.ix-podstrona--bok .ix-podstrona__tytul {
	grid-area: tytul;
}
.ix-podstrona--bok .site-main > article {
	grid-area: tresc;
	min-width: 0;
}
.ix-podstrona--bok .ix-bok {
	grid-area: bok;
	top: 1.5rem;
}
/* Pas tytułu w siatce: pełna szerokość ekranu liczona od kontenera */
.ix-podstrona--bok .ix-podstrona__tytul {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding-left: calc(50vw - 50%);
	padding-right: calc(50vw - 50%);
}

@media (max-width: 900px) {
	.ix-podstrona--bok .site-main {
		grid-template-columns: 1fr;
		grid-template-areas:
			"tytul"
			"tresc"
			"bok";
		row-gap: 2rem;
	}
}


/* ==========================================================================
   3.6.9 Sekcja "Nie znalazłeś produktu?" jako karta
   ========================================================================== */
.ix-cta {
	background: var(--ix-tlo);
	border-top: 0;
	padding: 0 0 var(--section-padding);
}
.ix-cta__container {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 1.5rem 3rem;
	align-items: center;
	max-width: var(--ix-width);
	margin: 0 auto;
	padding: 2.25rem 2.5rem;
	background: var(--ix-plyta);
	border: 1px solid var(--ix-linia);
	border-left: 5px solid var(--ix-main);
	border-radius: var(--ix-r);
	box-sizing: border-box;
	color: var(--ix-atrament);
}
.ix-cta__tytul {
	margin: 0 0 .4rem;
	font-size: clamp(1.25rem, 2vw, 1.6rem);
	letter-spacing: -.01em;
	line-height: 1.2;
}
.ix-cta__slowa p {
	margin: 0;
	font-size: 1rem;
	line-height: 1.6;
	color: var(--ix-tekst);
	max-width: 56ch;
}
.ix-cta__akcje {
	gap: 10px;
}
.ix-cta__akcje .ix-btn,
.ix-cta__akcje .ix-btn--contact {
	display: inline-flex;
	align-items: center;
	gap: .6rem;
	padding: .8rem 1.25rem;
	background: transparent;
	border: 1px solid var(--ix-granat);
	color: var(--ix-granat);
	border-radius: var(--ix-r);
	font-weight: 600;
	line-height: 1.15;
}
.ix-cta__akcje .ix-btn:first-child {
	background: var(--ix-main);
	border-color: var(--ix-main);
	color: #fff;
}
.ix-cta__akcje .ix-btn:first-child:hover,
.ix-cta__akcje .ix-btn:first-child:focus-visible {
	background: #c40001;
	border-color: #c40001;
}
.ix-cta__akcje .ix-btn:not(:first-child):hover,
.ix-cta__akcje .ix-btn:not(:first-child):focus-visible {
	background: var(--ix-granat);
	color: #fff;
}
.ix-cta__akcje .icon-holder {
	margin: 0;
	font-size: 1.35rem;
	line-height: 1;
}
.ix-cta__akcje .ix-btn__label {
	display: none;
}
.ix-cta__akcje .ix-btn__contact-info {
	font-size: 1rem;
	font-variant-numeric: tabular-nums;
}
.ix-cta__akcje .ix-btn > span:last-child {
	display: inline;
}

@media (max-width: 768px) {
	.ix-cta__container {
		grid-template-columns: 1fr;
		padding: 1.5rem 1.25rem;
		margin: 0 1rem;
	}
	.ix-cta__akcje {
		flex-direction: column;
		align-items: stretch;
	}
	.ix-cta__akcje .ix-btn {
		justify-content: center;
	}
}

/* ==========================================================================
   3.7.0 
 */
.ix-glowna .ix-hero--ciemna .ix-eyebrow {
	display: inline-block;
	width: auto;
	padding: 5px 12px;
	margin-bottom: 1.1rem;
	font-size: 11px;
	letter-spacing: .12em;
	color: #fff !important;
	background: rgba(255,255,255,.12);
	border: 1px solid rgba(255,255,255,.22);
	border-radius: 999px;
}

/* Hero: linijka licznika czytelna, ten sam font co reszta */
.ix-hero--ciemna .ix-hero__meta {
	margin-top: 1.4rem;
	font-family: inherit;
	font-size: 14px;
	color: rgba(255,255,255,.72);
}

/* Hero: mozaika w równej siatce 2x2, bez przesunięć kafli */
.ix-hero__mozaika-el:nth-child(1),
.ix-hero__mozaika-el:nth-child(4) {
	transform: none;
}
.ix-hero__mozaika {
	gap: 12px;
	max-width: 420px;
}

/* CTA "Nie znalazłeś produktu?": drugi przycisk widoczny.
   .ix-btn--contact { color:#fff !important } ze strony Kontakt malował
   tekst i ikonę mailowego przycisku na biało na białej karcie. */
.ix-cta__akcje .ix-btn--contact:not(:first-child) {
	color: var(--ix-granat) !important;
	letter-spacing: 0;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}
.ix-cta__akcje .ix-btn--contact:first-child {
	letter-spacing: 0;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}
.ix-cta__akcje .ix-btn--contact .ix-btn__contact-info,
.ix-cta__akcje .ix-btn--contact .icon,
.ix-cta__akcje .ix-btn--contact .icon-holder {
	color: inherit;
	opacity: 1;
	display: inline;
}
.ix-cta__akcje .ix-btn--contact:not(:first-child):hover,
.ix-cta__akcje .ix-btn--contact:not(:first-child):focus-visible {
	color: #fff !important;
}

/* Kafel "Cały katalog": granatowy, domyka siatkę grup */
.ix-kafelek--katalog {
	background: var(--ix-granat);
	border-color: var(--ix-granat);
}
.ix-kafelek--katalog::before {
	display: none;
}
.ix-kafelek--katalog .ix-kafelek__slowa {
	justify-content: center;
	min-height: 100%;
	padding-top: 1.4rem;
	background: transparent;
}
.ix-kafelek--katalog .ix-kafelek__nazwa {
	color: #fff;
	font-size: 1.15rem;
}
.ix-kafelek--katalog .ix-kafelek__ile {
	color: rgba(255,255,255,.85);
	background: rgba(255,255,255,.14);
}
.ix-kafelek--katalog .ix-kafelek__strzalka {
	color: #fff;
	opacity: .7;
	transform: none;
}
.ix-kafelek--katalog:hover,
.ix-kafelek--katalog:focus-visible {
	background: #0e3a72;
	border-color: #0e3a72;
}
.ix-kafelek--katalog:hover .ix-kafelek__strzalka,
.ix-kafelek--katalog:focus-visible .ix-kafelek__strzalka {
	opacity: 1;
	transform: translateX(3px);
}

/* Nowości: karty bez indeksu trzymają wysokość pozostałych */
.ix-nowosc {
	display: flex;
	flex-direction: column;
}
.ix-nowosc__nazwa {
	flex: 1 1 auto;
}
.ix-nowosc__nazwa:last-child {
	padding-bottom: calc(1rem + 11px * 1.5);
}

/* Mapa: placeholder ze zdjęciem albo z wzorem siatki i adresem */
.ix-mapa {
	min-height: 280px;
	border: 1px solid var(--ix-linia);
	background-color: #eef1f5;
	background-image:
		linear-gradient(rgba(11,42,82,.06) 1px, transparent 1px),
		linear-gradient(90deg, rgba(11,42,82,.06) 1px, transparent 1px);
	background-size: 28px 28px;
}
.ix-mapa--foto {
	background: none;
	min-height: 0;
}
.ix-mapa__foto {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}
.ix-mapa--foto .ix-mapa__start,
.ix-mapa--foto .ix-mapa__nota {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
}
.ix-mapa--foto .ix-mapa__start {
	top: 50%;
	transform: translate(-50%, -50%);
	box-shadow: 0 10px 24px -8px rgba(0,0,0,.45);
}
.ix-mapa--foto .ix-mapa__nota {
	bottom: 10px;
	padding: 2px 8px;
	background: rgba(255,255,255,.85);
	border-radius: 999px;
}
.ix-mapa__adres {
	font-weight: 600;
	color: var(--ix-atrament);
}
.ix-mapa iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

/* Kotwice sekcji: odstęp pod przyklejonym nagłówkiem po kliknięciu w link #o-firmie */
#o-firmie,
#jak-zamawiac,
#dojazd {
	scroll-margin-top: 90px;
}

/* ==========================================================================
   3.7.1 Katalog: panel filtrów nad wierszem licznik/sortowanie
   ========================================================================== */
.ix-katalog .ix-filtry {
	clear: both;
	margin-bottom: 1.25rem;
}
.ix-katalog .ix-filtry + .woocommerce-result-count {
	clear: left;
}

/* ==========================================================================
   3.7.2 Pasek grup bez kropek, paginacja w stylu przycisków
   ========================================================================== */
.ix-pasek a::before {
	display: none;
}
.ix-pasek a {
	padding: .38rem .85rem;
}
.ix-pasek a:hover,
.ix-pasek a:focus-visible {
	color: var(--ix-atrament);
	border-color: var(--ix-medium);
	background: var(--ix-plyta);
}

/* Paginacja WooCommerce: pigułki w rzędzie, aktywna granatowa, strzałki z etykietą */
.ix-katalog .woocommerce-pagination {
	margin: 2rem 0 0;
	padding-top: 1.5rem;
	border-top: 1px solid var(--ix-linia);
	text-align: center;
}
.ix-katalog .woocommerce-pagination ul.page-numbers {
	display: inline-flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px;
	margin: 0;
	padding: 0;
	border: 0;
	list-style: none;
}
.ix-katalog .woocommerce-pagination ul.page-numbers li {
	margin: 0;
	border: 0;
	float: none;
}
.ix-katalog .woocommerce-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 .85rem;
	font-size: .9rem;
	font-weight: 600;
	line-height: 1;
	color: var(--ix-atrament);
	background: var(--ix-plyta);
	border: 1px solid var(--ix-linia);
	border-radius: var(--ix-r);
	text-decoration: none;
	transition: border-color .15s ease, background .15s ease, color .15s ease;
}
.ix-katalog .woocommerce-pagination a.page-numbers:hover,
.ix-katalog .woocommerce-pagination a.page-numbers:focus-visible {
	border-color: var(--ix-granat);
	color: var(--ix-granat);
	background: var(--ix-plyta);
}
.ix-katalog .woocommerce-pagination .page-numbers.current {
	color: #fff;
	background: var(--ix-granat);
	border-color: var(--ix-granat);
}
.ix-katalog .woocommerce-pagination .page-numbers.dots {
	border-color: transparent;
	background: transparent;
	color: var(--ix-tekst);
}
.ix-katalog .woocommerce-pagination .page-numbers.prev::before {
	content: "Poprzednia";
	margin-right: .45rem;
	font-weight: 500;
}
.ix-katalog .woocommerce-pagination .page-numbers.next::after {
	content: "Następna";
	margin-left: .45rem;
	font-weight: 500;
}
@media (max-width: 600px) {
	.ix-katalog .woocommerce-pagination .page-numbers.prev::before,
	.ix-katalog .woocommerce-pagination .page-numbers.next::after {
		display: none;
	}
}

/* ==========================================================================
   3.7.3 Placeholder zdjęcia produktu
   ========================================================================== */
.woocommerce ul.products li.product img.woocommerce-placeholder,
.ix-nowosc__foto img.woocommerce-placeholder,
.ix-kafelek__foto img.woocommerce-placeholder {
	mix-blend-mode: normal;
	object-fit: cover;
	width: 100%;
	height: 100%;
}

/* ==========================================================================
   3.7.4 Filtry: wartości bez wyników wygaszone
   ========================================================================== */
.ix-pigulka--pusta {
	color: #9aa5b1;
	background: transparent;
	border-color: var(--ix-linia);
	border-style: dashed;
	cursor: not-allowed;
}
.ix-pigulka--pusta:hover,
.ix-pigulka--pusta:focus-visible {
	color: #9aa5b1;
	border-color: var(--ix-linia);
}
.ix-pigulka--pusta .ix-pigulka__ile {
	opacity: .7;
}
.ix-pusto .ix-btn {
	margin-top: 1rem;
}

/* ==========================================================================
   3.8.0 Standardy, nagłówek, megamenu "Oferta", poprawki po audycie
   Blok nadpisujący jak poprzednie: nic wyżej nie jest usuwane.
   ========================================================================== */

/* --- Dostępność: widoczny fokus z klawiatury na całej stronie --------------- */
:focus-visible {
	outline: 2px solid var(--ix-akcent);
	outline-offset: 2px;
}
.ix-hero--ciemna :focus-visible,
.site-footer :focus-visible,
.ix-topbar :focus-visible {
	outline-color: #fff;
}
.main-navigation .main-nav ul li a:focus-visible {
	outline-offset: -2px;
}

/* --- Nagłówek desktop: jedna wyszukiwarka, bez drugiej lupy ---------------- */
@media (min-width: 1025px) {
	#site-navigation .menu-bar-items {
		display: none;
	}
	.ix-szukajka {
		flex: 0 1 360px;
		max-width: 360px;
	}
}

/* --- Nagłówek 769-1024 px: menu w przełączniku, logo i ikony w jednym rzędzie */
@media (min-width: 769px) and (max-width: 1024px) {
	.inside-header {
		align-items: center;
	}
	.site-logo img {
		max-height: 44px;
		width: auto;
	}
	.has-inline-mobile-toggle #site-navigation.toggled .ix-szukajka {
		display: block;
		flex-basis: 100%;
		max-width: none;
		margin: 0;
		padding: .75rem 20px 1rem;
	}
}

/* --- Nagłówek telefon: pasek w jednej linii, mniejsze logo ----------------- */
@media (max-width: 768px) {
	.ix-topbar__in {
		padding: .45rem 16px;
		justify-content: center;
	}
	.ix-topbar__kontakt {
		gap: .35rem 1rem;
		justify-content: center;
		white-space: nowrap;
	}
	.site-logo img {
		max-height: 38px;
		width: auto;
	}
	.inside-header {
		padding-top: 12px;
		padding-bottom: 12px;
	}
}
@media (max-width: 480px) {
	/* Sam numer: adres e-mail jest w przyklejonym pasku "Napisz" na dole ekranu. */
	.ix-topbar__kontakt {
		font-size: .8rem;
	}
	.ix-topbar__mail {
		display: none;
	}
}

/* --- Hero na telefonie: najpierw tekst i przyciski, mozaika pod spodem ------ */
@media (max-width: 768px) {
	.ix-hero--ciemna .ix-hero__media-foto {
		order: 1;
	}
	.ix-hero--ciemna .ix-hero__mozaika {
		max-width: 300px;
		margin: .5rem auto 0;
		gap: 8px;
	}
	.ix-hero--ciemna .ix-hero__slowa > :first-child {
		font-size: clamp(1.6rem, 7.5vw, 2.1rem);
	}
}

/* --- Nowości: cztery karty na całą szerokość, nazwy w jednej linii --------- */
.ix-nowosci {
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
.ix-nowosc__meta {
	min-height: calc(.85rem + 11px * 1.5);
	box-sizing: content-box;
}
.ix-nowosc > .ix-nowosc__foto + .ix-nowosc__nazwa {
	padding-top: calc(.85rem + .35rem + 11px * 1.5);
}
.ix-nowosc__sku,
.instalex-loop-sku {
	font-family: inherit;
	font-size: 12px;
	letter-spacing: .01em;
}
.ix-nowosc__foto img.woocommerce-placeholder,
.woocommerce ul.products li.product img.woocommerce-placeholder {
	object-fit: contain;
	height: auto;
}
.woocommerce ul.products li.product img.woocommerce-placeholder {
	padding: 1rem;
	box-sizing: border-box;
}
@media (max-width: 768px) {
	.ix-nowosci {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.ix-nowosc > .ix-nowosc__foto + .ix-nowosc__nazwa {
		padding-top: .85rem;
	}
}

/* --- Karta produktu: galeria nie wyższa niż kolumna opisu ------------------ */
@media (min-width: 901px) {
	.single-product div.product {
		grid-template-columns: minmax(0, 4fr) minmax(0, 6fr);
	}
}
.single-product div.product .woocommerce-product-gallery__wrapper {
	background: #fff;
	border: 1px solid var(--ix-linia);
	border-radius: var(--ix-r);
}
.single-product div.product .woocommerce-product-gallery__image img {
	width: 100%;
	max-height: 480px;
	object-fit: contain;
}
.single-product div.product .woocommerce-product-details__short-description {
	max-width: 72ch;
	font-size: 1.02rem;
	line-height: 1.7;
	color: var(--ix-atrament);
}
.single-product div.product .related ul.products,
.single-product div.product .upsells ul.products {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}
@media (max-width: 900px) {
	.single-product div.product .woocommerce-product-gallery__image img {
		max-height: 340px;
	}
	.single-product div.product .related ul.products,
	.single-product div.product .upsells ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* --------------------------------------------------------------------------
   Megamenu "Oferta"
   Panel to zwykłe ul.sub-menu, więc GeneratePress otwiera go jak każde
   rozwijane menu (hover, fokus, przełącznik na telefonie). Poniżej tylko
   układ: na desktopie panel na całą szerokość nagłówka, na telefonie lista.
   -------------------------------------------------------------------------- */
.main-navigation .main-nav ul li.ix-ma-mega .ix-mega ul,
.main-navigation .main-nav ul li.ix-ma-mega .ix-mega li {
	position: static;
	float: none;
	width: auto;
	height: auto;
	left: auto;
	opacity: 1;
	overflow: visible;
	pointer-events: auto;
	visibility: visible;
	box-shadow: none;
	background: transparent;
}
.main-navigation .main-nav ul li.ix-ma-mega .ix-mega li a,
.main-navigation .main-nav ul li.ix-ma-mega .ix-mega li:hover > a,
.main-navigation .main-nav ul li.ix-ma-mega .ix-mega li:focus-within > a {
	background: transparent;
	color: var(--ix-atrament);
	line-height: 1.35;
	text-transform: none;
	letter-spacing: 0;
	font-weight: 500;
}
.ix-mega__tytul {
	display: block;
	margin: 0 0 .9rem;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--ix-akcent);
}
.ix-mega__lista,
.ix-mega__akcje {
	margin: 0;
	padding: 0;
	list-style: none;
}
.ix-mega__foto {
	flex: 0 0 auto;
	display: block;
	width: 44px;
	height: 44px;
	padding: 3px;
	object-fit: contain;
	background: #fff;
	border: 1px solid var(--ix-linia-cien);
	border-radius: 4px;
	box-sizing: border-box;
	mix-blend-mode: normal;
}
.ix-mega__foto--brak {
	background: var(--ix-tlo);
}
.ix-mega__slowa {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}
.ix-mega__nazwa {
	font-size: .92rem;
	font-weight: 600;
	line-height: 1.25;
	color: var(--ix-atrament);
}
.ix-mega__ile {
	font-size: .76rem;
	font-weight: 400;
	color: var(--ix-tekst);
	white-space: nowrap;
}
.ix-mega__badge {
	display: inline-block;
	margin-left: .4rem;
	padding: 1px 8px;
	font-size: .76rem;
	font-weight: 600;
	color: #fff;
	background: var(--ix-granat);
	border-radius: 999px;
	vertical-align: 1px;
}

@media (min-width: 1025px) {
	.site-header {
		position: relative;
	}
	/* Panel pozycjonuje się względem całego nagłówka, nie paska nawigacji. */
	.main-navigation .inside-navigation,
	.main-navigation .main-nav ul li.ix-ma-mega {
		position: static;
	}
	.main-navigation .main-nav ul li.ix-ma-mega > ul.ix-mega {
		left: 0 !important;
		right: 0 !important;
		top: 100%;
		width: auto;
		float: none;
		display: grid;
		grid-template-columns: minmax(0, 1fr) 320px;
		gap: 0 2.5rem;
		padding: 1.6rem calc(max(0px, (100% - var(--ix-width)) / 2) + 1rem) 0;
		box-sizing: border-box;
		background: var(--ix-plyta);
		border-top: 1px solid var(--ix-linia);
		box-shadow: 0 28px 44px -28px rgba(11, 42, 82, .45);
		text-align: left;
		height: 0;
		overflow: hidden;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transform: translateY(-6px);
		transition: opacity .16s ease, transform .16s ease, visibility 0s linear .16s;
	}
	/* Otwiera klasa ix-otwarte (skrypt, 200 ms opóźnienia), fokus z klawiatury od razu. */
	.main-navigation .main-nav ul li.ix-ma-mega.ix-otwarte > ul.ix-mega,
	.main-navigation .main-nav ul li.ix-ma-mega.sfHover > ul.ix-mega,
	.main-navigation .main-nav ul li.ix-ma-mega:focus-within > ul.ix-mega {
		height: auto;
		overflow: visible;
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: none;
		transition-delay: 0s;
	}

	/* Kolumna grup: trzy kolumny, cztery rzędy */
	.main-navigation .main-nav ul li.ix-ma-mega .ix-mega .ix-mega__grupy .ix-mega__lista {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 4px 16px;
	}
	.main-navigation .main-nav ul li.ix-ma-mega .ix-mega__lista li a {
		display: flex;
		align-items: center;
		gap: 12px;
		padding: 7px 10px 7px 12px;
		border-left: 3px solid var(--ix-medium);
		border-radius: 4px;
		transition: background .12s ease;
	}
	.main-navigation .main-nav ul li.ix-ma-mega .ix-mega__lista li a:hover,
	.main-navigation .main-nav ul li.ix-ma-mega .ix-mega__lista li a:focus-visible {
		background: var(--ix-tlo);
	}
	.main-navigation .main-nav ul li.ix-ma-mega .ix-mega__lista li a:hover .ix-mega__nazwa {
		color: var(--ix-akcent);
	}

	/* Kolumna nowości */
	.ix-mega__nowosci {
		padding-left: 2.5rem;
		border-left: 1px solid var(--ix-linia);
	}
	.main-navigation .main-nav ul li.ix-ma-mega .ix-mega .ix-mega__lista--nowosci {
		display: flex;
		flex-direction: column;
		gap: 4px;
	}
	.main-navigation .main-nav ul li.ix-ma-mega .ix-mega__lista--nowosci li a {
		border-left: 0;
		padding-left: 8px;
	}
	.ix-mega__lista--nowosci .ix-mega__foto {
		width: 52px;
		height: 52px;
	}
	.ix-mega__lista--nowosci .ix-mega__nazwa {
		white-space: normal;
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
		line-height: 1.3;
	}
	.main-navigation .main-nav ul li.ix-ma-mega .ix-mega__wiecej a {
		display: inline-block;
		margin-top: .35rem;
		padding: 6px 8px;
		font-size: .86rem;
		font-weight: 600;
		color: var(--ix-akcent);
	}

	/* Pasek dolny */
	.ix-mega__stopka {
		grid-column: 1 / -1;
		margin-top: 1.4rem;
		border-top: 1px solid var(--ix-linia);
	}
	.main-navigation .main-nav ul li.ix-ma-mega .ix-mega .ix-mega__akcje {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: .25rem 1.25rem;
		padding: .7rem 0;
	}
	.main-navigation .main-nav ul li.ix-ma-mega .ix-mega__akcje li a {
		display: inline-flex;
		align-items: center;
		padding: 6px 8px;
		font-size: .88rem;
		font-weight: 600;
		color: var(--ix-atrament);
		border-radius: 4px;
	}
	.main-navigation .main-nav ul li.ix-ma-mega .ix-mega__akcje li a:hover,
	.main-navigation .main-nav ul li.ix-ma-mega .ix-mega__akcje li a:focus-visible {
		color: var(--ix-akcent);
		background: var(--ix-tlo);
	}
	.ix-mega__akcje .ix-mega__tel {
		margin-left: auto;
	}
	.ix-mega__tel-etykieta {
		font-weight: 400;
		color: var(--ix-tekst);
		margin-right: .35rem;
	}
	.main-navigation .main-nav ul li.ix-ma-mega .ix-mega__akcje .ix-mega__tel a {
		font-variant-numeric: tabular-nums;
		color: var(--ix-granat);
	}
}

/* Węższy desktop: dwie kolumny grup, nowości nadal obok */
@media (min-width: 1025px) and (max-width: 1280px) {
	.main-navigation .main-nav ul li.ix-ma-mega .ix-mega .ix-mega__grupy .ix-mega__lista {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.main-navigation .main-nav ul li.ix-ma-mega > ul.ix-mega {
		grid-template-columns: minmax(0, 1fr) 280px;
	}
}

/* Telefon i tablet: panel jako zwykła lista grup w rozwijanym menu */
@media (max-width: 1024px) {
	.ix-mega__tytul,
	.ix-mega__nowosci,
	.ix-mega__stopka,
	.ix-mega__foto {
		display: none;
	}
	.main-navigation .main-nav ul li.ix-ma-mega .ix-mega__lista li a {
		display: flex;
		align-items: baseline;
		justify-content: space-between;
		gap: .75rem;
		padding: 9px 20px 9px 32px;
		border-left: 3px solid var(--ix-medium);
	}
	.main-navigation .main-nav ul li.ix-ma-mega .ix-mega__slowa {
		flex-direction: row;
		align-items: baseline;
		justify-content: space-between;
		width: 100%;
	}
	.ix-mega__nazwa {
		font-size: .95rem;
		white-space: normal;
	}
}

@media (prefers-reduced-motion: reduce) {
	.main-navigation .main-nav ul li.ix-ma-mega > ul.ix-mega,
	.main-navigation .main-nav ul li.ix-ma-mega .ix-mega__lista li a {
		transition: none;
	}
}

/* ==========================================================================
   3.8.1 Poprawki po przeglądzie: nagłówek w jednej linii, opóźnienie megamenu,
   CTA w grupach, kroki wyśrodkowane, strzałki IcoFont, kafel "Cały katalog"
   ========================================================================== */

/* --- Nagłówek desktop: logo, menu i wyszukiwarka zawsze w jednym rzędzie --- */
@media (min-width: 1025px) {
	/* Nawigacja bierze całą resztę szerokości po logo; menu nie zawija się,
	   pole wyszukiwania oddaje miejsce, a gdy i tego mało, skrypt zwija je do lupy. */
	.nav-float-right #site-navigation {
		flex: 1 1 auto;
		min-width: 0;
	}
	.main-navigation .inside-navigation {
		flex-wrap: nowrap;
		justify-content: flex-end;
		gap: 1.5rem;
	}
	#site-navigation .main-nav {
		flex: 0 0 auto;
	}
	#site-navigation .main-nav > ul {
		flex-wrap: nowrap;
	}
	.ix-szukajka {
		flex: 0 1 340px;
		min-width: 220px;
		max-width: 340px;
		margin-left: 0;
		padding: 0;
	}
	/* Za mało miejsca: pole znika, zostaje lupa FiboSearch (układ "icon"). */
	body.ix-szukajka-ikona .ix-szukajka {
		display: none;
	}
	body.ix-szukajka-ikona #site-navigation .menu-bar-items {
		display: flex;
	}
	body.ix-szukajka-ikona #site-navigation .menu-bar-items .dgwt-wcas-search-icon {
		display: inline-flex;
		align-items: center;
		padding: 0 4px;
	}
	.site-logo img {
		max-height: none;
	}
}

/* --- Strzałki IcoFont w linkach sekcji i kaflach ---------------------------- */
.ix-naglowek-sekcji__link i,
.ix-kafelek__strzalka i,
.ix-mega__wiecej i {
	font-size: 1.1em;
	vertical-align: -1px;
	margin-left: .15em;
	transition: transform .15s ease;
}
.ix-naglowek-sekcji__link:hover i,
.ix-naglowek-sekcji__link:focus-visible i {
	transform: translateX(3px);
}

/* Link "Cały katalog" przy nagłówku sekcji: granat zamiast błękitu */
.ix-naglowek-sekcji__link,
.ix-glowna .ix-naglowek-sekcji__link {
	color: var(--ix-granat);
	text-decoration: none;
}
.ix-naglowek-sekcji__link:hover,
.ix-naglowek-sekcji__link:focus-visible {
	color: var(--ix-main);
	text-decoration: none;
}

/* Kafel "Cały katalog": treść wyśrodkowana, strzałka pod licznikiem */
.ix-kafelek--katalog .ix-kafelek__slowa {
	align-items: center;
	text-align: center;
	padding: 1.4rem 1.15rem;
}
.ix-kafelek--katalog .ix-kafelek__ile {
	align-self: center;
}
.ix-kafelek--katalog .ix-kafelek__strzalka {
	position: static;
	margin-top: .35rem;
	font-size: 1.35rem;
	opacity: .8;
	transform: none;
}
.ix-kafelek--katalog:hover .ix-kafelek__strzalka,
.ix-kafelek--katalog:focus-visible .ix-kafelek__strzalka {
	opacity: 1;
	transform: translateX(4px);
}

/* --- Jak zamawiać: numer wyśrodkowany nad tekstem --------------------------- */
.ix-krok {
	text-align: center;
}
.ix-krok__nr {
	margin-left: auto;
	margin-right: auto;
}
.ix-krok__opis {
	margin-left: auto;
	margin-right: auto;
	max-width: 34ch;
}
@media (min-width: 769px) {
	/* Oś między numerami: od prawej krawędzi jednego kółka do lewej następnego */
	.ix-krok:not(:last-child)::after {
		left: calc(50% + 28px);
		right: calc(-50% + 28px - 2.5rem);
	}
}

/* --- CTA "Nie znalazłeś produktu?" pod listą produktów w grupie ------------- */
.ix-cta-katalog {
	clear: both;
	margin-top: 2.5rem;
}
.ix-cta-katalog .ix-cta {
	background: transparent;
	padding: 0;
}
.ix-cta-katalog .ix-cta__container {
	margin: 0;
	max-width: none;
}

/* ==========================================================================
   3.8.2 Kontakt, pasek grup na telefonie, przyciski zapytania, poziomy scroll
   ========================================================================== */

/* --- Poziomy pasek przewijania: pas tytułu liczy 50vw łącznie z paskiem
   przewijania (8-17 px za dużo). Przycinamy dokument w poziomie; clip nie
   tworzy kontenera przewijania, więc sticky i kotwice działają dalej. --- */
html,
body {
	overflow-x: clip;
}

/* --- Przyciski z ikoną (zapytanie o produkt, kontakt) ----------------------- */
.ix-btn--ikona {
	display: inline-flex;
	align-items: center;
	gap: .55rem;
	font-weight: 500;
}
.ix-btn--ikona i {
	display: inline-block;
	width: 1.15em;
	height: 1.15em;
	font-size: 1.15em;
	line-height: 1;
}
.ix-btn--ikona strong {
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}
.ix-btn--ikona {
	white-space: nowrap;
}
@media (max-width: 480px) {
	.ix-btn--ikona {
		white-space: normal;
		justify-content: center;
	}
}
.single-product div.product .entry-summary .ix-zapytanie .ix-btn:not(.ix-btn--glowny) {
	color: var(--ix-granat);
	border-color: var(--ix-granat);
	background: var(--ix-plyta);
}
.single-product div.product .entry-summary .ix-zapytanie .ix-btn:not(.ix-btn--glowny):hover,
.single-product div.product .entry-summary .ix-zapytanie .ix-btn:not(.ix-btn--glowny):focus-visible {
	color: #fff;
	background: var(--ix-granat);
	opacity: 1;
}

/* --- Strona Kontakt --------------------------------------------------------- */
.ix-kontakt-strona {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	gap: 2.5rem 3rem;
	align-items: start;
	margin: 0 0 2rem;
}
.ix-kontakt-strona__lead {
	margin: 0 0 1.5rem;
	font-size: 1.08rem;
	line-height: 1.6;
	color: var(--ix-tekst);
	max-width: 60ch;
}
.ix-kontakt-strona .ix-kontakt {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin: 0;
}
.ix-kontakt-strona .ix-kontakt__blok {
	padding: 1.25rem 1.4rem 1.35rem;
}
.ix-kontakt-strona .ix-kontakt__blok .ix-eyebrow {
	color: var(--ix-akcent);
	margin-bottom: .6rem;
}
.ix-kontakt-strona .ix-kontakt__blok p {
	font-size: 1rem;
	line-height: 1.7;
	color: var(--ix-atrament);
}
.ix-kontakt-strona .ix-kontakt__blok a {
	color: var(--ix-granat);
	font-weight: 500;
}
.ix-kontakt-strona .ix-kontakt__blok a:hover,
.ix-kontakt-strona .ix-kontakt__blok a:focus-visible {
	color: var(--ix-main);
}
.ix-kontakt__pod {
	display: block;
	margin: .9rem 0 .2rem;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--ix-tekst);
}
.ix-kontakt__blok--rejestr {
	grid-column: 1 / -1;
}
.ix-kontakt__blok--rejestr p {
	columns: 2;
	column-gap: 2rem;
}
.ix-kontakt-strona__bok {
	display: flex;
	flex-direction: column;
	gap: 16px;
	position: sticky;
	top: 1.5rem;
}
.ix-kontakt-strona__karta {
	padding: 1.5rem 1.6rem 1.6rem;
	background: var(--ix-plyta);
	border: 1px solid var(--ix-linia);
	border-left: 5px solid var(--ix-main);
	border-radius: var(--ix-r);
}
.ix-kontakt-strona__karta .ix-eyebrow {
	color: var(--ix-akcent);
	margin-bottom: .6rem;
}
.ix-kontakt-strona__karta p {
	margin: 0 0 1.1rem;
	color: var(--ix-tekst);
	line-height: 1.6;
}
.ix-kontakt-strona__akcje {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
/* Selektory z .entry-content, bo reguła .ix-podstrona .entry-content a maluje linki na błękit */
.ix-podstrona .entry-content .ix-kontakt-strona__akcje a.ix-btn,
.ix-kontakt-strona__akcje a.ix-btn {
	text-decoration: none;
}
.ix-podstrona .entry-content .ix-kontakt-strona__akcje a.ix-btn--glowny,
.ix-kontakt-strona__akcje a.ix-btn--glowny {
	background: var(--ix-main);
	border: 1px solid var(--ix-main);
	color: #fff;
}
.ix-podstrona .entry-content .ix-kontakt-strona__akcje a.ix-btn--glowny:hover,
.ix-podstrona .entry-content .ix-kontakt-strona__akcje a.ix-btn--glowny:focus-visible {
	background: #c40001;
	border-color: #c40001;
	color: #fff;
	opacity: 1;
}
.ix-podstrona .entry-content .ix-kontakt-strona__akcje a.ix-btn:not(.ix-btn--glowny),
.ix-kontakt-strona__akcje a.ix-btn:not(.ix-btn--glowny) {
	color: var(--ix-granat);
	border-color: var(--ix-granat);
}
.ix-podstrona .entry-content .ix-kontakt-strona__akcje a.ix-btn:not(.ix-btn--glowny):hover,
.ix-podstrona .entry-content .ix-kontakt-strona__akcje a.ix-btn:not(.ix-btn--glowny):focus-visible {
	color: #fff;
	background: var(--ix-granat);
	opacity: 1;
}
.ix-podstrona .entry-content .ix-kontakt-strona .ix-kontakt__blok a {
	text-decoration: none;
	color: var(--ix-granat);
}
.ix-podstrona .entry-content .ix-kontakt-strona .ix-kontakt__blok a:hover,
.ix-podstrona .entry-content .ix-kontakt-strona .ix-kontakt__blok a:focus-visible {
	color: var(--ix-main);
	text-decoration: underline;
}
.ix-kontakt-strona__mapa .ix-eyebrow {
	color: var(--ix-akcent);
	margin-bottom: .6rem;
}
.ix-kontakt-strona__mapa .ix-mapa {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: .6rem;
	min-height: 300px;
	border-radius: var(--ix-r);
	overflow: hidden;
}
.ix-kontakt-strona__mapa .ix-mapa__start {
	color: #fff;
	background: var(--ix-granat);
	border-color: var(--ix-granat);
}
.ix-kontakt-strona__mapa .ix-mapa__nota {
	font-size: .75rem;
	color: var(--ix-tekst);
}
@media (max-width: 900px) {
	.ix-kontakt-strona {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}
	.ix-kontakt-strona__bok {
		position: static;
	}
}
@media (max-width: 600px) {
	.ix-kontakt-strona .ix-kontakt {
		grid-template-columns: 1fr;
	}
	.ix-kontakt__blok--rejestr p {
		columns: 1;
	}
	.ix-kontakt-strona__akcje .ix-btn {
		flex: 1 1 100%;
		justify-content: center;
	}
}

/* --- Pasek grup: na telefonie lista rozwijana z bieżącą grupą -------------- */
.ix-pasek__toggle {
	display: none;
}
@media (max-width: 768px) {
	.ix-pasek-wrap {
		position: relative;
		margin-bottom: 1.25rem;
	}
	.ix-pasek__toggle {
		display: flex;
		align-items: center;
		gap: .7rem;
		width: 100%;
		padding: .8rem 1rem;
		font: inherit;
		font-size: .98rem;
		font-weight: 600;
		text-align: left;
		color: var(--ix-atrament);
		background: var(--ix-plyta);
		border: 1px solid var(--ix-linia);
		border-radius: var(--ix-r);
		cursor: pointer;
	}
	.ix-pasek__kropka {
		flex: 0 0 auto;
		width: 10px;
		height: 10px;
		border-radius: 50%;
		background: var(--ix-medium);
	}
	.ix-pasek__biezaca {
		flex: 1 1 auto;
		min-width: 0;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
	.ix-pasek__chevron {
		flex: 0 0 auto;
		width: 9px;
		height: 9px;
		margin-right: 4px;
		border-right: 2px solid var(--ix-tekst);
		border-bottom: 2px solid var(--ix-tekst);
		transform: translateY(-2px) rotate(45deg);
		transition: transform .15s ease;
	}
	.ix-pasek-wrap--otwarty .ix-pasek__toggle {
		border-color: var(--ix-granat);
		border-bottom-left-radius: 0;
		border-bottom-right-radius: 0;
	}
	.ix-pasek-wrap--otwarty .ix-pasek__chevron {
		transform: translateY(2px) rotate(-135deg);
	}
	.ix-pasek-wrap .ix-pasek {
		display: none;
		flex-wrap: nowrap;
		position: absolute;
		left: 0;
		right: 0;
		top: 100%;
		z-index: 20;
		margin: -1px 0 0;
		padding: .35rem 0;
		flex-direction: column;
		gap: 0;
		background: var(--ix-plyta);
		border: 1px solid var(--ix-granat);
		border-top-color: var(--ix-linia);
		border-radius: 0 0 var(--ix-r) var(--ix-r);
		box-shadow: 0 18px 32px -18px rgba(11, 42, 82, .4);
		max-height: min(60vh, 420px);
		overflow-y: auto;
	}
	.ix-pasek-wrap--otwarty .ix-pasek {
		display: flex;
	}
	.ix-pasek-wrap .ix-pasek li {
		margin: 0;
	}
	.ix-pasek-wrap .ix-pasek a {
		display: flex;
		align-items: center;
		gap: .7rem;
		padding: .7rem 1rem .7rem .85rem;
		border: 0;
		border-left: 3px solid transparent;
		border-radius: 0;
		background: transparent;
		color: var(--ix-atrament);
		font-weight: 500;
	}
	.ix-pasek-wrap .ix-pasek a::before,
	.ix-pasek-wrap .ix-pasek li.ix-aktywna a::before {
		content: "";
		display: inline-block;
		position: static;
		margin: 0;
		width: 8px;
		height: 8px;
		border-radius: 50%;
		background: var(--ix-medium);
		opacity: .85;
	}
	.ix-pasek-wrap .ix-pasek li.ix-aktywna a {
		border-left-color: var(--ix-medium);
		background: color-mix(in srgb, var(--ix-medium) 10%, var(--ix-plyta));
		color: var(--ix-medium);
		font-weight: 600;
	}
}

/* ==========================================================================
   3.8.3 Telefon: filtry jako listy, wyszukiwarka pod nagłówkiem, menu z liniami
   ========================================================================== */

/* --- Filtry: pigułki na desktopie, <select> na telefonie ------------------- */
.ix-filtr__select {
	display: none;
}
@media (max-width: 768px) {
	.ix-katalog .ix-filtry__grupy {
		display: grid;
		grid-template-columns: 1fr;
		gap: .6rem;
	}
	.ix-katalog .ix-filtr {
		display: grid;
		grid-template-columns: minmax(96px, 34%) minmax(0, 1fr);
		align-items: center;
		gap: .75rem;
		margin: 0;
		padding: 0;
		border: 0;
	}
	.ix-katalog .ix-filtr__nazwa {
		margin: 0;
		font-size: 12px;
		font-weight: 600;
		letter-spacing: .08em;
		text-transform: uppercase;
		color: var(--ix-tekst);
	}
	.ix-katalog .ix-filtr__wartosci {
		display: none;
	}
	.ix-katalog .ix-filtr__select {
		display: block;
		width: 100%;
		min-height: 42px;
		padding: .5rem 2.2rem .5rem .8rem;
		font: inherit;
		font-size: .95rem;
		font-weight: 500;
		color: var(--ix-atrament);
		background-color: var(--ix-plyta);
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%235c6875' stroke-width='2'/%3E%3C/svg%3E");
		background-repeat: no-repeat;
		background-position: right .8rem center;
		border: 1px solid var(--ix-linia);
		border-radius: var(--ix-r);
		appearance: none;
		-webkit-appearance: none;
	}
	.ix-katalog .ix-filtr__select:focus-visible {
		border-color: var(--ix-granat);
		outline-offset: 0;
	}
	.ix-katalog .ix-filtry__reset {
		display: inline-block;
		margin-top: .75rem;
	}
}

/* --- Wyszukiwarka pod nagłówkiem na telefonie i tablecie ------------------- */
.ix-szukajka-mobile {
	display: none;
}
@media (max-width: 1024px) {
	.ix-szukajka-mobile {
		display: block;
		background: var(--ix-plyta);
		border-bottom: 1px solid var(--ix-linia);
	}
	.ix-szukajka-mobile__in {
		max-width: var(--ix-width);
		margin: 0 auto;
		padding: .6rem 16px .75rem;
		box-sizing: border-box;
	}
	.ix-szukajka-mobile .dgwt-wcas-search-wrapp {
		max-width: none;
	}
	.ix-szukajka-mobile .dgwt-wcas-search-input {
		font-family: inherit;
		border-color: var(--ix-linia);
	}
	/* Lupa z paska GP i pole w rozwijanym menu są zbędne, gdy pole stoi pod nagłówkiem. */
	.mobile-menu-control-wrapper .menu-bar-items,
	#site-navigation .ix-szukajka,
	.has-inline-mobile-toggle #site-navigation.toggled .ix-szukajka {
		display: none;
	}
	.site-header {
		border-bottom: 0;
	}
}

/* --- Menu na telefonie: pozycje rozdzielone linią, aktywna z akcentem ------- */
@media (max-width: 1024px) {
	.main-navigation .main-nav > ul > li {
		border-bottom: 1px solid var(--ix-linia-cien);
	}
	.main-navigation .main-nav > ul > li:last-child {
		border-bottom: 0;
	}
	.main-navigation .main-nav > ul > li > a {
		font-weight: 500;
	}
	.main-navigation .main-nav > ul > li.current-menu-item > a,
	.main-navigation .main-nav > ul > li.current-menu-ancestor > a {
		color: var(--ix-granat);
		font-weight: 600;
		box-shadow: inset 3px 0 0 var(--ix-main);
	}
	.main-navigation .main-nav ul li.ix-ma-mega > ul.ix-mega.toggled-on {
		background: var(--ix-tlo);
		border-top: 1px solid var(--ix-linia-cien);
	}
	.main-navigation .main-nav ul li.ix-ma-mega .ix-mega__lista li + li a {
		border-top: 1px solid var(--ix-linia-cien);
	}
}

/* --- Opis produktu po redakcji: śródtytuły, listy, pogrubienia -------------- */
.single-product div.product .woocommerce-tabs .panel h3,
.single-product div.product .woocommerce-product-details__short-description h3 {
	margin: 1.6em 0 .5em;
	font-size: 1.15rem;
	line-height: 1.3;
	color: var(--ix-atrament);
}
.single-product div.product .woocommerce-tabs .panel h3:first-child,
.single-product div.product .woocommerce-product-details__short-description h3:first-child {
	margin-top: 0;
}
.single-product div.product .woocommerce-tabs .panel ul,
.single-product div.product .woocommerce-product-details__short-description ul {
	margin: 0 0 1.1em 1.2em;
	padding: 0;
}
.single-product div.product .woocommerce-tabs .panel li,
.single-product div.product .woocommerce-product-details__short-description li {
	margin: 0 0 .3em;
	padding-left: .15em;
}
.single-product div.product .woocommerce-tabs .panel li::marker,
.single-product div.product .woocommerce-product-details__short-description li::marker {
	color: var(--ix-akcent);
}
.single-product div.product .woocommerce-tabs .panel strong,
.single-product div.product .woocommerce-product-details__short-description strong {
	font-weight: 600;
	color: var(--ix-atrament);
}

/* ==========================================================================
   3.9.0 Wpisy (Nowości): lista kart i pojedynczy artykuł
   ========================================================================== */
.ix-blog__tytul .ix-eyebrow {
	color: var(--ix-akcent);
	margin-bottom: .6rem;
}
.ix-blog__lead {
	max-width: 64ch;
	margin-top: .75rem;
	color: var(--ix-tekst);
	font-size: 1.05rem;
	line-height: 1.6;
}
.ix-blog__lead p {
	margin: 0;
}

/* Siatka kart */
.ix-blog {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	margin: 0 0 2.5rem;
}
.ix-wpis-karta {
	display: flex;
	flex-direction: column;
	margin: 0;
	background: var(--ix-plyta);
	border: 1px solid var(--ix-linia);
	border-radius: var(--ix-r);
	overflow: hidden;
	transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.ix-wpis-karta:hover,
.ix-wpis-karta:focus-within {
	border-color: var(--ix-linia);
	transform: translateY(-3px);
	box-shadow: var(--ix-cien);
}
.ix-wpis-karta__foto {
	display: block;
	aspect-ratio: 16 / 10;
	background: #fafbfc;
	border-bottom: 1px solid var(--ix-linia-cien);
	overflow: hidden;
}
.ix-wpis-karta__foto img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .3s ease;
}
.ix-wpis-karta:hover .ix-wpis-karta__foto img {
	transform: scale(1.03);
}
.ix-wpis-karta__brak {
	display: block;
	width: 100%;
	height: 100%;
	background:
		linear-gradient(rgba(11,42,82,.06) 1px, transparent 1px),
		linear-gradient(90deg, rgba(11,42,82,.06) 1px, transparent 1px);
	background-size: 24px 24px;
}
.ix-wpis-karta__tresc {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	gap: .5rem;
	padding: 1.15rem 1.35rem 1.3rem;
}
.ix-wpis-karta__data {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--ix-akcent);
}
.ix-wpis-karta__tytul {
	margin: 0;
	font-size: 1.15rem;
	line-height: 1.3;
	letter-spacing: -.01em;
}
.ix-podstrona .ix-wpis-karta__tytul a {
	color: var(--ix-atrament);
	text-decoration: none;
}
.ix-podstrona .ix-wpis-karta__tytul a:hover,
.ix-podstrona .ix-wpis-karta__tytul a:focus-visible {
	color: var(--ix-akcent);
}
.ix-wpis-karta__zajawka {
	margin: 0;
	flex: 1 1 auto;
	font-size: .95rem;
	line-height: 1.6;
	color: var(--ix-tekst);
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.ix-podstrona .ix-wpis-karta__wiecej {
	margin-top: .35rem;
	font-size: .9rem;
	font-weight: 600;
	color: var(--ix-granat);
	text-decoration: none;
}
.ix-podstrona .ix-wpis-karta__wiecej i {
	margin-left: .2em;
	transition: transform .15s ease;
}
.ix-wpis-karta:hover .ix-wpis-karta__wiecej {
	color: var(--ix-main);
}
.ix-wpis-karta:hover .ix-wpis-karta__wiecej i {
	transform: translateX(3px);
}

/* Paginacja wpisów jak w katalogu */
.ix-paginacja {
	margin: 0 0 3rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--ix-linia);
}
.ix-paginacja .nav-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px;
}
.ix-paginacja .screen-reader-text {
	position: absolute;
	clip: rect(1px, 1px, 1px, 1px);
	width: 1px;
	height: 1px;
	overflow: hidden;
}
.ix-podstrona .ix-paginacja .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .4rem;
	min-width: 40px;
	height: 40px;
	padding: 0 .85rem;
	font-size: .9rem;
	font-weight: 600;
	color: var(--ix-atrament);
	background: var(--ix-plyta);
	border: 1px solid var(--ix-linia);
	border-radius: var(--ix-r);
	text-decoration: none;
}
.ix-podstrona .ix-paginacja a.page-numbers:hover,
.ix-podstrona .ix-paginacja a.page-numbers:focus-visible {
	color: var(--ix-granat);
	border-color: var(--ix-granat);
}
.ix-podstrona .ix-paginacja .page-numbers.current {
	color: #fff;
	background: var(--ix-granat);
	border-color: var(--ix-granat);
}
.ix-podstrona .ix-paginacja .page-numbers.dots {
	border-color: transparent;
	background: transparent;
}

/* Pojedynczy wpis */
.ix-wpis {
	margin: 0;
}
.ix-podstrona .ix-wpis .inside-article {
	padding: 0;
	background: transparent;
}
.ix-wpis__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .5rem;
	margin: 0 0 .75rem;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--ix-tekst);
}
.ix-podstrona .ix-wpis__meta a {
	color: var(--ix-akcent);
	text-decoration: none;
}
.ix-podstrona .ix-wpis__meta a:hover {
	text-decoration: underline;
}
.ix-wpis__tytul h1 {
	max-width: 26ch;
}
.ix-wpis__kolumna {
	max-width: 860px;
	margin: 0 auto;
}
.ix-wpis__foto {
	margin: 0 0 2rem;
}
.ix-wpis__foto img {
	display: block;
	width: 100%;
	max-height: 480px;
	object-fit: cover;
	border-radius: var(--ix-r);
	border: 1px solid var(--ix-linia);
}
.ix-wpis__foto figcaption {
	margin-top: .5rem;
	font-size: .82rem;
	color: var(--ix-tekst);
}
.ix-wpis__tresc {
	font-size: 1.08rem;
	line-height: 1.75;
	color: var(--ix-atrament);
}
.ix-wpis__tresc > * {
	max-width: 72ch;
}
.ix-wpis__tresc p {
	margin: 0 0 1.25em;
}
.ix-wpis__tresc h2,
.ix-wpis__tresc h3,
.ix-wpis__tresc h4 {
	margin: 1.8em 0 .6em;
	line-height: 1.25;
	letter-spacing: -.01em;
}
.ix-wpis__tresc h2 { font-size: 1.55rem; }
.ix-wpis__tresc h3 { font-size: 1.25rem; }
.ix-wpis__tresc h4 { font-size: 1.05rem; }
.ix-wpis__tresc ul,
.ix-wpis__tresc ol {
	margin: 0 0 1.25em 1.3em;
	padding: 0;
}
.ix-wpis__tresc li {
	margin-bottom: .35em;
}
.ix-wpis__tresc li::marker {
	color: var(--ix-akcent);
}
.ix-wpis__tresc img {
	max-width: 100%;
	height: auto;
	border-radius: var(--ix-r);
}
.ix-wpis__tresc figure,
.ix-wpis__tresc .wp-caption {
	max-width: 100%;
	margin: 0 0 1.5em;
}
.ix-wpis__tresc figcaption,
.ix-wpis__tresc .wp-caption-text {
	margin-top: .5rem;
	font-size: .85rem;
	color: var(--ix-tekst);
	text-align: left;
}
.ix-wpis__tresc blockquote {
	margin: 1.5em 0;
	padding: .25em 0 .25em 1.25em;
	border-left: 4px solid var(--ix-main);
	font-size: 1.1em;
	color: var(--ix-atrament);
}
.ix-wpis__tresc table {
	width: 100%;
	max-width: 100%;
	margin: 0 0 1.5em;
	border-collapse: collapse;
	font-size: .95rem;
}
.ix-wpis__tresc th,
.ix-wpis__tresc td {
	padding: .6rem .75rem;
	border: 1px solid var(--ix-linia);
	text-align: left;
	vertical-align: top;
}
.ix-wpis__tresc th {
	background: var(--ix-tlo);
	font-weight: 600;
}
.ix-wpis__tresc a {
	color: var(--ix-akcent);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.ix-wpis__tresc a:hover {
	color: var(--ix-main);
}
.ix-wpis__strony {
	margin: 1.5rem 0;
	font-weight: 600;
}
.ix-wpis__tagi {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 2rem 0 0;
	padding: 0;
	list-style: none;
}
.ix-podstrona .ix-wpis__tagi a {
	display: inline-block;
	padding: .3rem .75rem;
	font-size: .82rem;
	font-weight: 500;
	color: var(--ix-tekst);
	background: var(--ix-plyta);
	border: 1px solid var(--ix-linia);
	border-radius: 999px;
	text-decoration: none;
}
.ix-podstrona .ix-wpis__tagi a:hover {
	color: var(--ix-granat);
	border-color: var(--ix-granat);
}

/* Nawigacja między wpisami */
.ix-wpis-nav {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin: 3rem 0 0;
	padding-top: 2rem;
	border-top: 1px solid var(--ix-linia);
}
.ix-podstrona .ix-wpis-nav__el {
	display: flex;
	flex-direction: column;
	gap: .3rem;
	padding: 1.1rem 1.25rem;
	background: var(--ix-plyta);
	border: 1px solid var(--ix-linia);
	border-radius: var(--ix-r);
	text-decoration: none;
	color: var(--ix-atrament);
	transition: border-color .15s ease, box-shadow .15s ease;
}
.ix-podstrona .ix-wpis-nav__el:hover,
.ix-podstrona .ix-wpis-nav__el:focus-visible {
	border-color: var(--ix-granat);
	box-shadow: var(--ix-cien);
}
.ix-wpis-nav__el--next {
	text-align: right;
}
.ix-wpis-nav__etykieta {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--ix-akcent);
}
.ix-wpis-nav__tytul {
	font-weight: 600;
	line-height: 1.35;
}
.ix-wpis-nav__data {
	font-size: .82rem;
	color: var(--ix-tekst);
}
.ix-cta-katalog--wpis {
	margin: 3rem auto 0;
	max-width: 860px;
}

@media (max-width: 1024px) {
	.ix-blog {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px;
	}
}
@media (max-width: 600px) {
	.ix-blog {
		grid-template-columns: 1fr;
	}
	.ix-wpis-nav {
		grid-template-columns: 1fr;
	}
	.ix-wpis-nav__el--next {
		text-align: left;
	}
	.ix-wpis__tresc {
		font-size: 1.02rem;
	}
	.ix-paginacja__slowo {
		display: none;
	}
}

/* Treść przeniesiona ze starej strony: justowanie i floaty z edytora */
.ix-wpis__tresc p,
.ix-wpis__tresc li {
	text-align: left !important;
}
.ix-wpis__tresc .alignleft {
	float: left;
	margin: .3em 1.5em 1em 0;
	max-width: 45%;
}
.ix-wpis__tresc .alignright {
	float: right;
	margin: .3em 0 1em 1.5em;
	max-width: 45%;
}
.ix-wpis__tresc .aligncenter {
	display: block;
	margin: 0 auto 1.5em;
}
.ix-wpis__tresc::after {
	content: "";
	display: block;
	clear: both;
}
@media (max-width: 600px) {
	.ix-wpis__tresc .alignleft,
	.ix-wpis__tresc .alignright {
		float: none;
		display: block;
		max-width: 100%;
		margin: 0 auto 1.25em;
	}
}

/* ==========================================================================
   3.9.1 Karta produktu w dwu kolumnach, wpis z kartą kontaktową po prawej
   ========================================================================== */

/* --- Produkt: siatka z nazwanymi obszarami ---------------------------------- */
.single-product div.product {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 380px;
	grid-template-areas:
		"tytul   bok"
		"galeria bok"
		"opis    bok"
		"podobne podobne";
	gap: 1.75rem 3.5rem;
	align-items: start;
}
@media (min-width: 901px) {
	.single-product div.product {
		grid-template-columns: minmax(0, 1fr) 380px;
	}
}
.single-product div.product .ix-produkt__tytul {
	grid-area: tytul;
	margin: 0;
}
.single-product div.product .ix-produkt__tytul h1 {
	margin: 0;
	font-size: clamp(1.7rem, 2.6vw, 2.3rem);
	line-height: 1.15;
	letter-spacing: -.015em;
	max-width: 28ch;
}
.single-product div.product .woocommerce-product-gallery {
	grid-area: galeria;
	position: static;
	width: 100% !important;
}
.single-product div.product .woocommerce-product-gallery__image {
	width: 100%;
}
.single-product div.product .woocommerce-product-gallery__image img {
	width: auto;
	max-width: 100%;
	max-height: 440px;
	margin: 0 auto;
	object-fit: contain;
}
/* Pusta kolumna summary po przeniesieniu tytułu, opisu i zapytania */
.single-product div.product .summary {
	display: none;
}
.single-product div.product .ix-produkt__opis {
	grid-area: opis;
	max-width: 76ch;
	padding-top: .5rem;
}
.single-product div.product .ix-produkt__lead {
	margin: 0 0 1.5rem;
	padding: 0 0 1.5rem;
	font-size: 1.12rem;
	line-height: 1.65;
	color: var(--ix-atrament);
	border-bottom: 1px solid var(--ix-linia);
}
.single-product div.product .ix-produkt__lead p:last-child,
.single-product div.product .ix-produkt__tresc > :last-child {
	margin-bottom: 0;
}
.single-product div.product .ix-produkt__tresc {
	font-size: 1.02rem;
	line-height: 1.75;
	color: var(--ix-atrament);
}
.single-product div.product .ix-produkt__tresc p {
	margin: 0 0 1.15em;
}
.single-product div.product .ix-produkt__tresc h3 {
	margin: 1.7em 0 .55em;
	font-size: 1.15rem;
	line-height: 1.3;
}
.single-product div.product .ix-produkt__tresc h3:first-child {
	margin-top: 0;
}
.single-product div.product .ix-produkt__tresc ul {
	margin: 0 0 1.15em 1.2em;
	padding: 0;
}
.single-product div.product .ix-produkt__tresc li {
	margin: 0 0 .3em;
}
.single-product div.product .ix-produkt__tresc li::marker {
	color: var(--ix-akcent);
}
.single-product div.product .ix-produkt__tresc strong {
	font-weight: 600;
}
.single-product div.product .ix-produkt__tresc a {
	color: var(--ix-akcent);
	word-break: break-word;
}

/* Prawa kolumna: zapytanie, przyklejone */
.single-product div.product .ix-produkt__bok {
	grid-area: bok;
	position: sticky;
	top: 1.5rem;
	align-self: start;
}
.single-product div.product .ix-produkt__bok .ix-zapytanie {
	margin: 0;
	padding: 1.5rem 1.5rem 1.6rem;
	background: var(--ix-plyta);
	border: 1px solid var(--ix-linia);
	border-top: 4px solid var(--ix-granat);
	border-left: 1px solid var(--ix-linia);
	border-radius: var(--ix-r);
}
.single-product div.product .ix-produkt__bok .ix-zapytanie .ix-eyebrow {
	color: var(--ix-akcent);
	margin-bottom: .6rem;
}
.single-product div.product .ix-produkt__bok .ix-zapytanie__lead {
	margin: 0 0 1.1rem;
	font-size: .98rem;
	line-height: 1.55;
	color: var(--ix-atrament);
}
.single-product div.product .ix-produkt__bok .ix-zapytanie__akcje {
	flex-direction: column;
	align-items: stretch;
	gap: 8px;
}
.single-product div.product .ix-produkt__bok .ix-zapytanie__akcje .ix-btn {
	justify-content: center;
	width: 100%;
}
.single-product div.product .ix-produkt__bok .ix-zapytanie .ix-btn--glowny {
	background: var(--ix-main);
	border: 1px solid var(--ix-main);
	color: #fff;
}
.single-product div.product .ix-produkt__bok .ix-zapytanie .ix-btn--glowny:hover,
.single-product div.product .ix-produkt__bok .ix-zapytanie .ix-btn--glowny:focus-visible {
	background: #c40001;
	border-color: #c40001;
	opacity: 1;
}
.single-product div.product .ix-produkt__bok .ix-zapytanie .ix-btn:not(.ix-btn--glowny) {
	color: var(--ix-granat);
	border-color: var(--ix-granat);
	background: var(--ix-plyta);
}
.single-product div.product .ix-produkt__bok .ix-zapytanie .ix-btn:not(.ix-btn--glowny):hover,
.single-product div.product .ix-produkt__bok .ix-zapytanie .ix-btn:not(.ix-btn--glowny):focus-visible {
	color: #fff;
	background: var(--ix-granat);
	opacity: 1;
}
.single-product div.product .ix-produkt__bok .ix-zapytanie__godziny {
	margin-top: 1rem;
}
.single-product div.product .related,
.single-product div.product .upsells {
	grid-area: podobne;
	margin-top: 1rem;
}

@media (max-width: 900px) {
	.single-product div.product {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas:
			"tytul"
			"galeria"
			"opis"
			"bok"
			"podobne";
		gap: 1.5rem;
	}
	.single-product div.product .ix-produkt__bok {
		position: static;
	}
	.single-product div.product .woocommerce-product-gallery__image img {
		max-height: 340px;
	}
}

/* --- Wpis: treść po lewej, karta kontaktowa po prawej ----------------------- */
.ix-wpis__uklad {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 3.5rem;
	align-items: start;
}
.ix-wpis__kolumna {
	max-width: 780px;
	margin: 0;
}
.ix-wpis__foto {
	margin: 0 0 2.25rem;
}
.ix-wpis__tresc > :first-child {
	margin-top: 0;
}
.ix-wpis__tresc img {
	margin: .5em 0 1.5em;
}
.ix-wpis__tresc .alignleft {
	margin: .35em 1.75em 1.25em 0;
}
.ix-wpis__tresc .alignright {
	margin: .35em 0 1.25em 1.75em;
}
.ix-wpis__tresc p + h2,
.ix-wpis__tresc p + h3,
.ix-wpis__tresc ul + h2,
.ix-wpis__tresc ul + h3 {
	margin-top: 2em;
}
.ix-bok__tekst {
	margin: 0 0 1.1rem;
	font-size: .98rem;
	line-height: 1.55;
	color: var(--ix-atrament);
}
.ix-podstrona .ix-bok__akcje .ix-btn--glowny {
	background: var(--ix-granat);
	border: 1px solid var(--ix-granat);
	color: #fff;
	text-decoration: none;
}
.ix-podstrona .ix-bok__akcje .ix-btn--glowny:hover,
.ix-podstrona .ix-bok__akcje .ix-btn--glowny:focus-visible {
	background: #0e3a72;
	border-color: #0e3a72;
	opacity: 1;
}
.ix-podstrona .ix-bok__akcje .ix-btn:not(.ix-btn--glowny) {
	color: var(--ix-granat);
	border-color: var(--ix-granat);
	text-decoration: none;
}
.ix-podstrona .ix-bok__akcje .ix-btn:not(.ix-btn--glowny):hover,
.ix-podstrona .ix-bok__akcje .ix-btn:not(.ix-btn--glowny):focus-visible {
	color: #fff;
	background: var(--ix-granat);
	opacity: 1;
}
.ix-podstrona .ix-wpis .ix-bok__tel,
.ix-podstrona .ix-wpis .ix-bok__mail {
	text-decoration: none;
}
.header-image.is-logo-image {
	width: 320px;
	height: auto;
}
@media (max-width: 900px) {
	.ix-wpis__uklad {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
	.ix-wpis__bok {
		position: static;
	}
	.header-image.is-logo-image {
		width: 248px;
	}
}
.ix-wpis__tresc > p:first-child img {
	margin: 0 20px 10px 0;
}
.ix-wpis__tresc p, .ix-wpis__tresc h2, .ix-wpis__tresc h3 {
	text-align: left !important;
}
/* ==========================================================================
   3.9.3 Karta produktu: galeria do połowy szerokości, specyfikacja obok,
   miniatury pod zdjęciem, opisy pod spodem (układ jak u konkurencji)
   ========================================================================== */
@media (min-width: 901px) {
	.single-product div.product.ix-ma-spec {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 340px;
		grid-template-areas:
			"tytul   tytul   bok"
			"galeria spec    bok"
			"opis    opis    bok"
			"podobne podobne podobne";
		gap: 1.5rem 2.5rem;
	}
	.single-product div.product.ix-bez-spec {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 340px;
		grid-template-areas:
			"tytul   tytul   bok"
			"galeria .       bok"
			"opis    opis    bok"
			"podobne podobne podobne";
		gap: 1.5rem 2.5rem;
	}
}
/* Summary zawiera teraz tylko specyfikację, więc wraca na ekran */
.single-product div.product .summary {
	display: block;
	grid-area: spec;
	margin: 0 !important;
	width: auto !important;
	float: none !important;
}
.single-product div.product .summary:not(:has(.ix-spec)) {
	display: none;
}
.single-product div.product .ix-produkt__tytul h1 {
	max-width: none;
}

/* Galeria: zdjęcie w białej karcie, miniatury pod spodem */
.single-product div.product .woocommerce-product-gallery {
	max-width: 100%;
	min-width: 0;
	overflow: hidden;
	top: auto; /* stary sticky (top: 1.5rem) przesuwał galerię 24 px niżej od specyfikacji */
}
.single-product div.product .woocommerce-product-gallery__wrapper {
	margin: 0;
	background: #fff;
	border: 1px solid var(--ix-linia);
	border-radius: var(--ix-r);
}
.single-product div.product .woocommerce-product-gallery__image {
	text-align: center;
}
.single-product div.product .woocommerce-product-gallery__image a {
	display: block;
}
.single-product div.product .woocommerce-product-gallery__image img {
	display: inline-block;
	width: auto;
	max-width: 100%;
	max-height: 400px;
	padding: 1.25rem;
	object-fit: contain;
}
.single-product div.product .flex-control-thumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 10px 0 0;
	padding: 0;
	list-style: none;
}
.single-product div.product .flex-control-thumbs li {
	width: 72px;
	height: 72px;
	margin: 0;
	float: none;
	background: #fff;
	border: 1px solid var(--ix-linia);
	border-radius: var(--ix-r);
	overflow: hidden;
	cursor: pointer;
}
.single-product div.product .flex-control-thumbs li img {
	width: 100%;
	height: 100%;
	padding: 6px;
	object-fit: contain;
	opacity: .65;
	transition: opacity .15s ease;
}
.single-product div.product .flex-control-thumbs li img.flex-active,
.single-product div.product .flex-control-thumbs li img:hover {
	opacity: 1;
}
.single-product div.product .flex-control-thumbs li:has(img.flex-active) {
	border-color: var(--ix-akcent);
	box-shadow: 0 0 0 1px var(--ix-akcent);
}

/* Specyfikacja: ciemny nagłówek, wiersze naprzemienne */
.ix-spec {
	margin: 0;
}
.ix-spec__tytul {
	margin: 0;
	padding: .7rem 1rem;
	font-size: .95rem;
	font-weight: 600;
	letter-spacing: .02em;
	color: #fff;
	background: var(--ix-granat);
	border-radius: var(--ix-r) var(--ix-r) 0 0;
}
.single-product div.product table.ix-spec__tabela {
	margin: 0;
	border-radius: 0 0 var(--ix-r) var(--ix-r);
	border-top: 0;
	font-size: .95rem;
}
.single-product div.product table.ix-spec__tabela th {
	width: 40%;
	white-space: normal;
	font-weight: 500;
	color: var(--ix-tekst);
	background: transparent;
}
.single-product div.product table.ix-spec__tabela td {
	font-weight: 500;
	color: var(--ix-atrament);
}
.single-product div.product table.ix-spec__tabela tr:nth-child(even) th,
.single-product div.product table.ix-spec__tabela tr:nth-child(even) td {
	background: #f7f8fa;
}
.single-product div.product table.ix-spec__tabela a {
	color: var(--ix-akcent);
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* Opisy pod galerią i specyfikacją */
.single-product div.product .ix-produkt__opis {
	max-width: none;
	padding-top: .25rem;
}
.single-product div.product .ix-produkt__lead,
.single-product div.product .ix-produkt__tresc {
	max-width: 80ch;
}

@media (max-width: 900px) {
	.single-product div.product.ix-ma-spec,
	.single-product div.product.ix-bez-spec {
		grid-template-columns: minmax(0, 1fr); /* nie 1fr: slajder galerii rozpychał kolumnę do sumy szerokości slajdów */
		grid-template-areas:
			"tytul"
			"galeria"
			"spec"
			"opis"
			"bok"
			"podobne";
	}
	.single-product div.product .woocommerce-product-gallery__image img {
		max-height: 340px;
	}
}

/* ==========================================================================
   3.9.4 Poprawki: karta zapytania zatrzymuje się przed "Podobne produkty",
   miniatury w megamenu równe na stronach WooCommerce
   ========================================================================== */

/* Sticky na elemencie wewnątrz obszaru siatki: kolumna .ix-produkt__bok rozciąga
   się na wysokość obszaru (tytuł + galeria + opis), a karta przykleja się w niej
   i zatrzymuje na jej dole, czyli przed "Podobne produkty".  */
.single-product div.product .ix-produkt__bok {
	position: static;
	align-self: stretch;
	top: auto;
}
.single-product div.product .ix-produkt__bok .ix-zapytanie {
	position: sticky;
	top: 1.5rem;
	z-index: 5;
}
body.admin-bar .single-product div.product .ix-produkt__bok .ix-zapytanie,
.admin-bar.single-product div.product .ix-produkt__bok .ix-zapytanie {
	top: calc(1.5rem + 32px); /* zalogowany: pasek WordPressa */
}
@media (max-width: 900px) {
	.single-product div.product .ix-produkt__bok .ix-zapytanie {
		position: static;
	}
}

/* Na stronach WooCommerce reguła .woocommerce img { height: auto } wygrywała
   z .ix-mega__foto i miniatury megamenu miały różne wysokości. */
.main-navigation .ix-mega img.ix-mega__foto,
.woocommerce .main-navigation .ix-mega img.ix-mega__foto,
.woocommerce-page .main-navigation .ix-mega img.ix-mega__foto {
	width: 44px;
	height: 44px;
	max-width: none;
	object-fit: contain;
}
.main-navigation .ix-mega .ix-mega__lista--nowosci img.ix-mega__foto,
.woocommerce .main-navigation .ix-mega .ix-mega__lista--nowosci img.ix-mega__foto,
.woocommerce-page .main-navigation .ix-mega .ix-mega__lista--nowosci img.ix-mega__foto {
	width: 52px;
	height: 52px;
}

/* ==========================================================================
   3.9.5 Karta produktu: galeria obok specyfikacji już od 768 px
   ========================================================================== */
/* Tablet (768–900 px): zdjęcie i specyfikacja w dwóch kolumnach na całą szerokość,
   karta zapytania nadal pod opisem (jak do tej pory poniżej 900 px).
   Poniżej 768 px zostaje jedna kolumna z 3.9.3. */
@media (min-width: 768px) and (max-width: 900px) {
	.single-product div.product.ix-ma-spec {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		grid-template-areas:
			"tytul   tytul"
			"galeria spec"
			"opis    opis"
			"bok     bok"
			"podobne podobne";
		gap: 1.5rem 2rem;
	}
	.single-product div.product.ix-bez-spec {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		grid-template-areas:
			"tytul   tytul"
			"galeria ."
			"opis    opis"
			"bok     bok"
			"podobne podobne";
		gap: 1.5rem 2rem;
	}
	.single-product div.product .woocommerce-product-gallery__image img {
		max-height: 300px;
	}
}

/* ==========================================================================
   3.9.6 Podobne produkty: sześć w rzędzie, do 767 px slajder
   ========================================================================== */
.single-product div.product .related,
.single-product div.product .upsells {
	min-width: 0; /* element siatki nie może rozpychać kolumny szerokością listy */
}
.single-product div.product .related > h2,
.single-product div.product .upsells > h2 {
	margin-top: 0;
}
.single-product div.product .related ul.products,
.single-product div.product .upsells ul.products {
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 14px;
}
.single-product div.product .related ul.products li.product .woocommerce-loop-product__title,
.single-product div.product .upsells ul.products li.product .woocommerce-loop-product__title {
	padding: .7rem .8rem .2rem;
	font-size: .88rem !important;
}
.single-product div.product .related ul.products li.product .instalex-loop-sku,
.single-product div.product .upsells ul.products li.product .instalex-loop-sku {
	padding: 0 .8rem .8rem;
}
.single-product div.product .related ul.products li.product a img,
.single-product div.product .upsells ul.products li.product a img {
	padding: .75rem;
}
@media (max-width: 1099px) {
	.single-product div.product .related ul.products,
	.single-product div.product .upsells ul.products {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}
@media (max-width: 900px) {
	.single-product div.product .related ul.products,
	.single-product div.product .upsells ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* Telefon: lista przewijana poziomo, karta zatrzymuje się na krawędzi (scroll-snap),
   widać dwie karty i skrawek trzeciej jako zachętę do przesunięcia. */
@media (max-width: 767px) {
	.single-product div.product .related ul.products,
	.single-product div.product .upsells ul.products {
		display: flex;
		gap: 12px;
		overflow-x: auto;
		overscroll-behavior-x: contain;
		scroll-snap-type: x mandatory;
		scroll-behavior: smooth;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		padding-bottom: 2px;
	}
	.single-product div.product .related ul.products::-webkit-scrollbar,
	.single-product div.product .upsells ul.products::-webkit-scrollbar {
		display: none;
	}
	.single-product div.product .related ul.products li.product,
	.single-product div.product .upsells ul.products li.product {
		flex: 0 0 44%;
		scroll-snap-align: start;
	}
	.single-product div.product .related ul.products li.product:hover,
	.single-product div.product .upsells ul.products li.product:hover {
		transform: none;
	}
	.single-product div.product .related,
	.single-product div.product .upsells {
		position: relative;
	}
}

/* Strzałki slajdera (wstawia instalex.js tylko wtedy, gdy lista faktycznie się przewija) */
.ix-slajder__nawigacja {
	display: none;
	position: absolute;
	top: -3px;
	right: 0;
	gap: 8px;
	margin: 0;
}
.ix-slajder--aktywny > h2 {
	padding-right: 92px;
}
.ix-slajder__przycisk {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
	color: var(--ix-granat);
	background: #fff;
	border: 1px solid var(--ix-linia);
	border-radius: 999px;
	cursor: pointer;
	transition: border-color .15s ease, color .15s ease, opacity .15s ease;
}
.ix-slajder__przycisk svg {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2.2;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.ix-slajder__przycisk:hover,
.ix-slajder__przycisk:focus-visible {
	color: var(--ix-akcent);
	border-color: var(--ix-akcent);
}
.ix-slajder__przycisk[disabled] {
	opacity: .35;
	cursor: default;
}
@media (max-width: 767px) {
	.ix-slajder--aktywny .ix-slajder__nawigacja {
		display: flex;
	}
}

/* ==========================================================================
   3.9.7 Podobne: 3 w rzędzie do 1099 px. Jedna karta kontaktowa w kolumnie
   bocznej (podstrony, wpisy) w stylu "Zapytania o produkt"
   ========================================================================== */
@media (max-width: 1099px) {
	.single-product div.product .related ul.products,
	.single-product div.product .upsells ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* Karta: eyebrow, zdanie, telefon i e-mail z ikonami, dwa przyciski, drobne godziny */
.ix-bok__karta .ix-eyebrow {
	margin-bottom: .6rem;
}
.ix-bok__karta .ix-bok__tekst {
	margin: 0 0 1.1rem;
	font-size: .98rem;
	line-height: 1.55;
	color: var(--ix-atrament);
}
.ix-bok__dane {
	margin: 0 0 1.2rem;
	padding: 0;
	list-style: none;
}
.ix-bok__dane li {
	display: flex;
	align-items: center;
	gap: .6rem;
	margin: 0 0 .45rem;
	line-height: 1.3;
}
.ix-bok__dane li:last-child {
	margin-bottom: 0;
}
.ix-bok__dane i {
	flex: 0 0 auto;
	width: 1.2em;
	height: 1.2em;
	font-size: 1.15rem;
	line-height: 1;
	color: var(--ix-granat);
}
.ix-bok__karta .ix-bok__tel,
.ix-podstrona .ix-wpis .ix-bok__tel {
	display: inline;
	font-size: 1.25rem;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.3;
	color: var(--ix-atrament);
	text-decoration: none;
}
.ix-bok__karta .ix-bok__mail,
.ix-podstrona .ix-wpis .ix-bok__mail {
	display: inline;
	margin: 0;
	font-size: .98rem;
	color: var(--ix-akcent);
	text-decoration: none;
	word-break: break-all;
}
.ix-bok__karta .ix-bok__tel:hover,
.ix-bok__karta .ix-bok__mail:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}
.ix-bok__karta .ix-bok__akcje {
	margin-top: 0;
	gap: 8px;
}
.ix-bok__karta .ix-bok__akcje .ix-btn {
	justify-content: center;
	width: 100%;
	text-align: center;
}
.ix-bok__karta .ix-bok__akcje .ix-btn--glowny,
.ix-podstrona .ix-bok__akcje .ix-btn--glowny {
	background: var(--ix-main);
	border: 1px solid var(--ix-main);
	color: #fff;
}
.ix-bok__karta .ix-bok__akcje .ix-btn--glowny:hover,
.ix-bok__karta .ix-bok__akcje .ix-btn--glowny:focus-visible,
.ix-podstrona .ix-bok__akcje .ix-btn--glowny:hover,
.ix-podstrona .ix-bok__akcje .ix-btn--glowny:focus-visible {
	background: #c40001;
	border-color: #c40001;
	opacity: 1;
}
.ix-bok__karta .ix-bok__akcje .ix-btn:not(.ix-btn--glowny),
.ix-podstrona .ix-bok__akcje .ix-btn:not(.ix-btn--glowny) {
	color: var(--ix-granat);
	border-color: var(--ix-granat);
	background: var(--ix-plyta);
}
.ix-bok__karta .ix-bok__akcje .ix-btn:not(.ix-btn--glowny):hover,
.ix-bok__karta .ix-bok__akcje .ix-btn:not(.ix-btn--glowny):focus-visible,
.ix-podstrona .ix-bok__akcje .ix-btn:not(.ix-btn--glowny):hover,
.ix-podstrona .ix-bok__akcje .ix-btn:not(.ix-btn--glowny):focus-visible {
	color: #fff;
	background: var(--ix-granat);
	opacity: 1;
}
.ix-bok__karta .ix-bok__linia {
	margin: 1rem 0 0;
	font-size: .85rem;
	line-height: 1.5;
	color: var(--ix-tekst);
}

/* ==========================================================================
   3.9.8 Karty kontaktowe: nagłówek w kolorze karty zamiast niebieskiego
   eyebrow, jedna stopka (godziny i adres) w obu kartach
   ========================================================================== */
.ix-karta__tytul,
.single-product div.product .ix-produkt__bok .ix-zapytanie .ix-karta__tytul,
.ix-bok__karta .ix-karta__tytul {
	margin: 0 0 .5rem;
	font-size: 1.2rem;
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: -.01em;
	text-transform: none;
	color: var(--ix-granat);
}
.ix-karta__stopka,
.single-product div.product .ix-produkt__bok .ix-zapytanie .ix-karta__stopka,
.ix-bok__karta .ix-karta__stopka {
	margin: 1rem 0 0;
	padding-top: .9rem;
	border-top: 1px solid var(--ix-linia);
	font-size: .85rem;
	line-height: 1.5;
	color: var(--ix-tekst);
}
.ix-karta__stopka span {
	display: block;
}

/* ==========================================================================
   3.9.9 Strona główna: odstępy karty "Nie znalazłeś produktu?"; nowości 6 w
   rzędzie; nowości i podobne produkty poniżej 1100 px jako slajder
   ========================================================================== */

/* --- Karta CTA: ten sam odstęp nad i pod kartą, bez 40 px GeneratePress pod treścią */
.ix-glowna .ix-cta,
.ix-cta {
	padding: var(--section-padding) 0;
}
body.ix-glowna .site-main .inside-article {
	padding-bottom: 0 !important;
}

/* --- Nowości: sześć kart w rzędzie od 1100 px ------------------------------ */
.ix-nowosci {
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 14px;
}
.ix-nowosc__nazwa {
	font-size: .95rem;
}

/* --- Slajder (poniżej 1100 px): lista przewijana poziomo, karta zatrzymuje się
   na krawędzi. Tablet: 4 karty i skrawek piątej; telefon: 2 karty i skrawek trzeciej.
   Przewijanie o jedną kartę (strzałki z instalex.js albo palcem). -------------- */
@media (max-width: 1099px) {
	.ix-nowosci,
	.single-product div.product .related ul.products,
	.single-product div.product .upsells ul.products {
		--ix-sl-n: 4.4;
		--ix-sl-gap: 14px;
		display: flex;
		gap: var(--ix-sl-gap);
		overflow-x: auto;
		overscroll-behavior-x: contain;
		scroll-snap-type: x mandatory;
		scroll-behavior: smooth;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		padding-bottom: 4px; /* miejsce na cień karty przy najechaniu */
	}
	.ix-nowosci::-webkit-scrollbar,
	.single-product div.product .related ul.products::-webkit-scrollbar,
	.single-product div.product .upsells ul.products::-webkit-scrollbar {
		display: none;
	}
	.ix-nowosci > .ix-nowosc,
	.single-product div.product .related ul.products li.product,
	.single-product div.product .upsells ul.products li.product {
		flex: 0 0 calc((100% - (var(--ix-sl-n) - 1) * var(--ix-sl-gap)) / var(--ix-sl-n));
		min-width: 0;
		scroll-snap-align: start;
	}
	.ix-nowosci > .ix-nowosc:hover,
	.single-product div.product .related ul.products li.product:hover,
	.single-product div.product .upsells ul.products li.product:hover {
		transform: none;
	}
	.single-product div.product .related,
	.single-product div.product .upsells {
		position: relative;
	}
	.ix-slajder--aktywny .ix-slajder__nawigacja {
		display: flex;
	}
}
@media (max-width: 767px) {
	.ix-nowosci,
	.single-product div.product .related ul.products,
	.single-product div.product .upsells ul.products {
		--ix-sl-n: 2.3;
		--ix-sl-gap: 12px;
	}
	.ix-nowosci > .ix-nowosc {
		flex-basis: calc((100% - (var(--ix-sl-n) - 1) * var(--ix-sl-gap)) / var(--ix-sl-n));
	}
}

/* Strzałki w pasku nagłówka sekcji nowości: w linii, za linkiem "Cały katalog" */
.ix-naglowek-sekcji .ix-slajder__nawigacja {
	position: static;
	align-self: center;
	margin: 0 0 0 .25rem;
}
@media (max-width: 767px) {
	.ix-naglowek-sekcji .ix-slajder__nawigacja {
		margin-left: auto;
	}
}


/* ==========================================================================
   3.11.0 Filtry jako rozwijane listy z checkboxami (sekcja 37 w functions.php)
   Poprzednie reguły .ix-filtr, .ix-pigulka i .ix-filtr__select zostają dla
   zgodności, panel ich już nie używa.
   ========================================================================== */
.ix-filtry--listy {
	padding: .85rem 1rem;
}
.ix-filtry__rzad {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .6rem .75rem;
}
.ix-fl {
	position: relative;
}
.ix-fl__przycisk {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	min-height: 40px;
	margin: 0;
	padding: .45rem .85rem .45rem 1rem;
	font: inherit;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.2;
	color: var(--ix-atrament);
	background: #f7f9fb;
	border: 1px solid var(--ix-linia);
	border-radius: var(--ix-r);
	cursor: pointer;
	transition: border-color .15s, background-color .15s;
}
.ix-fl__przycisk:hover,
.ix-fl__przycisk:focus-visible,
.ix-fl--otwarty .ix-fl__przycisk {
	border-color: var(--ix-akcent);
	color: var(--ix-akcent);
	background: #fff;
}
.ix-fl--aktywny .ix-fl__przycisk {
	border-color: var(--ix-akcent);
	background: #eaf2fb;
}
.ix-fl__ile {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 20px;
	height: 20px;
	padding: 0 6px;
	font-family: var(--ix-mono);
	font-size: 11px;
	font-weight: 600;
	color: #fff;
	background: var(--ix-akcent);
	border-radius: 999px;
}
.ix-fl__strzalka {
	flex: none;
	transition: transform .15s;
}
.ix-fl--otwarty .ix-fl__strzalka {
	transform: rotate(180deg);
}

.ix-fl__panel {
	position: absolute;
	top: calc(100% + 6px);
	left: 0;
	z-index: 30;
	width: 320px;
	max-width: calc(100vw - 2rem);
	padding: .5rem;
	background: var(--ix-plyta);
	border: 1px solid var(--ix-linia);
	border-radius: var(--ix-r);
	box-shadow: 0 10px 28px rgba(22, 32, 43, .14);
}
.ix-fl__panel[hidden] {
	display: none;
}
.ix-fl__szukaj {
	display: block;
	width: 100%;
	margin: 0 0 .4rem;
	padding: .5rem .75rem;
	font: inherit;
	font-size: 14px;
	color: var(--ix-atrament);
	background: #f7f9fb;
	border: 1px solid var(--ix-linia);
	border-radius: var(--ix-r);
	appearance: none;
	-webkit-appearance: none;
}
.ix-fl__szukaj:focus-visible {
	border-color: var(--ix-akcent);
	outline: none;
}
.ix-fl__lista {
	max-height: 320px;
	margin: 0;
	padding: 0;
	overflow: auto;
	list-style: none;
	overscroll-behavior: contain;
}
.ix-fl__opcja {
	margin: 0;
}
.ix-fl__opcja[hidden] {
	display: none;
}
.ix-fl__opcja a,
.ix-fl__opcja--pusta {
	display: flex;
	align-items: center;
	gap: .6rem;
	padding: .45rem .5rem;
	font-size: 14px;
	line-height: 1.25;
	color: var(--ix-atrament);
	text-decoration: none;
	border-radius: var(--ix-r);
}
.ix-fl__opcja a:hover,
.ix-fl__opcja a:focus-visible {
	background: #eaf2fb;
	color: var(--ix-atrament);
}
.ix-fl__box {
	flex: none;
	width: 16px;
	height: 16px;
	background: #fff;
	border: 1.5px solid #9aa5b1;
	border-radius: 3px;
}
.ix-fl__opcja--wybrana .ix-fl__box {
	border-color: var(--ix-akcent);
	background: var(--ix-akcent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='10' viewBox='0 0 12 10'%3E%3Cpath d='M1.5 5l3 3 6-6' fill='none' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E") center no-repeat;
}
.ix-fl__nazwa {
	flex: 1 1 auto;
	min-width: 0;
	overflow-wrap: anywhere;
}
.ix-fl__licznik {
	flex: none;
	font-family: var(--ix-mono);
	font-size: 11px;
	color: var(--ix-tekst);
	font-variant-numeric: tabular-nums;
}
.ix-fl__opcja--pusta {
	color: #9aa5b1;
	cursor: not-allowed;
}
.ix-fl__opcja--pusta .ix-fl__box {
	border-style: dashed;
	background: transparent;
}
.ix-fl__brak {
	margin: .4rem .5rem;
	font-size: 13px;
	color: var(--ix-tekst);
}

.ix-filtry--listy .ix-filtry__reset {
	margin: 0 0 0 .25rem;
}

.ix-filtry__chipsy {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: .75rem 0 0;
	padding: 0;
	list-style: none;
}
.ix-filtry__chipsy li {
	margin: 0;
}
.ix-chip {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	padding: .3rem .55rem .3rem .7rem;
	font-size: 13px;
	line-height: 1.2;
	color: #fff;
	text-decoration: none;
	background: var(--ix-akcent);
	border-radius: 999px;
}
.ix-chip:hover,
.ix-chip:focus-visible {
	color: #fff;
	background: #094b8a;
}
.ix-chip__etykieta {
	color: rgba(255, 255, 255, .75);
}
.ix-chip__x {
	font-size: 16px;
	line-height: 1;
}

/* Telefon: przyciski na całą szerokość, panel wjeżdża pod przycisk w nurcie strony. */
@media (max-width: 768px) {
	.ix-katalog .ix-filtry--listy {
		padding: .75rem;
	}
	.ix-filtry--listy .ix-filtry__rzad {
		display: grid;
		grid-template-columns: 1fr;
		gap: .5rem;
	}
	.ix-fl__przycisk {
		width: 100%;
	}
	.ix-fl__przycisk .ix-fl__strzalka {
		margin-left: auto;
	}
	.ix-fl__panel {
		position: static;
		width: 100%;
		max-width: none;
		margin-top: .35rem;
		box-shadow: none;
	}
	.ix-fl__lista {
		max-height: 260px;
	}
	.ix-filtry--listy .ix-filtry__reset {
		margin: .25rem 0 0;
	}
}

/* ==========================================================================
   3.13.0 Filtry bez przeładowania: stan ładowania listy
   ========================================================================== */
.ix-ladowanie ul.products,
.ix-ladowanie .woocommerce-result-count,
.ix-ladowanie .woocommerce-pagination {
	opacity: .45;
	pointer-events: none;
	transition: opacity .15s;
}
.ix-ladowanie .ix-filtry {
	cursor: progress;
}

/* ==========================================================================
   3.15.0 Strona "Dostawcy": siatka logo [instalex_dostawcy]
   Układ jak grupa-psa.pl/dostawcy: kwadratowe kafle z cienką ramką,
   8 w rzędzie na szerokim ekranie, 6 / 4 / 2 niżej.
   ========================================================================== */
.ix-podstrona .entry-content:has(> .ix-dostawcy) > p {
	max-width: 72ch;
}
.ix-dostawcy {
	margin: 2rem 0 0;
}
.ix-dostawcy__lista {
	display: grid;
	grid-template-columns: repeat(8, minmax(0, 1fr));
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.ix-dostawcy__el {
	margin: 0;
}
.ix-dostawcy__el > a,
.ix-dostawcy__el > span {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1;
	padding: 10px;
	background: var(--ix-plyta);
	border: 1px solid var(--ix-linia-cien);
	border-radius: var(--ix-r);
	color: var(--ix-atrament);
	text-decoration: none;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.ix-dostawcy__el > a:hover,
.ix-dostawcy__el > a:focus-visible {
	border-color: var(--ix-akcent);
	box-shadow: var(--ix-cien);
}
.ix-dostawcy__el img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.ix-dostawcy__nazwa {
	font-size: .95rem;
	font-weight: 600;
	line-height: 1.25;
	text-align: center;
	color: var(--ix-medium);
}

@media (max-width: 1199px) {
	.ix-dostawcy__lista {
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}
}
@media (max-width: 899px) {
	.ix-dostawcy__lista {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 12px;
	}
}
@media (max-width: 559px) {
	.ix-dostawcy {
		margin-top: 1.5rem;
	}
	.ix-dostawcy__lista {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}
}
@media (prefers-reduced-motion: reduce) {
	.ix-dostawcy__el > a {
		transition: none;
	}
}

/* Menu z 7 pozycjami (doszli Dostawcy): między 1025 a 1199 px pozycje
   nachodziły na logo. Węższe odstępy linków tylko w tym zakresie. */
@media (min-width: 1025px) and (max-width: 1199px) {
	.main-navigation .main-nav > ul > li > a {
		padding-left: 12px;
		padding-right: 12px;
	}
}
@media (min-width: 1025px) and (max-width: 1099px) {
	.main-navigation .main-nav > ul > li > a {
		padding-left: 8px;
		padding-right: 8px;
	}
}

/* ==========================================================================
   3.15.1 Zdjęcia wpisów bez kadrowania
   Karty w Artykułach i zdjęcie nad wpisem pokazują całe zdjęcie, wolne
   miejsce po bokach jest białe. Hero i mapa zostają kadrowane (tło).
   ========================================================================== */
.ix-wpis-karta__foto {
	background: #fff;
}
.ix-wpis-karta__foto img {
	object-fit: contain;
}
.ix-wpis__foto img {
	object-fit: contain;
	background: #fff;
}

/* ==========================================================================
   3.16.0 Kontakt: osoby kontaktowe z panelu
   ========================================================================== */
.ix-kontakt__blok--rejestr.ix-kontakt__blok--rejestr-pol {
	grid-column: auto;
}
.ix-kontakt__blok--rejestr.ix-kontakt__blok--rejestr-pol p {
	columns: 1;
}

/* 3.16.0 Katalog PDF w tabeli Specyfikacja */
.single-product div.product table.ix-spec__tabela a.ix-pdf {
	display: inline-flex;
	align-items: center;
	gap: .45em;
	font-weight: 500;
	text-decoration: none;
}
.single-product div.product table.ix-spec__tabela a.ix-pdf span {
	text-decoration: underline;
	text-underline-offset: .15em;
}
.single-product div.product table.ix-spec__tabela a.ix-pdf:hover span {
	text-decoration-thickness: 2px;
}
.ix-pdf__ikona {
	flex: none;
	color: var(--ix-akcent);
}
.ix-pdf small {
	font-size: .85em;
	font-weight: 400;
	color: var(--ix-tekst);
}

/* ==========================================================================
   3.16.0 Pas liczb [instalex_liczby]
   ========================================================================== */
.ix-liczby {
	background: var(--ix-granat, #0b2a52);
	color: #fff;
	padding: clamp(2.5rem, 5vw, 4rem) 0;
	max-width: 100%;
	margin: 0;
}
.ix-liczby__container {
	max-width: var(--ix-width);
	margin: 0 auto;
	padding: 0 1rem;
}
.ix-liczby__lista {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 0;
	padding: 0;
	list-style: none;
}
.ix-liczby__lista--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ix-liczby__lista--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ix-liczby__lista--1 { grid-template-columns: minmax(0, 1fr); }
.ix-liczby__pozycja {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: .25rem clamp(1rem, 2.5vw, 2.5rem);
	border-left: 1px solid rgba(255, 255, 255, .18);
}
.ix-liczby__pozycja:first-child {
	border-left: 0;
	padding-left: 0;
}
.ix-liczby__pozycja::before {
	content: "";
	display: block;
	width: 32px;
	height: 3px;
	margin-bottom: 1.1rem;
	background: var(--ix-main);
}
.ix-liczby__wartosc {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: .2em;
	font-size: clamp(2.4rem, 4.2vw, 3.6rem);
	font-weight: 600;
	line-height: 1;
	letter-spacing: -.02em;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}
.ix-liczby__dopisek {
	font-size: .5em;
	font-weight: 500;
	letter-spacing: 0;
	color: rgba(255, 255, 255, .85);
}
.ix-liczby__opis {
	margin-top: .7rem;
	max-width: 22ch;
	font-size: 1rem;
	line-height: 1.45;
	color: rgba(255, 255, 255, .78);
}
/* W katalogu pod blokiem „Nie znalazłeś produktu?” */
.ix-cta-katalog + .ix-liczby {
	margin-top: 2.5rem;
}
@media (max-width: 900px) {
	.ix-liczby__lista,
	.ix-liczby__lista--3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		row-gap: 2.25rem;
	}
	.ix-liczby__pozycja:nth-child(odd) {
		border-left: 0;
		padding-left: 0;
	}
}
@media (max-width: 420px) {
	.ix-liczby__wartosc {
		font-size: 2.1rem;
	}
	.ix-liczby__pozycja {
		padding-right: .5rem;
	}
	.ix-liczby__pozycja:nth-child(even) {
		padding-left: 1rem;
	}
}

/* ==========================================================================
   3.17.0 Oferta specjalna [instalex_oferta]
   Karta jak karta nowości (biała płyta, cienka ramka, zdjęcie bez
   przycinania), plakietka „Wyprzedaż” w czerwieni marki, cena i przyciski
   dociśnięte do dołu karty, więc w rzędzie stoją na jednej linii.
   4 kolumny, 3 i 2 niżej, na telefonie karta pozioma.
   ========================================================================== */
.ix-podstrona .entry-content:has(> .ix-oferta-lista) > p,
.ix-podstrona .entry-content:has(> .ix-oferta-pusto) > p {
	max-width: 72ch;
}
.ix-oferta-lista {
	margin: 2rem 0 0;
}
.ix-oferta {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.ix-podstrona .entry-content .ix-oferta {
	margin: 0;
}
.ix-oferta__el {
	margin: 0;
	min-width: 0;
}
/* .ix-oferta przed klasą karty: reguła .ix-podstrona article zeruje tło */
.ix-oferta .ix-oferta__karta {
	display: flex;
	flex-direction: column;
	height: 100%;
	background: var(--ix-plyta);
	border: 1px solid var(--ix-linia);
	border-radius: var(--ix-r);
	overflow: hidden;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.ix-oferta__karta:hover,
.ix-oferta__karta:focus-within {
	border-color: var(--ix-akcent);
	box-shadow: var(--ix-cien);
}
.ix-oferta__foto {
	position: relative;
	display: block;
	aspect-ratio: 4 / 3;
	padding: 1.1rem;
	background: #fff;
	border-bottom: 1px solid var(--ix-linia-cien);
}
/* Obrazek pozycjonowany w ramce 4:3: wysokość procentowa w bloku z samym
   aspect-ratio się nie liczy, a duże zdjęcie rozpychało kartę. */
.ix-oferta__foto img {
	position: absolute;
	inset: 1.1rem;
	display: block;
	width: calc(100% - 2.2rem);
	height: calc(100% - 2.2rem);
	max-width: none;
	object-fit: contain;
}
.ix-oferta__foto img.ix-oferta__brak {
	inset: 22%;
	width: 56%;
	height: 56%;
	opacity: .6;
}
.ix-oferta__plakietka {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 1;
	padding: 4px 9px;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: #fff;
	background: var(--ix-main);
	border-radius: 2px;
}
.ix-oferta__tresc {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: .6rem;
	padding: 1rem 1.1rem 1.15rem;
}
.ix-podstrona .entry-content .ix-oferta__nazwa,
.ix-oferta__nazwa {
	margin: 0;
	font-size: 1.05rem;
	font-weight: 600;
	line-height: 1.35;
	color: var(--ix-atrament);
}
.ix-podstrona .entry-content .ix-oferta__opis,
.ix-oferta__opis {
	margin: 0;
	font-size: .92rem;
	line-height: 1.5;
	color: var(--ix-tekst);
}
.ix-podstrona .entry-content .ix-oferta__stan,
.ix-oferta__stan {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	gap: 6px;
	margin: .1rem 0 0;
	padding: 4px 10px 4px 8px;
	font-size: .88rem;
	line-height: 1.4;
	color: var(--ix-medium);
	background: var(--ix-tlo);
	border-radius: var(--ix-r);
}
.ix-oferta__stan strong {
	font-weight: 600;
	color: var(--ix-atrament);
}
.ix-oferta__ikona {
	flex: 0 0 auto;
	color: var(--ix-akcent);
}
.ix-podstrona .entry-content .ix-oferta__cena,
.ix-oferta__cena {
	display: flex;
	flex-direction: column;
	margin: auto 0 0;
	padding-top: .85rem;
	border-top: 1px solid var(--ix-linia-cien);
	line-height: 1.25;
}
.ix-oferta__kwota {
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: -.01em;
	color: var(--ix-atrament);
	font-variant-numeric: tabular-nums;
}
.ix-oferta__cena--zapytanie .ix-oferta__kwota {
	font-size: 1.15rem;
	font-weight: 600;
}
.ix-oferta__jedn {
	margin-top: .15rem;
	font-size: .8rem;
	color: var(--ix-tekst);
}
.ix-oferta__brutto {
	margin-top: .35rem;
	font-size: .92rem;
	font-weight: 500;
	color: var(--ix-medium);
	font-variant-numeric: tabular-nums;
}
.ix-oferta__akcje {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: .5rem;
	margin-top: .35rem;
}
.ix-oferta__akcje .ix-btn,
.ix-podstrona .entry-content .ix-oferta__akcje .ix-btn,
.ix-podstrona .entry-content .ix-oferta__akcje .ix-btn:hover {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .45rem;
	text-align: center;
	color: #fff;
}
.ix-podstrona .entry-content .ix-oferta__katalog,
.ix-oferta__katalog {
	font-size: .9rem;
	font-weight: 500;
	text-align: center;
	color: var(--ix-akcent);
	text-decoration: none;
}
.ix-podstrona .entry-content .ix-oferta__katalog:hover,
.ix-oferta__katalog:hover {
	text-decoration: underline;
}
.ix-podstrona .entry-content .ix-oferta__nota,
.ix-oferta__nota {
	max-width: 72ch;
	margin: 1.5rem 0 0;
	font-size: .85rem;
	line-height: 1.5;
	color: var(--ix-tekst);
}

/* Pusta lista */
.ix-oferta-pusto {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem 2rem;
	margin: 2rem 0 0;
	padding: 1.5rem 1.75rem;
	background: var(--ix-plyta);
	border: 1px solid var(--ix-linia-cien);
	border-radius: var(--ix-r);
}
.ix-podstrona .entry-content .ix-oferta-pusto__tekst,
.ix-oferta-pusto__tekst {
	flex: 1 1 340px;
	margin: 0;
	max-width: 72ch;
	color: var(--ix-medium);
}
.ix-oferta-pusto__tekst strong {
	display: block;
	margin-bottom: .2rem;
	color: var(--ix-atrament);
}
.ix-podstrona .entry-content .ix-oferta-pusto .ix-btn,
.ix-podstrona .entry-content .ix-oferta-pusto .ix-btn:hover {
	color: #fff;
}

/* Sekcja na stronie głównej */
.ix-oferta-sekcja {
	max-width: 100%;
	margin: 0;
	padding: var(--section-padding) 0;
	background: var(--ix-plyta);
}
.ix-oferta-sekcja__container {
	max-width: var(--ix-width);
	margin: 0 auto;
	padding: 0 1rem;
}
.ix-oferta-sekcja .ix-oferta {
	margin-top: .75rem;
}

@media (max-width: 1200px) {
	.ix-oferta {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}
@media (max-width: 900px) {
	.ix-oferta {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px;
	}
}
/* Telefon: karta pozioma, zdjęcie po lewej, cena się nie ściska */
@media (max-width: 600px) {
	.ix-oferta {
		grid-template-columns: 1fr;
		gap: 12px;
	}
	.ix-oferta .ix-oferta__karta {
		display: grid;
		grid-template-columns: 112px minmax(0, 1fr);
	}
	.ix-oferta__foto {
		align-self: stretch;
		aspect-ratio: auto;
		min-height: 112px;
		padding: .6rem;
		border-bottom: 0;
		border-right: 1px solid var(--ix-linia-cien);
	}
	/* zdjęcie u góry kolumny, przegroda na całą wysokość karty */
	.ix-oferta__foto img {
		inset: 1.6rem .6rem auto;
		width: calc(100% - 1.2rem);
		height: 92px;
	}
	.ix-oferta__foto img.ix-oferta__brak {
		inset: 1.6rem 25% auto;
		width: 50%;
		height: 92px;
	}
	.ix-oferta__plakietka {
		top: 6px;
		left: 6px;
		padding: 3px 6px;
		font-size: 9px;
	}
	.ix-oferta__tresc {
		gap: .45rem;
		padding: .8rem .85rem .9rem;
	}
	.ix-podstrona .entry-content .ix-oferta__nazwa,
	.ix-oferta__nazwa {
		font-size: 1rem;
	}
	.ix-podstrona .entry-content .ix-oferta__opis,
	.ix-oferta__opis {
		font-size: .88rem;
	}
	.ix-oferta__kwota {
		font-size: 1.35rem;
	}
	.ix-oferta__akcje .ix-btn {
		padding: .65rem .75rem;
		font-size: .92rem;
	}
	.ix-oferta-pusto {
		padding: 1.25rem;
	}
	.ix-oferta-pusto .ix-btn {
		width: 100%;
		text-align: center;
	}
}
@media (prefers-reduced-motion: reduce) {
	.ix-oferta__karta {
		transition: none;
	}
}

/* ==========================================================================
   3.18.0 Kontakt: telefony stacjonarne w parach z e-mailem osoby
   Numer pogrubiony, e-mail pod nim mniejszym krojem. Numer bez e-maila
   to sama linia. Telefony komórkowe w osobnym boksie.
   ========================================================================== */
.ix-podstrona .entry-content .ix-kontakt__linie,
.ix-kontakt__linie {
	margin: 0;
	padding: 0;
	list-style: none;
}
.ix-kontakt__linia {
	display: flex;
	flex-direction: column;
	margin: 0;
	line-height: 1.45;
	font-variant-numeric: tabular-nums;
}
.ix-kontakt__linia + .ix-kontakt__linia {
	margin-top: .7rem;
}
.ix-kontakt-strona .ix-kontakt__tel a {
	font-size: 1rem;
	font-weight: 600;
}
.ix-kontakt__mail {
	font-size: .92rem;
	overflow-wrap: anywhere;
}
.ix-kontakt-strona .ix-kontakt__mail a,
.ix-podstrona .entry-content .ix-kontakt-strona .ix-kontakt__mail a {
	font-weight: 400;
	color: var(--ix-medium);
}

/* 3.18.3: komórki pod stacjonarnymi w boksie „Dział Handlowy”, ciasno jedna
   pod drugą, przed pierwszą odstęp jednej linii. */
.ix-kontakt__linia--kom + .ix-kontakt__linia--kom {
	margin-top: .15rem;
}
.ix-kontakt__linia.ix-kontakt__linia--odstep {
	margin-top: 1.45em;
}

/* ==========================================================================
   3.19.0 Wypożyczalnia [instalex_wypozyczalnia]
   Karta pozioma: zdjęcie w ramce 4:3 po lewej (bez przycinania, białe tło),
   nazwa, opis i przycisk po prawej. Dwie karty w rzędzie, niżej jedna,
   na telefonie zdjęcie nad tekstem. Kroki i pas kontaktu pod spodem to
   istniejące [instalex_kroki] i [instalex_cta telefon="…"].
   ========================================================================== */
.ix-podstrona .entry-content:has(> .ix-wyp) > p {
	max-width: 72ch;
}
.ix-wyp {
	margin: 2rem 0 0;
}
.ix-podstrona .entry-content .ix-wyp__lista,
.ix-wyp__lista {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	margin: .75rem 0 0;
	padding: 0;
	list-style: none;
}
.ix-wyp__el {
	margin: 0;
	min-width: 0;
}
.ix-wyp .ix-wyp__karta {
	display: grid;
	grid-template-columns: minmax(0, 42%) minmax(0, 1fr);
	height: 100%;
	background: var(--ix-plyta);
	border: 1px solid var(--ix-linia);
	border-radius: var(--ix-r);
	overflow: hidden;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.ix-wyp .ix-wyp__karta:hover,
.ix-wyp .ix-wyp__karta:focus-within {
	border-color: var(--ix-akcent);
	box-shadow: var(--ix-cien);
}
.ix-wyp__foto {
	position: relative;
	min-height: 220px;
	background: #fff;
	border-right: 1px solid var(--ix-linia-cien);
}
.ix-wyp__foto img {
	position: absolute;
	inset: 1.25rem;
	display: block;
	width: calc(100% - 2.5rem);
	height: calc(100% - 2.5rem);
	max-width: none;
	object-fit: contain;
}
.ix-wyp__foto img.ix-wyp__brak {
	inset: 25%;
	width: 50%;
	height: 50%;
	opacity: .6;
}
.ix-wyp__tresc {
	display: flex;
	flex-direction: column;
	gap: .6rem;
	padding: 1.4rem 1.5rem 1.5rem;
}
.ix-podstrona .entry-content .ix-wyp__nazwa,
.ix-wyp__nazwa {
	margin: 0;
	font-size: 1.2rem;
	font-weight: 600;
	line-height: 1.3;
	color: var(--ix-atrament);
}
.ix-wyp__opis {
	font-size: .95rem;
	line-height: 1.6;
	color: var(--ix-tekst);
}
.ix-podstrona .entry-content .ix-wyp__opis p,
.ix-wyp__opis p {
	margin: 0 0 .6em;
}
.ix-podstrona .entry-content .ix-wyp__opis ul,
.ix-wyp__opis ul {
	margin: 0 0 .6em 1.1em;
}
.ix-wyp__opis > :last-child {
	margin-bottom: 0;
}
.ix-wyp__akcje {
	margin-top: auto;
	padding-top: .5rem;
}
.ix-wyp__akcje .ix-btn,
.ix-podstrona .entry-content .ix-wyp__akcje .ix-btn,
.ix-podstrona .entry-content .ix-wyp__akcje .ix-btn:hover {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	color: #fff;
}

/* Kroki i pas kontaktu na podstronie: bez pełnoekranowego tła sekcji,
   w rytmie treści strony. */
.ix-podstrona .entry-content > .ix-kroki {
	margin: 2.5rem 0 0;
	padding: 2rem 2rem 2.25rem;
	background: var(--ix-plyta);
	border: 1px solid var(--ix-linia);
	border-radius: var(--ix-r);
}
.ix-podstrona .entry-content > .ix-kroki .ix-kroki__container {
	padding: 0;
}
.ix-podstrona .entry-content > .ix-cta {
	margin: 2rem 0 0;
	padding: 0;
	background: transparent;
}

/* Proza podstrony daje h2/h3 duże marginesy; w sekcjach je zerujemy. */
.ix-podstrona .entry-content .ix-wyp .ix-naglowek-sekcji__tytul,
.ix-podstrona .entry-content > .ix-kroki .ix-naglowek-sekcji__tytul,
.ix-podstrona .entry-content > .ix-cta .ix-cta__tytul {
	margin-top: 0;
}
.ix-podstrona .entry-content > .ix-kroki .ix-krok__tytul {
	margin: 0 0 .35rem;
}
.ix-podstrona .entry-content > .ix-kroki .ix-krok__opis {
	margin: 0 auto;
}
.ix-podstrona .entry-content > .ix-cta .ix-cta__slowa p {
	margin: 0;
}
/* Trzy kroki zawsze w jednym rzędzie (poza telefonem): auto-fit łamał je
   na 2 + 1 i linia łącząca wystawała poza boks. */
@media (min-width: 601px) {
	.ix-podstrona .entry-content > .ix-kroki .ix-kroki__lista {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 1.5rem;
	}
	.ix-podstrona .entry-content > .ix-kroki .ix-krok:not(:last-child)::after {
		right: -1.5rem;
	}
}
@media (max-width: 600px) {
	.ix-podstrona .entry-content > .ix-kroki .ix-kroki__lista {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}
}

@media (max-width: 1000px) {
	.ix-podstrona .entry-content .ix-wyp__lista,
	.ix-wyp__lista {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 600px) {
	.ix-wyp .ix-wyp__karta {
		grid-template-columns: 1fr;
	}
	.ix-wyp__foto {
		min-height: 0;
		aspect-ratio: 4 / 3;
		border-right: 0;
		border-bottom: 1px solid var(--ix-linia-cien);
	}
	.ix-wyp__tresc {
		padding: 1.1rem 1.1rem 1.2rem;
	}
	.ix-wyp__akcje .ix-btn {
		width: 100%;
		justify-content: center;
	}
	.ix-podstrona .entry-content > .ix-kroki {
		padding: 1.4rem 1.2rem 1.5rem;
	}
}
@media (prefers-reduced-motion: reduce) {
	.ix-wyp .ix-wyp__karta {
		transition: none;
	}
}

/* ==========================================================================
   3.20.0 Oferta specjalna: dostępność pod ceną, nad przyciskiem
   ========================================================================== */
.ix-podstrona .entry-content .ix-oferta__cena + .ix-oferta__stan,
.ix-oferta__cena + .ix-oferta__stan {
	margin-top: .75rem;
}
.ix-oferta__stan + .ix-oferta__akcje {
	margin-top: .75rem;
}
/* cookieyes */
.cky-btn-customize {
    color: var(--ix-granat) !important;
    border: 2px solid var(--ix-granat) !important;
}
.cky-btn-reject, .cky-btn-preferences {
	background: #fff !important;
    color: var(--ix-granat) !important;
    border-color: var(--ix-granat) !important;
}
.cky-btn-accept {
    background: var(--ix-granat) !important;
    border-color: var(--ix-granat) !important;
}
.cky-btn-revisit-wrapper {
    background: var(--ix-granat) !important;
}
.cky-preference-content-wrapper .cky-show-desc-btn, .cky-accordion-header .cky-always-active {
    color: var(--ix-granat) !important;
}
/* ==========================================================================
   3.20.1 / 3.20.2 Logo autora w stopce (sekcja 44 w functions.php)
   Pasek: siatka 1fr | auto | 1fr. Tekst w środkowej kolumnie (zawsze
   na środku), logo w prawej, przy krawędzi.
   ========================================================================== */

.site-footer .inside-site-info {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	column-gap: 1.5rem;
}
.site-footer .inside-site-info > .copyright-bar {
	grid-column: 2;
	grid-row: 1;
	text-align: center;
}
.site-footer .ix-autor {
	grid-column: 3;
	grid-row: 1;
	justify-self: end;
	display: inline-flex;
	line-height: 0;
	opacity: .3;
	transition: opacity .2s ease;
}
.site-footer .ix-autor:hover,
.site-footer .ix-autor:focus-visible {
	opacity: 0.6;
}
.site-footer .ix-autor:focus-visible {
	outline: 1px solid rgba(255,255,255,.6);
	outline-offset: 4px;
}
.site-footer .ix-autor img {
	display: block;
	width: auto;
	height: 22px;
}
@media (max-width: 768px) {
	.site-footer .inside-site-info {
		grid-template-columns: 1fr;
		row-gap: .75rem;
	}
	.site-footer .inside-site-info > .copyright-bar {
		grid-column: 1;
	}
	.site-footer .ix-autor {
		grid-column: 1;
		grid-row: 2;
		justify-self: center;
	}
}
@media (prefers-reduced-motion: reduce) {
	.site-footer .ix-autor {
		transition: none;
	}
}
