/* Slider na pelna szerokosc, stara kolumna z menu (boksy) ukryta - zastepuje ja siatka .imsf-home-cats. */
.elementor-element-24e40ea > .elementor-container > .elementor-column:first-child {
	display: none;
}

/* Anti-Return-Label: jeden stabilny panel - tekst od 5% jego lewej krawedzi,
   obraz w prawej kolumnie, bez absolutnych przesuniec i pustego spaceru. */
body.home .elementor-6405 .elementor-element-a79bffa .elementor-element-96b2879 > .elementor-widget-wrap {
	display: grid !important;
	grid-template-columns: minmax(0, 60%) minmax(0, 40%);
	align-items: center;
	padding: clamp(20px, 3vw, 40px) 5% !important;
	background: radial-gradient(at 50% 0%, rgb(238, 117, 25) 10%, rgb(182, 72, 25) 46%) !important;
}

body.home .elementor-6405 .elementor-element-a79bffa .elementor-element-35bd6c0 {
	grid-column: 1;
	grid-row: 1;
	position: static !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	background: none !important;
}

body.home .elementor-6405 .elementor-element-a79bffa .elementor-element-35bd6c0 > .elementor-container {
	padding: 0 !important;
}

body.home .elementor-6405 .elementor-element-a79bffa .elementor-element-f2c4e6a,
body.home .elementor-6405 .elementor-element-a79bffa .elementor-element-f2c4e6a > .elementor-widget-wrap {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.home .elementor-6405 .elementor-element-a79bffa .elementor-element-f2c4e6a > .elementor-widget-wrap {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	justify-content: center !important;
}

body.home .elementor-6405 .elementor-element-a79bffa :is(.elementor-element-d6264e8, .elementor-element-a8e8de6) {
	position: static !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	transform: none !important;
	margin-left: 0 !important;
	max-width: 100% !important;
}

body.home .elementor-6405 .elementor-element-a79bffa .elementor-element-d6264e8 {
	width: 100% !important;
	text-align: left !important;
}

body.home .elementor-6405 .elementor-element-a79bffa .elementor-element-d6264e8 :is(
	.aux-modern-heading-primary, .aux-modern-heading-secondary, .aux-modern-heading-description
) {
	width: 100% !important;
	max-width: 100% !important;
	text-align: left !important;
}

body.home .elementor-6405 .elementor-element-a79bffa .elementor-element-4740dab {
	display: none !important;
}

body.home .elementor-6405 .elementor-element-a79bffa .elementor-element-a8e8de6 {
	width: max-content !important;
	margin-top: 24px !important;
}

body.home .elementor-6405 .elementor-element-a79bffa .elementor-element-0a3b14f {
	grid-column: 2;
	grid-row: 1;
	position: static !important;
	left: auto !important;
	right: auto !important;
	top: auto !important;
	transform: none !important;
	justify-self: end;
	align-self: center;
	width: min(100%, 550px) !important;
	max-width: 100% !important;
	height: auto !important;
	margin: 0 !important;
}

body.home .elementor-6405 .elementor-element-a79bffa .elementor-element-0a3b14f img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: contain;
}

body.home .elementor-6405 .elementor-element-a79bffa .elementor-element-d6264e8 .aux-modern-heading-primary {
	font-size: 15px !important;
	line-height: 1.35 !important;
}

body.home .elementor-6405 .elementor-element-a79bffa .elementor-element-d6264e8 .aux-modern-heading-secondary {
	font-size: clamp(28px, 3vw, 60px) !important;
	line-height: 1.1 !important;
	letter-spacing: normal !important;
	overflow-wrap: normal !important;
	word-break: normal !important;
}

body.home .elementor-6405 .elementor-element-a79bffa .elementor-element-d6264e8 .aux-modern-heading-description p {
	font-size: 15px !important;
	line-height: 1.5 !important;
	margin: 0 0 0.75em !important;
}

@media (max-width: 1024px) {
	body.home .elementor-6405 .elementor-element-a79bffa .elementor-element-d6264e8 .aux-modern-heading-secondary {
		font-size: clamp(28px, 3.2vw, 36px) !important;
		line-height: 1.15 !important;
	}
}

@media (max-width: 767px) {
	body.home .elementor-6405 .elementor-element-a79bffa .elementor-element-96b2879 > .elementor-widget-wrap {
		grid-template-columns: minmax(0, 1fr);
		row-gap: 20px;
	}
	body.home .elementor-6405 .elementor-element-a79bffa .elementor-element-0a3b14f {
		grid-column: 1;
		grid-row: 2;
		justify-self: center;
		width: min(100%, 300px) !important;
	}
}

.elementor-element-24e40ea > .elementor-container > .elementor-column:last-child {
	width: 100%;
}

.imsf-home-cats {
	/* 1600px = max-width .elementor-container slajdera nad tym blokiem, zeby kafelki mialy ta sama szerokosc. */
	box-sizing: border-box;
	width: 96%;
	max-width: 1600px;
	margin: 0 auto;
	padding: 24px 0 8px 4px;
}

@media (min-width: 1667px) {
	.imsf-home-cats {
		padding-left: 6px;
	}
}

