.produkt5050 {
	background: #F9F9F9;
	padding: 100px 0;
}

.produkt5050 .container {
	
}

.produkt5050 .container .flex-container {
	width: 100%;
	align-items: stretch;
}

.mobile {
	display: none;
}

.produkt5050 .container .flex-container .half {
	position: relative;
	width: 50%;
	min-height: 50vw;
	overflow-y: clip;
}

.produkt5050 .container .flex-container .half.text .inside {
	padding: 0;
	width: 100%;
}

.produkt5050 .container .flex-container .half.text {
	justify-self: center;
    align-self: center;
    align-items: center;
    padding-left: 55px;
}

.produkt5050 .container .flex-container .half.left {
    padding-left: 55px;
}

.produkt5050 .container .flex-container .half.right {
    padding-right: 55px;
}

.produkt5050 .container .flex-container .half img {
	width: 100%;
	height: auto;
}

.produkt5050 .container .flex-container .half video {
	width: 100%;
	height: auto;
}

.produkt5050 .container .flex-container .half p.title {
	color: #363844;
	padding: 12px 15px;
	font-family: Inter;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 140%; /* 22.4px */
	letter-spacing: -0.48px;
	margin: 0;
	border-bottom: 1px solid #363844;
}

.produkt5050 .container .flex-container .half p:not(.title):not(:empty) {
	color: var(--KTI-GREY, #363844);
	padding: 12px 15px;
	font-family: Inter;
	font-size: 16px;
	font-style: normal;
	font-weight: 300;
	line-height: 115%; /* 18.4px */
	letter-spacing: -0.32px;
	margin: 0;
}

.produkt5050 .container .flex-container .half .sekcja + .sekcja {
	margin-top: 24px;
}

.produkt5050 .container .flex-container .half p:empty {display: none !important;}

.produkt5050 .container .flex-container .half p:not(.title) * {
	color: var(--KTI-GREY, #363844);

	font-family: Inter;
	font-size: 16px;
	font-style: normal;
	font-weight: 300;
	line-height: 115%; /* 18.4px */
	letter-spacing: -0.32px;
}

.produkt5050 .container .flex-container .half ul,
.produkt5050 .container .flex-container .half ol {
	max-width: 472px;
}

.produkt5050 .container .flex-container .half ul li,
.produkt5050 .container .flex-container .half ol li {
	color: var(--KTI-GREY, #363844);
	margin: 0 auto 10px auto;
	font-family: Inter;
	font-size: 16px;
	font-style: normal;
	font-weight: 300;
	line-height: 115%; /* 18.4px */
	letter-spacing: -0.32px;
}

.produkt5050 .container .flex-container .img-left,
.produkt5050 .container .flex-container .img-right {
	position: relative;
}

.produkt5050 .container .flex-container .img-left img {
	position: absolute;
	top: 0;
	right: 0;
	min-width: 50vw;
    width: auto;
    min-height: 50vw;
    max-height: 100%;
}

.produkt5050 .container .flex-container .img-right img {
	position: absolute;
	top: 0;
	left: 0;
	min-width: 50vw;
    width: auto;
    min-height: 50vw;
    max-height: 100%;
	
}

.produkt5050 .container .flex-container .img-left video {
	position: absolute;
	top: 0;
	right: 0;
	min-width: 50vw;
    width: auto;
    min-height: 50vw;
    max-height: 100%;
    object-fit: cover;
}

.produkt5050 .container .flex-container .img-right video {
	position: absolute;
	top: 0;
	left: 0;
	min-width: 50vw;
    width: auto;
    min-height: 50vw;
    max-height: 100%;
    object-fit: cover;
}

.produkt5050 .container .flex-container .half {
	justify-content: start;
}

.produkt5050 .container .flex-container .img-left + .half {
	align-items: baseline;
}

.produkt5050 .container .flex-container .half.text {
	align-items: baseline;
}

@media only screen and (max-width: 996px) {
	.produkt5050 {
		position: relative;
		padding: 0;
	}

	.produkt5050 .container .flex-container .half {
		width: 100%;
		min-height: auto;
		order: 2;
	}

	.mobile.bg {
		position: absolute;
		display: block;
		z-index: 0;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}

	.produkt5050 .container .flex-container .half ul,
	.produkt5050 .container .flex-container .half ol  {
		padding-left: 15px;
	}

	.produkt5050 .container .flex-container .half ul li,
	.produkt5050 .container .flex-container .half ol li {
		margin-bottom: 10px;
	}

	.produkt5050 .container .flex-container .half.text .inside {
		padding: 0;
		width: 100%;
	}

	.produkt5050 .container .flex-container .img-left,
	.produkt5050 .container .flex-container .img-right {
		margin: 0 -15px 0 -15px;
		width: calc(100% + 30px);
		padding: 0;
		order: 1;
	}

	.produkt5050 .container .flex-container {
		width: auto;
		min-height: auto;
		flex-wrap: wrap;
	}

	.produkt5050 .container .flex-container .half.text {
		padding: 0;
	}

	.produkt5050 .container .flex-container .half .inside {
		padding-top: 50px !important;
	}

	.produkt5050 .container .flex-container .img-left img,
	.produkt5050 .container .flex-container .img-right img {
        position: relative;
        max-width: calc(100% + 30px);
        width: calc(100% + 30px);
        max-height: 100%;
        height: 540px;
        object-fit: cover;
	}

	.produkt5050 .container .flex-container .img-left video,
	.produkt5050 .container .flex-container .img-right video {
        position: relative;
        max-width: calc(100% + 30px);
        width: calc(100% + 30px);
        max-height: 100%;
        height: 540px;
        object-fit: cover;
	}

	.produkt5050 .container .flex-container .half p,
	.produkt5050 .container .flex-container .half p * {
		font-size: 18px;
	}

	.produkt5050 .container .flex-container .half p {
		margin-top: 20px;
	}
}

/* =========================
   MOBILE FIRST OVERRIDES
   ========================= */
@media (max-width: 768px) {
  .produkt5050 {
    background: #f9f9f9;
    padding: 28px 0;
  }

  /* layout -> jedna kolumna, obraz/wideo na górze */
  .produkt5050 .container .flex-container {
    flex-direction: column;
    gap: 18px;
    width: 100%;
  }

  .produkt5050 .container .flex-container .half,
  .produkt5050 .container .flex-container .half + .half {
    width: 100%;
    order: unset; /* porządek ustawimy jawnie niżej */
    min-height: auto;
    overflow: visible;
  }

  /* Najpierw media, potem tekst */
  .produkt5050 .container .flex-container .img-left,
  .produkt5050 .container .flex-container .img-right {
    order: 1;
    margin: 0 -16px;
    width: calc(100% + 32px);
  }

  .produkt5050 .container .flex-container .half.text {
    order: 2;
    padding: 0;
    align-items: flex-start;
  }

  .produkt5050 .container .flex-container .half.text.left,
  .produkt5050 .container .flex-container .half.text.right {
    /* na mobile boczne paddings z desktopu niepotrzebne */
    padding-left: 0;
    padding-right: 0;
  }

  /* Wnętrze tekstu */
  .produkt5050 .container .flex-container .half.text .inside {
    padding: 0;
    max-width: 100%;
  }

  .produkt5050 .container .flex-container .half .sekcja + .sekcja {
    margin-top: 16px;
  }

  .produkt5050 .container .flex-container .half p.title {
    font-size: 15px;
    padding: 10px 6px;
  }

  .produkt5050 .container .flex-container .half p:not(.title):not(:empty),
  .produkt5050 .container .flex-container .half p:not(.title) * {
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: -0.3px;
    padding: 10px 6px;
  }

  .produkt5050 .container .flex-container .half ul,
  .produkt5050 .container .flex-container .half ol {
    padding-left: 20px;
    margin: 8px 0 0;
    max-width: 100%;
  }

  .produkt5050 .container .flex-container .half ul li,
  .produkt5050 .container .flex-container .half ol li {
    font-size: 15px;
    line-height: 1.35;
    margin: 0 0 8px 0;
  }

  /* Media: pełna szerokość, zaokrąglenie, stałe ratio */
  .produkt5050 .container .flex-container .img-left img,
  .produkt5050 .container .flex-container .img-right img,
  .produkt5050 .container .flex-container .img-left video,
  .produkt5050 .container .flex-container .img-right video {
    position: relative;
    display: block;
    width: calc(100% + 32px);
    max-width: calc(100% + 32px);
    height: 440px;
    object-fit: cover;
    aspect-ratio: auto; /* zostawiamy wysokość stałą */
    border-radius: 10px;
  }

  /* porządki desktopowych absolutów */
  .produkt5050 .container .flex-container .img-left img,
  .produkt5050 .container .flex-container .img-right img { top: auto; left: auto; right: auto; min-width: 0; min-height: 0; max-height: none; }
  .produkt5050 .container .flex-container .img-left video,
  .produkt5050 .container .flex-container .img-right video { top: auto; left: auto; right: auto; min-width: 0; min-height: 0; max-height: none; }

  /* drobne: niepotrzebne „desktopowe” paddingi */
  .produkt5050 .container .flex-container .half.left { padding-left: 0; }
  .produkt5050 .container .flex-container .half.right { padding-right: 0; }

  /* Mobile tło (jeśli używasz) */
  .mobile.bg {
    display: block;
    position: absolute;
    inset: 0;
    z-index: 0;
  }
}

/* Telefony „ciasne” – ok. 480px */
@media (max-width: 480px) {
  .produkt5050 { padding: 22px 0; }

  .produkt5050 .container .flex-container { gap: 16px; }

  .produkt5050 .container .flex-container .half.text .inside { padding: 0; }

  .produkt5050 .container .flex-container .half p.title {
    font-size: 14px;
    padding: 8px 4px;
  }

  .produkt5050 .container .flex-container .half p:not(.title):not(:empty),
  .produkt5050 .container .flex-container .half p:not(.title) * {
    font-size: 14px;
    padding: 8px 4px;
  }

  .produkt5050 .container .flex-container .img-left,
  .produkt5050 .container .flex-container .img-right {
    margin: 0 -12px;
    width: calc(100% + 24px);
  }

  .produkt5050 .container .flex-container .img-left img,
  .produkt5050 .container .flex-container .img-right img,
  .produkt5050 .container .flex-container .img-left video,
  .produkt5050 .container .flex-container .img-right video {
    width: calc(100% + 24px);
    max-width: calc(100% + 24px);
    height: 360px;        /* niższe media na małych ekranach */
    border-radius: 8px;
  }
}

/* =========================
   DROBNE DOPRACOWANIA
   ========================= */
/* lepsze przewijanie list na iOS */
@media (max-width: 768px) {
  .produkt5050 .container .flex-container .half ul,
  .produkt5050 .container .flex-container .half ol {
    -webkit-overflow-scrolling: touch;
  }
}

/* mniej animacji dla osób z ograniczeniami ruchu */
@media (prefers-reduced-motion: reduce) {
  .produkt5050 .container .flex-container .img-left img,
  .produkt5050 .container .flex-container .img-right img,
  .produkt5050 .container .flex-container .img-left video,
  .produkt5050 .container .flex-container .img-right video {
    transition: none !important;
  }
}