.imsf-home-cats__list {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

body.home .imsf-home-cats__list {
	padding-inline-start: 0;
}

.imsf-home-cats__item {
	margin: 0;
	padding: 0;
	list-style: none;
}

.imsf-home-cats__item::marker,
.imsf-home-cats__item::before {
	content: none;
}

.imsf-home-cats__link {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	height: 100%;
	padding: 16px 10px 14px;
	border: 1px solid #ececec;
	background: #fff;
	color: #1a1a1a;
	text-align: center;
	text-decoration: none;
	transition: border-color 0.15s, box-shadow 0.15s;
}

.imsf-home-cats__link:hover,
.imsf-home-cats__link:focus-visible {
	border-color: #be0225;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
	color: #be0225;
}

.imsf-home-cats__img {
	display: flex;
	align-items: center;
	justify-content: center;
	width: min(160px, 100%);
	aspect-ratio: 1;
}

.imsf-home-cats__img img {
	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

.imsf-home-cats__name {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	overflow-wrap: break-word;
	hyphens: auto;
}

@media (max-width: 1024px) {
	.imsf-home-cats__list {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.imsf-home-cats {
		width: auto;
		padding: 16px 16px 4px;
	}

	.imsf-home-cats__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

	.imsf-home-cats__link {
		padding: 12px 6px 10px;
	}

	.imsf-home-cats__name {
		font-size: 12.5px;
	}
}

/* Zakladki ElementsKit "Erfahrung in der Produktion" - tresc zakladki ("Seit uber zehn Jahren...")
   nie miala w ogole paddingu (0px), tekst dotykal krawedzi. Dodany odstep ok. 30px na kazdej
   szerokosci (mobile ma juz wlasny, mniejszy padding 16px nizej w tym pliku). */
.elementor-element-845f771 .elementkit-tab-content {
	padding: 30px;
}

/* Zakladki ElementsKit "Erfahrung in der Produktion": Elementor daje kolumnie zakladek flex-basis 30% bez wariantu
   mobilnego - na telefonie tekst lamal sie po literze. Do 767 px zakladki i tresc na pelna szerokosc. */
@media (max-width: 767px) {
	.elementor-element-845f771 .elementkit-tab-wraper.vertical {
		flex-wrap: wrap;
	}

	.elementor-6405 .elementor-element.elementor-element-845f771 .elementkit-tab-wraper.vertical > .elementkit-tab-nav,
	.elementor-6405 .elementor-element.elementor-element-845f771 .elementkit-tab-wraper.vertical > .elementkit-tab-content {
		flex: 0 0 100% !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-right: 0 !important;
	}

	.elementor-element-845f771 .elementkit-tab-wraper.vertical > .elementkit-tab-nav .elementkit-nav-link {
		display: flex;
		align-items: center;
		gap: 10px;
		text-align: left;
	}

	.elementor-element-845f771 .elementkit-tab-wraper.vertical > .elementkit-tab-content {
		margin-top: 12px;
		padding: 16px !important;
	}

	.elementor-element-845f771 .elementkit-tab-content p {
		font-size: 14px !important;
		line-height: 1.6 !important;
	}
}

/* Te same zakladki na tablecie (768-1024 px): kolumna zakladek jest waska, a prawy padding
   przycisku (35 px, zapas na nieuzywana ikonke) zabiera miejsce na tekst - "Sicherheitsqualitat"
   lamalo sie w polowie slowa ("Sicherheitsqualit" / "at"). Mniejszy font + mniejszy padding +
   zakaz lamania w srodku slowa. */
@media (min-width: 768px) and (max-width: 1024px) {
	.elementor-element-845f771 .elementkit-tab-nav .elementkit-nav-link {
		padding: 14px 14px 14px 10px !important;
	}

	.elementor-element-845f771 .elementskit-tab-title {
		font-size: 13px !important;
		line-height: 1.3 !important;
		word-break: keep-all;
		overflow-wrap: normal;
	}
}

/* Dwa rzedy kart produktow: stale odstepy i normalny przeplyw widgetow.
   Dekoracyjna warstwa tla Elementora pozostaje pod trescia karty. */
@media (max-width: 9999px) {
	body.home .elementor-6405 .elementor-element-3ba2b78 {
		margin-bottom: 20px !important;
	}

	body.home .elementor-6405 .elementor-element-3c1cb2b {
		padding-top: 0 !important;
	}

	/* CSS Grid z repeat(3, minmax(0,1fr)) dawal tylko 2 kolumny w rzedzie - przyczyna: natywny
	   clearfix Elementora ".elementor-container::before{content:"";display:block}" (stary haczyk
	   spod ukladu float) w kontekscie flex/grid staje sie wedlug specyfikacji PRAWDZIWYM
	   elementem potomnym (bo ma content i display:block), wiec zajmowal pierwsza "widmowa"
	   kolumne/komorke, zepychajac prawdziwe karty. Pseudoelement wylaczony ponizej. */
	body.home .elementor-6405 .elementor-element-3ba2b78 > .elementor-container::before,
	body.home .elementor-6405 .elementor-element-3ba2b78 > .elementor-container::after,
	body.home .elementor-6405 .elementor-element-3c1cb2b > .elementor-container::before,
	body.home .elementor-6405 .elementor-element-3c1cb2b > .elementor-container::after {
		display: none !important;
	}

	body.home .elementor-6405 .elementor-element-3ba2b78 > .elementor-container,
	body.home .elementor-6405 .elementor-element-3c1cb2b > .elementor-container {
		display: flex !important;
		flex-wrap: wrap;
		gap: 20px;
		align-items: flex-start;
	}

	body.home .elementor-6405 .elementor-element-3ba2b78 > .elementor-container > .elementor-column,
	body.home .elementor-6405 .elementor-element-3c1cb2b > .elementor-container > .elementor-column {
		flex: 1 1 calc(33.333% - 13.334px) !important;
		width: auto !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
		order: 0 !important;
	}

	body.home .elementor-6405 .elementor-element-3ba2b78 .elementor-column > .elementor-widget-wrap,
	body.home .elementor-6405 .elementor-element-3c1cb2b .elementor-column > .elementor-widget-wrap {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
		width: 100%;
		height: auto;
		min-width: 0;
		margin: 0 !important;
		padding: 20px;
		box-sizing: border-box;
		text-align: left;
	}

	body.home .elementor-6405 .elementor-element-3ba2b78 .elementor-column > .elementor-widget-wrap > .elementor-element,
	body.home .elementor-6405 .elementor-element-3c1cb2b .elementor-column > .elementor-widget-wrap > .elementor-element {
		position: static !important;
		top: auto !important;
		right: auto !important;
		bottom: auto !important;
		left: auto !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		transform: none !important;
	}

	/* Na oryginale (immersafe.de/shop) naglowek jest NAD zdjeciem - u nas bylo odwrotnie, przez co
	   szary tekst nagłówka ("Gamma 10" itp.) nachodzil wizualnie na deseniowe tlo zdjecia (np.
	   mapa swiata) i byl slabo czytelny. Zdjecie przesuniete za naglowek. */
	body.home .elementor-6405 .elementor-element-3ba2b78 .elementor-widget-wrap > .elementor-element.elementor-widget-aux_image,
	body.home .elementor-6405 .elementor-element-3c1cb2b .elementor-widget-wrap > .elementor-element.elementor-widget-aux_image {
		order: 1;
		max-width: 260px !important;
		align-self: center;
	}

	body.home .elementor-6405 .elementor-element-3ba2b78 .elementor-widget-aux_image img,
	body.home .elementor-6405 .elementor-element-3c1cb2b .elementor-widget-aux_image img {
		width: 100%;
		max-width: 100%;
		max-height: 160px;
		height: auto !important;
		display: block;
		object-fit: contain;
	}

	/* Plakietka CO2 jest dodatkiem do ceny, nie drugim zdjeciem produktu. */
	body.home .elementor-6405 .elementor-element-3ba2b78 .elementor-widget-wrap > .elementor-element.elementor-element-3899375 {
		order: 3;
		max-width: 56px !important;
		align-self: flex-start;
	}

	/* Elementor daje kontenerowi naglowka padding ok. 28 px - tekst nie miescil sie w karcie. */
	body.home .elementor-6405 .elementor-element-3ba2b78 .elementor-widget-aux_modern_heading > .elementor-widget-container,
	body.home .elementor-6405 .elementor-element-3c1cb2b .elementor-widget-aux_modern_heading > .elementor-widget-container {
		padding: 0 !important;
	}

	/* Marginesy Phlox po projekcie opartym na pozycjonowaniu absolutnym. */
	body.home .elementor-6405 .elementor-element-3ba2b78 .aux-widget-modern-heading :is(.aux-modern-heading-primary, .aux-modern-heading-secondary, .aux-modern-heading-description),
	body.home .elementor-6405 .elementor-element-3c1cb2b .aux-widget-modern-heading :is(.aux-modern-heading-primary, .aux-modern-heading-secondary, .aux-modern-heading-description),
	body.home .elementor-6405 .elementor-element-05a4188 .aux-widget-modern-heading :is(.aux-modern-heading-primary, .aux-modern-heading-secondary, .aux-modern-heading-description) {
		margin: 0 0 6px !important;
		padding: 0 !important;
	}

	body.home .elementor-6405 .elementor-element-3ba2b78 .elementor-widget-aux_modern_heading,
	body.home .elementor-6405 .elementor-element-3c1cb2b .elementor-widget-aux_modern_heading {
		order: 0;
	}

	body.home .elementor-6405 .elementor-element-3ba2b78 .elementor-widget-text-editor,
	body.home .elementor-6405 .elementor-element-3c1cb2b .elementor-widget-text-editor {
		order: 2;
	}

	body.home .elementor-6405 .elementor-element-3ba2b78 .elementor-widget-aux_button,
	body.home .elementor-6405 .elementor-element-3c1cb2b .elementor-widget-aux_button {
		order: 4;
		margin-top: auto !important;
	}

	body.home .elementor-6405 .elementor-element-3ba2b78 .elementor-widget-aux_button .elementor-widget-container,
	body.home .elementor-6405 .elementor-element-3c1cb2b .elementor-widget-aux_button .elementor-widget-container {
		text-align: left;
	}

	body.home .elementor-6405 .elementor-element-3c1cb2b .elementor-widget-spacer {
		display: none;
	}

	body.home .elementor-6405 .elementor-element-3ba2b78 .aux-widget-modern-heading,
	body.home .elementor-6405 .elementor-element-3c1cb2b .aux-widget-modern-heading,
	body.home .elementor-6405 .elementor-element-3ba2b78 .aux-widget-modern-heading .aux-widget-inner,
	body.home .elementor-6405 .elementor-element-3c1cb2b .aux-widget-modern-heading .aux-widget-inner,
	body.home .elementor-6405 .elementor-element-3ba2b78 .aux-widget-modern-heading .aux-widget-inner > *,
	body.home .elementor-6405 .elementor-element-3c1cb2b .aux-widget-modern-heading .aux-widget-inner > * {
		text-align: left !important;
	}

	body.home .elementor-6405 .elementor-element-3ba2b78 .elementor-widget-text-editor .elementor-widget-container,
	body.home .elementor-6405 .elementor-element-3c1cb2b .elementor-widget-text-editor .elementor-widget-container {
		text-align: left;
	}

	/* Wspolna hierarchia pisma we wszystkich szesciu kartach. */
	body.home .elementor-6405 .elementor-element-3ba2b78 .aux-modern-heading-primary,
	body.home .elementor-6405 .elementor-element-3c1cb2b .aux-modern-heading-primary {
		font-size: 1rem !important;
		line-height: 1.35 !important;
	}

	body.home .elementor-6405 .elementor-element-3ba2b78 .aux-modern-heading-secondary,
	body.home .elementor-6405 .elementor-element-3c1cb2b .aux-modern-heading-secondary {
		font-size: 1.625rem !important;
		line-height: 1.15 !important;
	}

	body.home .elementor-6405 .elementor-element-3ba2b78 .aux-modern-heading-description,
	body.home .elementor-6405 .elementor-element-3ba2b78 .aux-modern-heading-description p,
	body.home .elementor-6405 .elementor-element-3c1cb2b .aux-modern-heading-description,
	body.home .elementor-6405 .elementor-element-3c1cb2b .aux-modern-heading-description p {
		font-size: 1rem !important;
		line-height: 1.35 !important;
	}

	body.home .elementor-6405 .elementor-element-3ba2b78 .aux-modern-heading-primary,
	body.home .elementor-6405 .elementor-element-3ba2b78 .aux-modern-heading-secondary,
	body.home .elementor-6405 .elementor-element-3ba2b78 .aux-modern-heading-description p,
	body.home .elementor-6405 .elementor-element-3c1cb2b .aux-modern-heading-primary,
	body.home .elementor-6405 .elementor-element-3c1cb2b .aux-modern-heading-secondary,
	body.home .elementor-6405 .elementor-element-3c1cb2b .aux-modern-heading-description p {
		overflow-wrap: anywhere;
		word-break: normal;
		hyphens: auto;
		white-space: normal;
	}

	body.home .elementor-6405 .elementor-element-3ba2b78 .elementor-widget-text-editor .elementor-widget-container p,
	body.home .elementor-6405 .elementor-element-3c1cb2b .elementor-widget-text-editor .elementor-widget-container p {
		font-size: 0.9375rem !important;
		line-height: 1.5;
	}

	body.home .elementor-6405 .elementor-element-3ba2b78 .aux-button .aux-text,
	body.home .elementor-6405 .elementor-element-3c1cb2b .aux-button .aux-text {
		font-size: 0.875rem !important;
	}
	/* Opisy mialy ujemny margines akapitu w wygenerowanym CSS Elementora. */
	body.home .elementor-6405 :is(.elementor-element-3ba2b78, .elementor-element-3c1cb2b) .aux-modern-heading-description p {
		margin: 0 !important;
	}

	body.home .elementor-6405 .elementor-element-3ba2b78 .elementor-element-3899375 img {
		width: 100% !important;
		max-width: 100% !important;
	}

	/* Phlox dodaje dolny margines akapitom i przyciskom, niezaleznie od gap widgetow. */
	body.home .elementor-6405 :is(.elementor-element-3ba2b78, .elementor-element-3c1cb2b) .elementor-widget-text-editor p {
		margin: 0 0 8px;
		line-height: 1.4 !important;
	}

	body.home .elementor-6405 :is(.elementor-element-3ba2b78, .elementor-element-3c1cb2b) .elementor-widget-text-editor p:last-child,
	body.home .elementor-6405 :is(.elementor-element-3ba2b78, .elementor-element-3c1cb2b) .aux-button {
		margin-bottom: 0 !important;
	}
}

/* Desktop: proporcje 2:1:1 i 1:1:2 jak w referencji. Dlugi opis dostaje szerokosc,
   zamiast rozciagac trzy waskie karty w pionie. Tylko szerokie karty maja obraz obok tekstu. */
@media (min-width: 1400px) {
	body.home .elementor-6405 :is(.elementor-element-3ba2b78, .elementor-element-3c1cb2b) > .elementor-container {
		align-items: stretch;
	}

	body.home .elementor-6405 :is(.elementor-element-3ba2b78, .elementor-element-3c1cb2b) > .elementor-container > .elementor-column {
		flex: 1 1 0 !important;
	}

	body.home .elementor-6405 .elementor-element-3ba2b78 > .elementor-container > .elementor-element-b5de7b7,
	body.home .elementor-6405 .elementor-element-3c1cb2b > .elementor-container > .elementor-element-b3ca156 {
		flex-grow: 2 !important;
	}

	body.home .elementor-6405 :is(.elementor-element-3ba2b78, .elementor-element-3c1cb2b) .elementor-column > .elementor-widget-wrap {
		min-height: 320px;
		height: 100%;
	}

	body.home .elementor-6405 :is(.elementor-element-3ba2b78, .elementor-element-3c1cb2b) :is(.elementor-element-b5de7b7, .elementor-element-b3ca156) > .elementor-widget-wrap {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 34%);
		grid-template-rows: auto auto auto 1fr;
		column-gap: 16px;
		align-content: start;
	}

	body.home .elementor-6405 :is(.elementor-element-3ba2b78, .elementor-element-3c1cb2b) :is(.elementor-element-b5de7b7, .elementor-element-b3ca156) .elementor-widget-aux_modern_heading {
		grid-column: 1;
		grid-row: 1;
	}

	body.home .elementor-6405 .elementor-element-b5de7b7 .elementor-element-3d68eaf {
		grid-column: 1;
		grid-row: 2;
	}

	body.home .elementor-6405 .elementor-element-b5de7b7 .elementor-element-49fdcfd {
		grid-column: 1 / -1;
		grid-row: 3;
	}

	body.home .elementor-6405 :is(.elementor-element-3ba2b78, .elementor-element-3c1cb2b) :is(.elementor-element-b5de7b7, .elementor-element-b3ca156) > .elementor-widget-wrap > .elementor-element.elementor-widget-aux_image {
		grid-column: 2;
		grid-row: 1 / 3;
		align-self: center;
		max-width: 100% !important;
	}

	body.home .elementor-6405 :is(.elementor-element-3ba2b78, .elementor-element-3c1cb2b) :is(.elementor-element-b5de7b7, .elementor-element-b3ca156) .elementor-widget-aux_image img {
		max-height: 230px;
	}

	body.home .elementor-6405 .elementor-element-3ba2b78 .elementor-element-b5de7b7 > .elementor-widget-wrap > .elementor-element.elementor-element-3899375 {
		grid-column: 2;
		grid-row: 4;
		max-width: 56px !important;
		justify-self: end;
		align-self: end;
	}

	body.home .elementor-6405 :is(.elementor-element-3ba2b78, .elementor-element-3c1cb2b) :is(.elementor-element-b5de7b7, .elementor-element-b3ca156) .elementor-widget-aux_button {
		grid-column: 1;
		grid-row: 4;
		align-self: end;
		margin-top: 0 !important;
	}

	body.home .elementor-6405 .elementor-element-3c1cb2b :is(.elementor-element-d75798f, .elementor-element-f71208d) .elementor-widget-aux_image img {
		max-height: 128px;
	}

	/* W waskich kartach naglowek poprzedza zdjecie, CTA zamyka karte. */
	body.home .elementor-6405 :is(.elementor-element-aa13740, .elementor-element-562ad8f, .elementor-element-d75798f, .elementor-element-f71208d) .elementor-widget-aux_modern_heading {
		order: -1;
	}
}

/* Tablet i wezszy desktop: trzy karty w rzedzie, wiekszy obraz nad tekstem. */
@media (min-width: 768px) and (max-width: 1399px) {
	body.home .elementor-6405 .elementor-element-3ba2b78 .elementor-column > .elementor-widget-wrap,
	body.home .elementor-6405 .elementor-element-3c1cb2b .elementor-column > .elementor-widget-wrap {
		padding: 18px;
	}

	body.home .elementor-6405 .elementor-element-3ba2b78 .elementor-widget-wrap > .elementor-element.elementor-widget-aux_image:not(.elementor-element-3899375),
	body.home .elementor-6405 .elementor-element-3c1cb2b .elementor-widget-wrap > .elementor-element.elementor-widget-aux_image:not(.elementor-element-3899375) {
		max-width: 220px !important;
	}
}

@media (min-width: 768px) and (max-width: 1024px) {
	body.home .elementor-6405 .elementor-element-3ba2b78 .aux-modern-heading-primary,
	body.home .elementor-6405 .elementor-element-3c1cb2b .aux-modern-heading-primary {
		font-size: 0.875rem !important;
	}

	body.home .elementor-6405 .elementor-element-3ba2b78 .aux-modern-heading-secondary,
	body.home .elementor-6405 .elementor-element-3c1cb2b .aux-modern-heading-secondary {
		font-size: 1.25rem !important;
	}

	body.home .elementor-6405 .elementor-element-3ba2b78 .aux-modern-heading-description,
	body.home .elementor-6405 .elementor-element-3ba2b78 .aux-modern-heading-description p,
	body.home .elementor-6405 .elementor-element-3c1cb2b .aux-modern-heading-description,
	body.home .elementor-6405 .elementor-element-3c1cb2b .aux-modern-heading-description p {
		font-size: 0.9375rem !important;
	}

	body.home .elementor-6405 .elementor-element-3ba2b78 .elementor-widget-text-editor .elementor-widget-container p,
	body.home .elementor-6405 .elementor-element-3c1cb2b .elementor-widget-text-editor .elementor-widget-container p {
		font-size: 0.875rem !important;
	}
}

@media (max-width: 767px) {
	body.home .elementor-6405 .elementor-element-3ba2b78 > .elementor-container > .elementor-column,
	body.home .elementor-6405 .elementor-element-3c1cb2b > .elementor-container > .elementor-column {
		flex: 1 1 100% !important;
		min-width: 0 !important;
	}

	body.home .elementor-6405 .elementor-element-3ba2b78 .elementor-column > .elementor-widget-wrap,
	body.home .elementor-6405 .elementor-element-3c1cb2b .elementor-column > .elementor-widget-wrap {
		padding: 20px;
	}

	body.home .elementor-6405 .elementor-element-3ba2b78 .aux-modern-heading-primary,
	body.home .elementor-6405 .elementor-element-3c1cb2b .aux-modern-heading-primary {
		font-size: 0.9375rem !important;
	}

	body.home .elementor-6405 .elementor-element-3ba2b78 .aux-modern-heading-secondary,
	body.home .elementor-6405 .elementor-element-3c1cb2b .aux-modern-heading-secondary {
		font-size: 1.375rem !important;
	}

	body.home .elementor-6405 .elementor-element-3ba2b78 .aux-modern-heading-description,
	body.home .elementor-6405 .elementor-element-3ba2b78 .aux-modern-heading-description p,
	body.home .elementor-6405 .elementor-element-3c1cb2b .aux-modern-heading-description,
	body.home .elementor-6405 .elementor-element-3c1cb2b .aux-modern-heading-description p {
		font-size: 1rem !important;
	}
	body.home .elementor-6405 :is(.elementor-element-3ba2b78, .elementor-element-3c1cb2b) .elementor-column > .elementor-widget-wrap {
		align-items: center;
	}

	body.home .elementor-6405 :is(.elementor-element-3ba2b78, .elementor-element-3c1cb2b) .elementor-column :is(.aux-widget-modern-heading, .aux-widget-inner, .aux-widget-inner > *, .elementor-widget-container) {
		text-align: center !important;
	}

	body.home .elementor-6405 .elementor-element-3ba2b78 .elementor-widget-wrap > .elementor-element.elementor-element-3899375 {
		align-self: center;
	}
}

/* Tablet: "Ihre Vorteile auf einen Blick" - Elementor daje lewej kolumnie ok. 22 % szerokosci, slowa sie lamia po literze.
   Kolumna z lista na pelna szerokosc, Secure Bag pod nia w normalnym przeplywie. */
@media (min-width: 768px) and (max-width: 1024px) {
	body.home .elementor-6405 .elementor-element-e71925a > .elementor-container {
		flex-wrap: wrap;
	}

	body.home .elementor-6405 .elementor-element-e71925a > .elementor-container > .elementor-element-01251ac,
	body.home .elementor-6405 .elementor-element-e71925a > .elementor-container > .elementor-element-05a4188 {
		width: 100% !important;
	}

	body.home .elementor-6405 .elementor-element-01251ac > .elementor-widget-wrap {
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: 24px;
		align-content: start;
	}

	body.home .elementor-6405 .elementor-element-01251ac > .elementor-widget-wrap > .elementor-element {
		width: 100% !important;
	}

	body.home .elementor-6405 .elementor-element-01251ac > .elementor-widget-wrap > .elementor-element-a04b1c0 {
		grid-column: 1 / -1;
	}

	body.home .elementor-6405 .elementor-element-a04b1c0 .elementor-heading-title {
		font-size: clamp(1.5rem, 1.125rem + 1.5vw, 2rem);
		line-height: 1.2;
	}

	body.home .elementor-6405 .elementor-element-01251ac .elementor-icon-box-title,
	body.home .elementor-6405 .elementor-element-01251ac .elementor-icon-list-text {
		font-size: 0.9375rem !important;
		line-height: 1.4;
		overflow-wrap: normal;
		word-break: normal;
		hyphens: manual;
	}

	/* "SECURE BAG": Phlox ma 120 px / line-height 1 px pod uklad absolutny. Interlinia 1.1 (110%).
	   Font 2x wiekszy; "Secure" i "Bag" sa
	   dwoma oddzielnymi <p> (wlasnosc oryginalnej tresci Elementora), polaczone ponizej w jeden
	   plynacy akapit (display:inline + spacja), zamiast dwoch oddzielnych blokow. */
	body.home .elementor-6405 .elementor-element-74260a3 .aux-modern-heading-description,
	body.home .elementor-6405 .elementor-element-74260a3 .aux-modern-heading-description p {
		font-size: clamp(4rem, 1.6rem + 9.6vw, 6.4rem);
		line-height: 1.1;
	}

	/* Baner Anti-Return-Label: obraz (laptop) wystawal 17 px za kolumne. */
	body.home .elementor-6405 .elementor-element-96b2879 > .elementor-widget-wrap > .elementor-element-0a3b14f {
		left: auto !important;
		right: 24px !important;
		width: 40% !important;
		max-width: 40% !important;
	}

	/* Baner "Behaelter mit integriertem Deckel": obraz wystaje 84 px za prawa krawedz. */
	body.home .elementor-6405 .elementor-element-3c94ec6 > .elementor-widget-wrap > .elementor-element-ae55a16 {
		left: auto !important;
		right: 12px !important;
		width: 46% !important;
		max-width: 46% !important;
	}
}

/* Baner "Secure Bag" (kolumna 05a4188): obraz, naglowek i przycisk byly pozycjonowane absolutnie
   na sztywnych pikselach - przycisk "Mehr Info" mial staly "top" wzgledem jednej szerokosci
   odniesienia, wiec na innych szerokosciach "odrywal" sie od tekstu (czasem daleko pod nim,
   czasem tuz obok). Regula dziala teraz zawsze (nie tylko na tablecie): obraz, naglowek, przycisk
   jeden pod drugim - przycisk zawsze bezposrednio pod naglowkiem, u dolu karty. */
body.home .elementor-6405 .elementor-element-05a4188 > .elementor-widget-wrap {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;
	padding: 24px 20px 26px;
	text-align: left;
}

body.home .elementor-6405 .elementor-element-05a4188 > .elementor-widget-wrap > .elementor-element {
	position: static !important;
	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
}

body.home .elementor-6405 .elementor-element-05a4188 > .elementor-widget-wrap > .elementor-element.elementor-widget-aux_image {
	order: 0;
	max-width: 360px !important;
}

body.home .elementor-6405 .elementor-element-05a4188 .elementor-widget-aux_image img {
	max-width: 100%;
	height: auto;
}

body.home .elementor-6405 .elementor-element-05a4188 .elementor-widget-aux_modern_heading {
	order: 1;
}

body.home .elementor-6405 .elementor-element-05a4188 .aux-widget-modern-heading,
body.home .elementor-6405 .elementor-element-05a4188 .aux-widget-modern-heading .aux-widget-inner {
	text-align: left;
}

body.home .elementor-6405 .elementor-element-05a4188 .elementor-widget-aux_button {
	order: 2;
}

body.home .elementor-6405 .elementor-element-05a4188 .elementor-widget-aux_button .elementor-widget-container {
	text-align: left;
}

/* Mobile: baner Anti-Return-Label - naglowek przesuniety o 127 px (miejsce na obraz) nachodzil na przycisk,
   obraz wraca do przeplywu nad tekstem; tekst min. 15 px. Pomaranczowy gradient jest ustawiony
   tylko na sekcji z tekstem (35bd6c0) - kolumna ze zdjeciem laptopa (96b2879) byla przezroczysta,
   wiec na mobile (zdjecie nad tekstem) nad pomaranczowym blokiem bylo biale tlo. Ten sam gradient
   dodany tez do kolumny ze zdjeciem, zeby bylo spojnie. */
@media (max-width: 767px) {
	body.home .elementor-6405 .elementor-element-96b2879 {
		background: radial-gradient(at 50% 0%, rgb(238, 117, 25) 10%, rgb(182, 72, 25) 46%) !important;
	}

	body.home .elementor-6405 .elementor-element-96b2879 > .elementor-widget-wrap > .elementor-element-0a3b14f {
		position: static !important;
		top: auto !important;
		left: auto !important;
		width: 60% !important;
		max-width: 240px !important;
		margin: 0 auto 8px !important;
	}

	body.home .elementor-6405 .elementor-element-0a3b14f img {
		max-width: 100%;
		height: auto;
	}

	body.home .elementor-6405 .elementor-element-f2c4e6a > .elementor-widget-wrap > .elementor-element-d6264e8,
	body.home .elementor-6405 .elementor-element-f2c4e6a > .elementor-widget-wrap > .elementor-element-a8e8de6 {
		top: 0 !important;
		left: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	body.home .elementor-6405 .elementor-element-f2c4e6a > .elementor-widget-wrap > .elementor-element-4740dab {
		display: none;
	}

	body.home .elementor-6405 .elementor-element-a8e8de6 .elementor-widget-container {
		text-align: center;
	}

	body.home .elementor-6405 .elementor-element-d6264e8 .aux-modern-heading-primary {
		font-size: 0.9375rem;
		line-height: 1.35;
	}

	body.home .elementor-6405 .elementor-element-d6264e8 .aux-modern-heading-secondary {
		font-size: clamp(2rem, 1rem + 6vw, 2.75rem);
		line-height: 1.05;
	}

	body.home .elementor-6405 .elementor-element-d6264e8 .aux-modern-heading-description p {
		font-size: 0.9375rem;
		line-height: 1.5;
		margin-bottom: 0.75em;
	}

	body.home .elementor-6405 .elementor-element-a8e8de6 .aux-button .aux-text {
		font-size: 0.875rem;
	}

	/* Mobile: Secure Bag - tekst min. 15 px, obraz torby nie wystaje za prawa krawedz karty. */
	body.home .elementor-6405 .elementor-element-74260a3 .aux-modern-heading-primary {
		font-size: 0.9375rem;
	}

	body.home .elementor-6405 .elementor-element-05a4188 > .elementor-widget-wrap > .elementor-element-b91c159 {
		left: auto !important;
		right: 14px !important;
		width: 46% !important;
		max-width: 46% !important;
	}

	/* Mobile: pasek "Hohe Qualitat / Schnelle Lieferung / ..." - 2 kolumny zamiast jednej,
	   ostatnia pozycja (nieparzysta piata) wysrodkowana, ikony zmniejszone (byly 155 px).
	   Margines 80px na kolumnie (ustawienie desktopowe Elementora) scisnal siatke do 170 px -
	   wyzerowany tutaj. */
	body.home .elementor-6405 .elementor-element-e6c6a5c .elementor-element-populated {
		margin: 0 !important;
	}

	body.home .elementor-6405 .elementor-element-e6c6a5c .elementor-widget-wrap {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 1.5rem 0.5rem;
	}

	body.home .elementor-6405 .elementor-element-e6c6a5c .elementor-widget-wrap > .elementor-widget-aux_text {
		width: 100% !important;
	}

	body.home .elementor-6405 .elementor-element-e6c6a5c .elementor-widget-wrap > .elementor-widget-aux_text:last-child {
		grid-column: 1 / -1;
	}

	/* Rowna wysokosc wszystkich 5 boxow (teksty roznej dlugosci lamia sie na 1-2 linie) -
	   stala wysokosc + wysrodkowanie zawartosci w pionie, zeby ikony byly na tym samym poziomie. */
	body.home .elementor-6405 .elementor-element-e6c6a5c .elementor-widget-wrap > .elementor-widget-aux_text {
		min-height: 8.125rem;
	}

	/* justify-content:flex-start (nie center) - niektore z 5 widgetow maja wlasny, inny padding
	   ustawiony w Elementorze, wiec ich laczna wysokosc tresci rozni sie o kilkanascie px; przy
	   wysrodkowaniu w pionie to przesuwalo ikony wzgledem siebie. Ikona ma teraz zawsze ten sam
	   odstep od gory boxu, niezaleznie od dlugosci tekstu pod nia. */
	body.home .elementor-6405 .elementor-element-e6c6a5c .aux-widget-advanced-text {
		display: flex !important;
		flex-direction: column;
		align-items: center;
		justify-content: flex-start;
		height: 100%;
		padding: 0 !important;
		margin: 0 !important;
		text-align: center;
	}

	/* Kazdy z 5 widgetow mial inny wlasny padding nagłówka ustawiony w Elementorze (dziedzictwo
	   desktopowego projektu) - wysokosc "nagłówka z ikona" wahala sie 61-71 px miedzy pozycjami,
	   wiec mimo tej samej wysokosci calego boxu ikony nie byly w jednej linii w pionie.
	   Nagłówek dostaje teraz stala wysokosc kwadratu (72x72) z ikona wysrodkowana w srodku -
	   niezaleznie od oryginalnego paddingu danego widgetu. */
	body.home .elementor-6405 .elementor-element-e6c6a5c .aux-text-widget-header {
		display: flex !important;
		align-items: center;
		justify-content: center;
		width: 72px !important;
		height: 72px !important;
		padding: 0 !important;
		margin: 0 0 0.5rem !important;
	}

	body.home .elementor-6405 .elementor-element-e6c6a5c .aux-ico-box {
		display: flex !important;
		align-items: center;
		justify-content: center;
		width: 56px !important;
		height: 56px !important;
		padding: 0 !important;
		margin: 0 !important;
	}

	body.home .elementor-6405 .elementor-element-e6c6a5c .aux-ico-box img {
		width: 56px !important;
		height: 56px !important;
		object-fit: contain;
	}

	body.home .elementor-6405 .elementor-element-e6c6a5c .aux-text-inner {
		text-align: center;
	}

	body.home .elementor-6405 .elementor-element-e6c6a5c .col-title {
		font-size: 0.8125rem;
		text-align: center;
	}
}

/* "Ihre Vorteile auf einen Blick" (tablet+desktop, kolumna 01251ac - osobna wersja mobile w innej
   kolumnie): checkmarki 38 px i kolor #F0B800 (jaskrawy zloty, slaby kontrast z bialym tlem) -
   zmniejszone, kolor zmieniony na granat zgodny z naglowkiem sekcji (#004A8F), lepszy kontrast. */
/* Cztery odstepy miedzy piecioma glownymi zaletami: 20px -> 0px. Odstep pod
   Personalisierung przed jej podlista pozostaje bez zmian. */
body.home .elementor-6405 .elementor-element-01251ac > .elementor-widget-wrap > :is(
	.elementor-element-9c57ca9,
	.elementor-element-185c540,
	.elementor-element-eb2b7aa,
	.elementor-element-4d5efce
) {
	margin-bottom: 0 !important;
}

body.home .elementor-6405 .elementor-element-01251ac .elementor-icon-box-title {
	font-size: 0.8125rem !important;
	color: #004A8F !important;
}

body.home .elementor-6405 .elementor-element-01251ac .elementor-icon {
	color: #004A8F !important;
}

body.home .elementor-6405 .elementor-element-01251ac .elementor-icon i {
	font-size: 1.375rem !important;
	width: 1.375rem;
	height: 1.375rem;
}

/* "SECURE BAG" - na desktopie (>=1025px) naglowki
   zmniejszone o polowe wzgledem poprzedniej wersji: "SECURE BAG" z 104 na 52px, "Sicherheitstaschen"
   z 30 na 15px, zdjecie torby z 360 na 220px, mniejszy padding/odstep - caly blok wyraznie nizszy.
   Desktop (>=1025px) nie mial wczesniej zadnej regulki wiec "przeciekal" font 120px z nieopatrzonej
   w breakpoint regulki (ten sam wzorzec co inne sekcje naprawiane dzisiaj); do tego Phlox ma tu
   line-height:1px pod uklad absolutny (litery renderuja sie "nad" wlasnym boxem) - przy duzym
   foncie to wizualnie nachodzilo na "Sicherheitstaschen" nad tekstem. Tablet (768-1024px) mial juz
   wlasna regulke nizej w tym pliku (z poprawnym line-height) - tu tylko mniejszy font. */
body.home .elementor-6405 .elementor-element-74260a3 .aux-modern-heading-description,
body.home .elementor-6405 .elementor-element-74260a3 .aux-modern-heading-description p {
	font-size: 5.2rem !important;
	line-height: 1.1 !important;
}

/* "Secure" i "Bag" sa dwa oddzielne <p> w tresci widgetu (oryginalna tresc Elementora) - stad
   dziwne zachowanie przy zmianach interlinii/marginesow. Polaczone w jeden plynacy akapit:
   oba <p> obok siebie (display:inline) ze spacja miedzy nimi zamiast dwoch blokow. */
body.home .elementor-6405 .elementor-element-74260a3 .aux-modern-heading-description p {
	display: inline;
	margin: 0 !important;
}

body.home .elementor-6405 .elementor-element-74260a3 .aux-modern-heading-description p:first-child::after {
	content: " ";
}

/* "Sicherheitstaschen" (aux-modern-heading-secondary) mial stala interlinie 46px niezaleznie od
   rozmiaru czcionki (15-30px w zaleznosci od szerokosci) - przy malej czcionce dawalo to
   absurdalnie duzy odstep (do 3x wysokosci litery) nad "SECURE BAG". Interlinia proporcjonalna
   do fontu na kazdej szerokosci. */
body.home .elementor-6405 .elementor-element-74260a3 .aux-modern-heading-secondary {
	line-height: 1.2 !important;
}

@media (min-width: 1025px) {
	body.home .elementor-6405 .elementor-element-74260a3 .aux-modern-heading-secondary {
		font-size: 0.9375rem !important;
	}

	body.home .elementor-6405 .elementor-element-05a4188 > .elementor-widget-wrap > .elementor-element.elementor-widget-aux_image {
		max-width: 220px !important;
	}

	body.home .elementor-6405 .elementor-element-05a4188 > .elementor-widget-wrap {
		gap: 8px;
		padding: 20px;
	}
}

@media (max-width: 767px) {
	body.home .elementor-6405 .elementor-element-74260a3 .aux-modern-heading-description,
	body.home .elementor-6405 .elementor-element-74260a3 .aux-modern-heading-description p {
		font-size: 3.1rem !important;
		line-height: 1.1 !important;
	}
}

@media (min-width: 768px) and (max-width: 1024px) {
	body.home .elementor-6405 .elementor-element-74260a3 .aux-modern-heading-description,
	body.home .elementor-6405 .elementor-element-74260a3 .aux-modern-heading-description p {
		font-size: clamp(2.4rem, 9.6vw, 4.8rem) !important;
	}
}

/* "Ihre Vorteile auf einen Blick" - podpunkty "mit eigenem Barcode/Text/Logo" (widget 792f14c
   w kolumnie 01251ac) mialy ten sam jaskrawy zloty #F0B800 co checkmarki wyzej - zmienione na
   ciemnoszary (kolor teksu w pozostalej czesci strony), dla lepszego kontrastu i czytelnosci. */
body.home .elementor-6405 .elementor-element-792f14c .elementor-icon-list-text {
	color: #444444 !important;
	font-size: 13px !important;
}

body.home .elementor-6405 .elementor-element-792f14c .elementor-icon-list-icon,
body.home .elementor-6405 .elementor-element-792f14c .elementor-icon-list-icon i {
	color: #004A8F !important;
}

/* Animacje fade-in opozniaja pokazanie tresci podczas przewijania na telefonie. */
@media (max-width: 767px), (prefers-reduced-motion: reduce) {
	body.home main .aux-appear-watch-animation[class*="aux-fade-in"] {
		animation: none !important;
		opacity: 1 !important;
		transform: none !important;
	}
}

/* Kafel "Alle anzeigen" (14.) - ikona SVG siatki w kolorze marki zamiast zdjecia produktu. */
.imsf-home-cats__link--all .imsf-home-cats__img {
	color: #be0225;
}

.imsf-home-cats__link--all .imsf-home-cats__img svg {
	width: 66px;
	height: 66px;
}

.imsf-home-cats__link--all:hover .imsf-home-cats__img,
.imsf-home-cats__link--all:focus-visible .imsf-home-cats__img {
	color: inherit;
}

/* Gorny Smart Slider: wszystkie widoczne warstwy tekstowe zaczynaja sie 5% od
   lewej krawedzi calego slidera, niezaleznie od wycentrowanego slide limitera.
   Grafiki zostaja w oryginalnych pozycjach absolutnych Smart Slidera. */
body.home #n2-ss-4 {
	container-type: inline-size;
	--imsf-slider-limiter: 100cqw;
	--imsf-slider-text-left: calc(5cqw - max(0px, (100cqw - var(--imsf-slider-limiter)) / 2) - 20px);
}

@media (min-width: 768px) and (max-width: 1199px) {
	body.home #n2-ss-4 { --imsf-slider-limiter: 800px; }
}

@media (min-width: 1200px) and (max-width: 1319px) {
	body.home #n2-ss-4 { --imsf-slider-limiter: 1200px; }
}

@media (min-width: 1320px) {
	body.home #n2-ss-4 { --imsf-slider-limiter: 1300px; }
	body.home #n2-ss-4 .n2-ss-slide-limiter { max-width: 1300px !important; }
	body.home #n2-ss-4 .n2-ss-slide-21 .n-uc-0YY4eQtwPabB { margin-left: 80px !important; }
}

body.home #n2-ss-4 :is(
	.n2-ss-slide-19, .n2-ss-slide-20, .n2-ss-slide-21,
	.n2-ss-slide-22, .n2-ss-slide-23
) .n2-ss-section-main-content {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	justify-content: center !important;
	min-height: 576px !important;
}

body.home #n2-ss-4 :is(
	.n-uc-s8gXuJDT3bMc, .n-uc-IusdqQUNPtzv, .n-uc-jzHURSe9tQmA, .n-uc-XdRI8zThhl3E,
	.n-uc-xgWrW8MNhj7o, .n-uc-buyq7aHxyHz1, .n-uc-z8NMazUgndm2,
	.n-uc-8ERamKHjHT7R, .n-uc-Sl0lScszObzQ, .n-uc-yQzGn3wsGKPk, .n-uc-tMddHA8qnbi1,
	.n-uc-oBTJlfAL64eJ, .n-uc-A3VuZ1CDLqxM, .n-uc-JdiDFiYyIXv1,
	.n-uc-raos7yWiWoC1, .n-uc-uLyPYqOYyVKj, .n-uc-Z1iG4TUJ6eg0, .n-uc-pw1ztDNzPG5d,
	.n-uc-FiLHo0HBuCOw, .n-uc-ZXpFHBv3iyJZ, .n-uc-WKDCBa5fjW4w,
	.n-uc-J4y47gBd757f, .n-uc-wZujXbTmhdDV, .n-uc-3hAJhuHxEMe7, .n-uc-YdyuctX5YIYu,
	.n-uc-TQFTWNA9upYr, .n-uc-idcLF2ExisAy, .n-uc-vl3SCoPugB9N,
	.n-uc-mReKYbyFPScs, .n-uc-JjLxJ9ftlZAT, .n-uc-Z9oZ1Bs55Oet, .n-uc-E4bRFuP31WE0,
	.n-uc-tMvZVJrLl4ET, .n-uc-BHXFQP5z6r5V, .n-uc-Ndcku87qgGZ6
) {
	position: relative !important;
	left: auto !important;
	top: auto !important;
	transform: none !important;
	width: auto !important;
	height: auto !important;
	max-width: 45cqw !important;
	margin: 0 0 0 var(--imsf-slider-text-left) !important;
	align-self: flex-start !important;
	text-align: left !important;
}

body.home #n2-ss-4 :is(
	.n-uc-jzHURSe9tQmA, .n-uc-XdRI8zThhl3E, .n-uc-yQzGn3wsGKPk, .n-uc-tMddHA8qnbi1,
	.n-uc-Z1iG4TUJ6eg0, .n-uc-pw1ztDNzPG5d, .n-uc-3hAJhuHxEMe7, .n-uc-YdyuctX5YIYu,
	.n-uc-Z9oZ1Bs55Oet, .n-uc-E4bRFuP31WE0
) { order: 1; margin-bottom: 8px !important; }

body.home #n2-ss-4 :is(
	.n-uc-s8gXuJDT3bMc, .n-uc-IusdqQUNPtzv, .n-uc-8ERamKHjHT7R, .n-uc-Sl0lScszObzQ,
	.n-uc-raos7yWiWoC1, .n-uc-uLyPYqOYyVKj, .n-uc-J4y47gBd757f, .n-uc-wZujXbTmhdDV,
	.n-uc-mReKYbyFPScs, .n-uc-JjLxJ9ftlZAT
) { order: 2; margin-bottom: 16px !important; }

body.home #n2-ss-4 :is(
	.n-uc-xgWrW8MNhj7o, .n-uc-oBTJlfAL64eJ, .n-uc-FiLHo0HBuCOw,
	.n-uc-TQFTWNA9upYr, .n-uc-tMvZVJrLl4ET
) { order: 3; width: min(45cqw, 500px) !important; margin-bottom: 20px !important; }

body.home #n2-ss-4 :is(
	.n-uc-buyq7aHxyHz1, .n-uc-z8NMazUgndm2, .n-uc-A3VuZ1CDLqxM, .n-uc-JdiDFiYyIXv1,
	.n-uc-ZXpFHBv3iyJZ, .n-uc-WKDCBa5fjW4w, .n-uc-idcLF2ExisAy, .n-uc-vl3SCoPugB9N,
	.n-uc-BHXFQP5z6r5V, .n-uc-Ndcku87qgGZ6
) { order: 4; max-width: none !important; }

body.home #n2-ss-4 :is(
	.n-uc-s8gXuJDT3bMc, .n-uc-IusdqQUNPtzv, .n-uc-8ERamKHjHT7R, .n-uc-Sl0lScszObzQ,
	.n-uc-raos7yWiWoC1, .n-uc-uLyPYqOYyVKj, .n-uc-J4y47gBd757f, .n-uc-wZujXbTmhdDV,
	.n-uc-mReKYbyFPScs, .n-uc-JjLxJ9ftlZAT
) .n2-ss-item-content {
	white-space: normal !important;
	word-break: normal !important;
	overflow-wrap: normal !important;
	hyphens: none !important;
}

@media (min-width: 768px) {
	body.home div#n2-ss-4 :is(
		.n-uc-s8gXuJDT3bMc, .n-uc-8ERamKHjHT7R, .n-uc-raos7yWiWoC1,
		.n-uc-J4y47gBd757f, .n-uc-mReKYbyFPScs
	) .n2-ss-item-content {
		font-size: clamp(26px, 3.6cqw, 52px) !important;
		line-height: 1.12 !important;
	}
}

@media (min-width: 768px) and (max-width: 1199px) {
	body.home div#n2-ss-4 :is(
		.n-uc-jzHURSe9tQmA, .n-uc-yQzGn3wsGKPk, .n-uc-Z1iG4TUJ6eg0,
		.n-uc-3hAJhuHxEMe7, .n-uc-Z9oZ1Bs55Oet
	) .n2-ss-item-content { font-size: 15px !important; line-height: 1.3 !important; }
	body.home div#n2-ss-4 :is(
		.n-uc-xgWrW8MNhj7o, .n-uc-oBTJlfAL64eJ, .n-uc-FiLHo0HBuCOw,
		.n-uc-TQFTWNA9upYr, .n-uc-tMvZVJrLl4ET
	) .n2-ss-item-content { font-size: 14px !important; line-height: 1.5 !important; }
}

@media (max-width: 767px) {
	body.home #n2-ss-4 :is(
		.n2-ss-slide-19, .n2-ss-slide-20, .n2-ss-slide-21,
		.n2-ss-slide-22, .n2-ss-slide-23
	) .n2-ss-section-main-content {
		justify-content: flex-start !important;
	}
	body.home #n2-ss-4 :is(
		.n-uc-IusdqQUNPtzv, .n-uc-XdRI8zThhl3E, .n-uc-z8NMazUgndm2,
		.n-uc-Sl0lScszObzQ, .n-uc-tMddHA8qnbi1, .n-uc-JdiDFiYyIXv1,
		.n-uc-uLyPYqOYyVKj, .n-uc-pw1ztDNzPG5d, .n-uc-WKDCBa5fjW4w,
		.n-uc-wZujXbTmhdDV, .n-uc-YdyuctX5YIYu, .n-uc-vl3SCoPugB9N,
		.n-uc-JjLxJ9ftlZAT, .n-uc-E4bRFuP31WE0, .n-uc-Ndcku87qgGZ6
	) { max-width: 90cqw !important; }
	body.home #n2-ss-4 :is(
		.n-uc-XdRI8zThhl3E, .n-uc-tMddHA8qnbi1, .n-uc-pw1ztDNzPG5d,
		.n-uc-YdyuctX5YIYu, .n-uc-E4bRFuP31WE0
	) { margin-bottom: 4px !important; }
	body.home #n2-ss-4 :is(
		.n-uc-IusdqQUNPtzv, .n-uc-Sl0lScszObzQ, .n-uc-uLyPYqOYyVKj,
		.n-uc-wZujXbTmhdDV, .n-uc-JjLxJ9ftlZAT
	) { margin-bottom: 12px !important; }
	body.home div#n2-ss-4 :is(
		.n-uc-IusdqQUNPtzv, .n-uc-Sl0lScszObzQ, .n-uc-uLyPYqOYyVKj,
		.n-uc-wZujXbTmhdDV, .n-uc-JjLxJ9ftlZAT
	) .n2-ss-item-content { font-size: clamp(19px, 6cqw, 26px) !important; line-height: 1.2 !important; }
}

/* Osiem wskazanych zdjec na stronie glownej, bez zmiany pozostalych kart. */
body.home .elementor-6405 :is(
	.elementor-element-c8ef2b8, .elementor-element-e341da3, .elementor-element-3894c65,
	.elementor-element-d063c52, .elementor-element-b99926e,
	.elementor-element-598eb82
) img {
	max-height: 192px !important;
	width: 100%;
	height: auto !important;
	object-fit: contain;
}

body.home .elementor-6405 .elementor-element-3899375 {
	max-width: 67.2px !important;
}

body.home .elementor-6405 .elementor-element-3899375 img {
	width: 100% !important;
	height: auto !important;
	object-fit: contain;
}

@media (min-width: 1400px) {
	body.home .elementor-6405 :is(.elementor-element-b5de7b7, .elementor-element-b3ca156) > .elementor-widget-wrap {
		grid-template-columns: minmax(0, 1fr) minmax(0, 38%) !important;
	}

	body.home .elementor-6405 :is(.elementor-element-3894c65, .elementor-element-598eb82) img {
		max-height: 276px !important;
	}

	body.home .elementor-6405 .elementor-element-3ba2b78 .elementor-element-b5de7b7 > .elementor-widget-wrap > .elementor-element.elementor-element-3899375 {
		max-width: 67.2px !important;
	}
}

@media (min-width: 768px) {
	body.home .elementor-6405 :is(.elementor-element-3ba2b78, .elementor-element-3c1cb2b) .elementor-widget-wrap > .elementor-element:is(
		.elementor-element-c8ef2b8, .elementor-element-e341da3, .elementor-element-d063c52,
		.elementor-element-b99926e
	) {
		max-width: 312px !important;
		align-self: center;
	}
}

/* Secure Bag: tekst i CTA w naturalnej szerokosci po lewej, torba po prawej.
   Ponizej 1400px dotychczasowy pionowy uklad daje im potrzebne miejsce. */
@media (min-width: 1400px) {
	body.home .elementor-6405 .elementor-element-05a4188 > .elementor-widget-wrap {
		display: grid;
		grid-template-columns: max-content minmax(0, 1fr);
		grid-template-rows: auto auto;
		align-content: center;
		align-items: center;
		column-gap: 28px;
	}

	body.home .elementor-6405 .elementor-element-05a4188 > .elementor-widget-wrap > .elementor-element-74260a3 {
		grid-column: 1;
		grid-row: 1;
		width: max-content !important;
		max-width: 100% !important;
	}

	body.home .elementor-6405 .elementor-element-74260a3 :is(
		.aux-modern-heading-primary, .aux-modern-heading-secondary,
		.aux-modern-heading-description
	) {
		width: max-content;
		max-width: 100%;
	}

	body.home .elementor-6405 .elementor-element-05a4188 > .elementor-widget-wrap > .elementor-element.elementor-element-b91c159 {
		grid-column: 2;
		grid-row: 1 / 3;
		justify-self: end;
		width: 528px !important;
		max-width: 100% !important;
	}

	body.home .elementor-6405 .elementor-element-05a4188 > .elementor-widget-wrap > .elementor-widget-aux_button {
		grid-column: 1;
		grid-row: 2;
		width: max-content !important;
		max-width: 100% !important;
	}
}

/* Wskazane teksty kart: skala z makiety 2164 px, mniejsza przy wezszych kartach. */
@media (min-width: 1400px) {
	body.home .elementor-6405 .elementor-element-4aff684 .aux-modern-heading-secondary {
		/* !important konieczne: ogolna regula kart (ok. l.467-470) ma !important i bez tego wygrywa. */
		font-size: calc(min(78.0078px, 3.605vw) - 5px) !important;
		line-height: 1.1;
	}

	body.home .elementor-6405 .elementor-element-216679c .aux-modern-heading-secondary {
		font-size: min(52.0052px, 2.403vw) !important;
		line-height: 1.1 !important;
		white-space: nowrap;
	}

	body.home .elementor-6405 :is(.elementor-element-99a04a4, .elementor-element-dd9b347) .aux-modern-heading-description p {
		font-size: 48.0048px !important;
		line-height: 1.12 !important;
	}

	/* Tekst Containerplomben potrzebuje szerszej kolumny przy podwojonym foncie. */
	body.home .elementor-6405 .elementor-element-b3ca156 > .elementor-widget-wrap {
		grid-template-columns: minmax(0, 69%) minmax(0, 1fr) !important;
		grid-template-rows: auto auto auto !important;
		align-content: center;
		position: relative;
	}

	body.home .elementor-6405 .elementor-element-3c1cb2b .elementor-element-b3ca156 > .elementor-widget-wrap > .elementor-element-598eb82 {
		position: absolute !important;
		grid-column: auto !important;
		grid-row: auto !important;
		top: calc(50% + 3.5px) !important;
		right: 20px !important;
		transform: translateY(-50%) !important;
		width: 31% !important;
		max-width: 31% !important;
		margin: 0 !important;
	}

	body.home .elementor-6405 .elementor-element-3c1cb2b .elementor-element-b3ca156 > .elementor-widget-wrap > .elementor-element-0fc12cc {
		grid-column: 1;
		grid-row: 2;
		margin-top: 8px !important;
	}

	body.home .elementor-6405 .elementor-element-3c1cb2b .elementor-element-b3ca156 > .elementor-widget-wrap > .elementor-element-36ed994 {
		grid-column: 1;
		grid-row: 3;
		align-self: start;
		margin-top: 16px !important;
	}
}

/* CTA slidera: regularny font i bialo-czerwony hover/focus. */
body.home div#n2-ss-4 .n2-ss-button-container a,
body.home div#n2-ss-4 .n2-ss-button-container a div { font-weight: 400 !important; }
body.home div#n2-ss-4 .n2-ss-button-container a:is(:hover, :focus-visible) {
 background: #fff !important; color: #bd0000 !important;
}
body.home div#n2-ss-4 .n2-ss-button-container a:is(:hover, :focus-visible) div { color: #bd0000 !important; }

/* Tablet: obraz wypelnia kolumne zamiast 40% jej szerokosci. */
@media (min-width: 768px) and (max-width: 1024px) {
 body.home .elementor-6405 .elementor-element-a79bffa .elementor-element-96b2879 > .elementor-widget-wrap > .elementor-element.elementor-element-0a3b14f {
  width: 80% !important; max-width: 80% !important;
 }
}

/* Mobile: wspolna os i polowa poprzedniej wysokosci (536,4 -> 268,2px). */
@media (max-width: 767px) {
 body.home div#n2-ss-4 :is(.n2-ss-slide-19, .n2-ss-slide-20, .n2-ss-slide-21, .n2-ss-slide-22, .n2-ss-slide-23) .n2-ss-section-main-content {
  min-height: 248.2px !important; align-items: center !important;
 }
 body.home div#n2-ss-4 .n2-ss-section-main-content > .n2-ss-layer:not(:has(img)) {
  margin-inline: 0 !important; align-self: center !important; text-align: center !important;
 }
 body.home div#n2-ss-4 .n2-ss-section-main-content .n2-ss-item-content { text-align: center !important; }
 body.home div#n2-ss-4 :is(.n-uc-5OjhyyXXsx9w, .n-uc-E46T470EuLqr, .n-uc-nVWwnAavO0p6) {
  left: 50% !important; top: auto !important; bottom: 22px !important;
  transform: translateX(-50%) !important; width: min(22cqw, 80px) !important; height: auto !important;
 }
}
/* Wezszy mobile: 396 -> 198px, z zachowaniem 20px ramy slidera. */
@media (max-width: 519px) {
 body.home div#n2-ss-4 :is(.n2-ss-slide-19, .n2-ss-slide-20, .n2-ss-slide-21, .n2-ss-slide-22, .n2-ss-slide-23) .n2-ss-section-main-content { min-height: 178px !important; }
}

/* Ukryty mobilnie opis nie zostawia pustego marginesu przed CTA. */
@media (max-width: 767px) {
 body.home div#n2-ss-4 :is(.n-uc-xgWrW8MNhj7o, .n-uc-oBTJlfAL64eJ, .n-uc-FiLHo0HBuCOw, .n-uc-TQFTWNA9upYr, .n-uc-tMvZVJrLl4ET) { display: none !important; }
}
@media (max-width: 519px) {
 body.home div#n2-ss-4 :is(.n-uc-5OjhyyXXsx9w, .n-uc-E46T470EuLqr, .n-uc-nVWwnAavO0p6) {
  width: min(16cqw, 50px) !important; bottom: 16px !important;
 }
}

/* Widoczna i dostepna klawiatura nawigacja glownego slidera. */
body.home #n2-ss-4 .imsf-hero-arrow {
	position: static;
	visibility: visible;
	box-sizing: border-box;
	z-index: 15;
	display: grid;
	place-items: center;
	width: 36.96px;
	height: 36.96px;
	margin: 0;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.8);
	border-radius: 0;
	background: rgba(255, 255, 255, 0.92);
	color: #bd0000;
	cursor: pointer;
}
body.home #n2-ss-4 .n2-ss-control-bullet {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 11.2px;
}
body.home #n2-ss-4 .imsf-hero-arrow { flex: 0 0 36.96px; }
body.home #n2-ss-4 .imsf-hero-arrow svg {
	display: block;
	width: 16.8px;
	height: 16.8px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2.5;
	stroke-linecap: round;
	stroke-linejoin: round;
}
body.home #n2-ss-4 .imsf-hero-arrow:hover { background: #bd0000; color: #fff; }
body.home #n2-ss-4 .imsf-hero-arrow:focus-visible,
body.home #n2-ss-4 .nextend-bullet-bar .n2-bullet:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 3px;
	box-shadow: 0 0 0 5px #bd0000;
}
body.home #n2-ss-4 .nextend-bullet-bar > div {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 32px;
	min-height: 32px;
}
body.home #n2-ss-4 .nextend-bullet-bar .n2-bullet {
	box-sizing: border-box;
	width: 16px;
	height: 16px;
	margin: 8px;
	padding: 0;
}
