/* ==========================================================================
   TwojaFirma (mediawdomu) — polish CSS
   Paleta: primary #1A4D8F · secondary #0E2A4A · text #33414E · accent #E8A13A
   Sekcje: header .elementor-element-99d2fc2 · hero .elementor-element-048bf36
           #dlaczego · #oferta (karty .elementor-element-902780b)
           #proces (kroki .elementor-element-06bc4d9) · #faq · #kontakt
   ========================================================================== */

:root {
	--mwd-primary: #c4203a;
	--mwd-secondary: #1a1b20;
	--mwd-text: #4a4d57;
	--mwd-accent: #e73149;
	--mwd-bg-light: #f5f6f8;
	--mwd-shadow: 0 10px 40px rgba(26, 27, 32, 0.08);
	--mwd-shadow-hover: 0 24px 70px rgba(26, 27, 32, 0.14);
	--mwd-radius: 18px;
}

/* --- Fundamenty ------------------------------------------------------- */

html {
	scroll-behavior: smooth;
	scroll-padding-top: 96px; /* kotwice nie chowają się pod sticky header */
}

html, body {
	max-width: 100%;
	overflow-x: clip; /* koniec z poziomym scrollem */
}

::selection {
	background: var(--mwd-accent);
	color: #ffffff;
}

/* --- Header ------------------------------------------------------------ */

.elementor-element-99d2fc2 {
	backdrop-filter: saturate(1.4) blur(8px);
	background: rgba(255, 255, 255, 0.92) !important;
	box-shadow: 0 1px 0 rgba(26, 27, 32, 0.08), 0 8px 24px rgba(14, 42, 74, 0.06);
}

.elementor-element-99d2fc2 a,
.elementor-element-99d2fc2 h1, .elementor-element-99d2fc2 h2,
.elementor-element-99d2fc2 h3, .elementor-element-99d2fc2 h4 {
	transition: color 0.2s ease;
}

.elementor-element-99d2fc2 > .e-con {
	width: auto !important;
	min-width: max-content;
}

.elementor-element-99d2fc2 .e-button-base,
.elementor-element-99d2fc2 a[class*="e-button"] {
	white-space: nowrap;
	color: #ffffff !important;
}

/* przyciski globalnie: biały tekst na czerwieni */
a.e-button-base, .e-button-base {
	color: #ffffff !important;
}

/* --- Przyciski (globalnie) --------------------------------------------- */

.e-con a[class*="e-button"],
button[class*="e-button"],
a.e-button-base, .e-button-base {
	transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

.e-con a[class*="e-button"]:hover,
a.e-button-base, .e-button-base {
	border-radius: 100px !important;
}

a.e-button-base:hover, .e-button-base:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(231, 49, 73, 0.35);
	filter: brightness(1.05);
}

/* --- Hero ---------------------------------------------------------------- */

.elementor-element-048bf36 {
	background:
		radial-gradient(1100px 480px at 85% -10%, rgba(231, 49, 73, 0.35), transparent 60%),
		radial-gradient(700px 380px at -10% 110%, rgba(196, 32, 58, 0.18), transparent 55%),
		linear-gradient(160deg, #1a1b20 0%, #24252d 55%, #1a1b20 100%) !important;
}

/* pasek statystyk: delikatne karty na ciemnym tle */
.elementor-element-048bf36 > .e-con:last-child > .e-con {
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: var(--mwd-radius);
	padding: 18px 20px;
	transition: background 0.25s ease, transform 0.25s ease;
}

.elementor-element-048bf36 > .e-con:last-child > .e-con:hover {
	background: rgba(255, 255, 255, 0.11);
	transform: translateY(-3px);
}

/* --- Karty: przewagi / oferta / proces --------------------------------- */

#dlaczego > .e-con > .e-con,
.elementor-element-902780b > .e-con,
.elementor-element-06bc4d9 > .e-con {
	background: #ffffff;
	border: 1px solid rgba(26, 27, 32, 0.08);
	border-radius: var(--mwd-radius);
	box-shadow: var(--mwd-shadow);
	padding: 26px 24px;
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

#dlaczego > .e-con > .e-con:hover,
.elementor-element-902780b > .e-con:hover,
.elementor-element-06bc4d9 > .e-con:hover {
	transform: translateY(-6px);
	box-shadow: var(--mwd-shadow-hover);
	border-color: rgba(231, 49, 73, 0.5);
}

/* akcent na kartach oferty */
.elementor-element-902780b > .e-con {
	border-top: 3px solid var(--mwd-accent);
}

/* numery kroków procesu */
.elementor-element-06bc4d9 > .e-con > h2:first-child,
.elementor-element-06bc4d9 > .e-con > h3:first-child,
.elementor-element-06bc4d9 > .e-con > p:first-child,
.elementor-element-06bc4d9 > .e-con > .e-heading-base:first-child {
	color: var(--mwd-accent);
}

/* --- FAQ: akordeon (stylowanie; logika w custom.js) --------------------- */

#faq > .e-con {
	background: #ffffff;
	border: 1px solid rgba(26, 27, 32, 0.1);
	border-radius: 12px;
	padding: 6px 22px;
	transition: box-shadow 0.25s ease, border-color 0.25s ease;
}

#faq > .e-con:hover {
	border-color: rgba(231, 49, 73, 0.35);
	box-shadow: var(--mwd-shadow);
}

.mwd-js .mwd-faq-q {
	cursor: pointer;
	position: relative;
	padding-right: 40px;
	margin: 12px 0;
	user-select: none;
}

.mwd-js .mwd-faq-q::after {
	content: "";
	position: absolute;
	right: 8px;
	top: 50%;
	width: 10px;
	height: 10px;
	border-right: 2px solid var(--mwd-accent);
	border-bottom: 2px solid var(--mwd-accent);
	transform: translateY(-70%) rotate(45deg);
	transition: transform 0.25s ease;
}

.mwd-js .mwd-faq-item.mwd-open .mwd-faq-q::after {
	transform: translateY(-30%) rotate(225deg);
}

.mwd-js .mwd-faq-a {
	overflow: hidden;
	max-height: 0;
	opacity: 0;
	margin: 0;
	transition: max-height 0.35s ease, opacity 0.3s ease, margin 0.3s ease;
}

.mwd-js .mwd-faq-item.mwd-open .mwd-faq-a {
	max-height: 400px;
	opacity: 1;
	margin: 0 0 16px;
}

/* --- Formularz (WPForms w #kontakt) ------------------------------------- */

#kontakt .wpforms-container {
	background: #ffffff;
	border-radius: var(--mwd-radius);
	box-shadow: var(--mwd-shadow-hover);
	padding: 28px 26px !important;
}

#kontakt .wpforms-container input[type="text"],
#kontakt .wpforms-container input[type="email"],
#kontakt .wpforms-container input[type="tel"],
#kontakt .wpforms-container textarea {
	border-radius: 8px !important;
	border: 1px solid rgba(26, 27, 32, 0.22) !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

#kontakt .wpforms-container input:focus,
#kontakt .wpforms-container textarea:focus {
	border-color: var(--mwd-accent) !important;
	box-shadow: 0 0 0 3px rgba(231, 49, 73, 0.15) !important;
	outline: none;
}

#kontakt .wpforms-container button[type="submit"] {
	background: var(--mwd-accent) !important;
	border: none !important;
	color: #ffffff !important;
	font-weight: 700 !important;
	border-radius: 10px !important;
	padding: 14px 34px !important;
	width: 100%;
	transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease !important;
}

#kontakt .wpforms-container button[type="submit"]:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(231, 49, 73, 0.4);
	filter: brightness(1.05);
}

/* --- Scroll reveal (logika w custom.js) --------------------------------- */

.mwd-js .mwd-rv {
	opacity: 0;
	transform: translateY(26px);
	transition: opacity 0.6s ease, transform 0.6s ease;
}

.mwd-js .mwd-rv.mwd-in {
	opacity: 1;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.mwd-js .mwd-rv { opacity: 1; transform: none; transition: none; }
	.mwd-js .mwd-faq-a { transition: none; }
}

/* --- Stopka -------------------------------------------------------------- */

.mwd-footer {
	background: var(--mwd-secondary);
	color: rgba(255, 255, 255, 0.82);
	font-size: 15px;
	line-height: 1.6;
	border-top: 3px solid var(--mwd-accent);
}

.mwd-footer__inner {
	max-width: 1140px;
	margin: 0 auto;
	padding: 56px 24px 40px;
	display: grid;
	grid-template-columns: 1.6fr 1fr 1fr 1fr;
	gap: 36px;
}

.mwd-footer__logo {
	font-size: 22px;
	font-weight: 700;
	color: #ffffff;
	margin-bottom: 12px;
}

.mwd-footer__col h3 {
	font-size: 14px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--mwd-accent);
	margin: 0 0 14px;
}

.mwd-footer__col ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.mwd-footer__col li {
	margin: 0 0 10px;
}

.mwd-footer__col a {
	color: rgba(255, 255, 255, 0.82);
	text-decoration: none;
	transition: color 0.2s ease;
}

.mwd-footer__col a:hover {
	color: var(--mwd-accent);
}

.mwd-footer__bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	text-align: center;
	padding: 18px 24px;
	font-size: 13.5px;
	color: rgba(255, 255, 255, 0.55);
}

.mwd-footer__bottom p { margin: 0; }

/* --- Mobile --------------------------------------------------------------- */

@media (max-width: 1024px) {
	.mwd-footer__inner {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 767px) {
	/* hero: mniejszy H1, przyciski i statystyki w pion/siatkę */
	.elementor-element-048bf36 h1 {
		font-size: 30px !important;
		line-height: 1.25 !important;
	}

	.elementor-element-048bf36 > .e-con { /* rząd przycisków */
		flex-wrap: wrap;
	}

	.elementor-element-048bf36 > .e-con:last-child { /* pasek statystyk */
		display: grid !important;
		grid-template-columns: 1fr 1fr;
		gap: 12px;
	}

	.elementor-element-048bf36 > .e-con:last-child h1,
	.elementor-element-048bf36 > .e-con:last-child h2,
	.elementor-element-048bf36 > .e-con:last-child h3,
	.elementor-element-048bf36 > .e-con:last-child h4,
	.elementor-element-048bf36 > .e-con:last-child > .e-con > p:first-child {
		font-size: 26px !important;
	}

	/* rzędy kart w pion */
	#dlaczego > .e-con,
	.elementor-element-902780b,
	.elementor-element-06bc4d9 {
		flex-direction: column !important;
	}

	#dlaczego > .e-con > .e-con,
	.elementor-element-902780b > .e-con,
	.elementor-element-06bc4d9 > .e-con {
		width: 100% !important;
		max-width: 100% !important;
	}

	/* header: logo + CTA, linki menu chowamy (jednostronicowiec) */
	.elementor-element-99d2fc2 > .e-con {
		display: none !important;
	}

	.mwd-footer__inner {
		grid-template-columns: 1fr;
		gap: 28px;
		padding: 40px 20px 28px;
	}
}


/* --- Sekcje Eco: pełny zakres usług --------------------------------------- */

.eco-bleed {
	margin: 0;
}

/* kontenery Elementora nowych sekcji: pełna szerokość, bez paddingu */
.elementor-element-eeb1001,
.elementor-element-eeb2001 {
	padding: 0 !important;
	max-width: 100% !important;
	width: 100% !important;
	display: block !important;
}

.elementor-element-eeb10011,
.elementor-element-eeb20011 {
	width: 100% !important;
	max-width: 100% !important;
}

.eco-uslugi-sec {
	background: #ffffff;
	padding: 84px 24px;
}

.eco-uslugi-sec .eco-inner,
.eco-vaillant-sec .eco-inner {
	max-width: 1140px;
	margin: 0 auto;
}

.eco-eyebrow {
	color: var(--mwd-accent);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	margin: 0 0 10px;
}

.eco-uslugi-sec h2,
.eco-vaillant-sec h2 {
	font-size: 34px;
	font-weight: 800;
	color: var(--mwd-secondary);
	margin: 0 0 8px;
}

.eco-uslugi-sec > .eco-inner > p {
	color: var(--mwd-text);
	margin: 0 0 36px;
	max-width: 640px;
}

.eco-uslugi-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
}

.eco-usluga {
	background: var(--mwd-bg-light);
	border: 1px solid rgba(26, 27, 32, 0.07);
	border-radius: var(--mwd-radius);
	padding: 24px 20px;
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease, background 0.25s ease;
}

.eco-usluga:hover {
	background: #ffffff;
	transform: translateY(-6px);
	box-shadow: var(--mwd-shadow-hover);
	border-color: rgba(231, 49, 73, 0.45);
}

.eco-usluga .eco-ikona {
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: #fdecef;
	color: var(--mwd-accent);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 14px;
}

.eco-usluga h3 {
	font-size: 17px;
	font-weight: 700;
	color: var(--mwd-secondary);
	margin: 0 0 6px;
}

.eco-usluga p {
	font-size: 14px;
	line-height: 1.55;
	color: var(--mwd-text);
	margin: 0;
}

/* --- Sekcja Vaillant -------------------------------------------------------- */

.eco-vaillant-sec {
	background:
		radial-gradient(900px 400px at 90% 0%, rgba(231, 49, 73, 0.3), transparent 60%),
		linear-gradient(150deg, #1a1b20 0%, #24252d 100%);
	padding: 72px 24px;
	color: rgba(255, 255, 255, 0.85);
}

.eco-vaillant-sec .eco-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
}

.eco-vaillant-sec h2 {
	color: #ffffff;
}

.eco-vaillant-sec ul {
	list-style: none;
	margin: 14px 0 0;
	padding: 0;
}

.eco-vaillant-sec li {
	margin: 0 0 8px;
	padding-left: 26px;
	position: relative;
}

.eco-vaillant-sec li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 7px;
	width: 8px;
	height: 13px;
	border-right: 2.5px solid var(--mwd-accent);
	border-bottom: 2.5px solid var(--mwd-accent);
	transform: rotate(40deg);
}

.eco-vaillant-cta {
	display: inline-block;
	background: var(--mwd-accent);
	color: #ffffff;
	font-weight: 700;
	padding: 16px 34px;
	border-radius: 100px;
	text-decoration: none;
	white-space: nowrap;
	transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

.eco-vaillant-cta:hover {
	color: #ffffff;
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(231, 49, 73, 0.4);
	filter: brightness(1.06);
}

@media (max-width: 1024px) {
	.eco-uslugi-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 767px) {
	.eco-uslugi-grid { grid-template-columns: 1fr; }
	.eco-vaillant-sec .eco-inner { flex-direction: column; align-items: flex-start; }
	.eco-uslugi-sec h2, .eco-vaillant-sec h2 { font-size: 27px; }
}


/* ==========================================================================
   PREMIUM POLISH — kafelki, przejscia, mikrointerakcje
   ========================================================================== */

:root {
	--ease-spring: cubic-bezier(0.22, 0.9, 0.28, 1);
}

/* --- Karty: wspolny, sprezysty ruch + spotlight za kursorem -------------- */

#dlaczego > .e-con > .e-con,
.elementor-element-902780b > .e-con,
.elementor-element-06bc4d9 > .e-con,
#faq > .e-con,
.eco-usluga {
	position: relative;
	overflow: hidden;
	transition:
		transform 0.45s var(--ease-spring),
		box-shadow 0.45s var(--ease-spring),
		border-color 0.45s var(--ease-spring),
		background 0.45s var(--ease-spring);
	will-change: transform;
}

.eco-spot::after {
	content: "";
	position: absolute;
	inset: 0;
	opacity: 0;
	pointer-events: none;
	background: radial-gradient(
		260px circle at var(--mx, 50%) var(--my, 50%),
		rgba(231, 49, 73, 0.09),
		transparent 65%
	);
	transition: opacity 0.35s ease;
}

.eco-spot:hover::after {
	opacity: 1;
}

/* ikony na kartach: podskok przy hoverze */
.eco-ico-h svg,
.eco-usluga .eco-ikona svg {
	transition: transform 0.4s var(--ease-spring);
}

#dlaczego .e-con:hover .eco-ico-h svg,
.elementor-element-902780b .e-con:hover .eco-ico-h svg,
.eco-usluga:hover .eco-ikona svg {
	transform: translateY(-2px) scale(1.12) rotate(-4deg);
}

/* kontener ikony (wstrzykiwany JS-em zamiast emoji) */
.eco-ico-h {
	width: 46px;
	height: 46px;
	border-radius: 13px;
	background: linear-gradient(135deg, #fdecef, #fbd9de);
	color: var(--mwd-accent);
	display: flex !important;
	align-items: center;
	justify-content: center;
	margin-bottom: 4px;
	box-shadow: inset 0 0 0 1px rgba(231, 49, 73, 0.12);
}

/* --- Oferta: animowany pasek akcentu ------------------------------------- */

.elementor-element-902780b > .e-con {
	border-top: none;
}

.elementor-element-902780b > .e-con::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	height: 3px;
	width: 42%;
	background: linear-gradient(90deg, var(--mwd-accent), #ff7d92);
	transition: width 0.5s var(--ease-spring);
	z-index: 1;
}

.elementor-element-902780b > .e-con:hover::before {
	width: 100%;
}

/* --- Statystyki hero: gradientowe liczby, zywszy hover -------------------- */

.elementor-element-048bf36 > .e-con:last-child > .e-con {
	transition:
		background 0.4s var(--ease-spring),
		transform 0.4s var(--ease-spring),
		border-color 0.4s var(--ease-spring),
		box-shadow 0.4s var(--ease-spring);
}

.elementor-element-048bf36 > .e-con:last-child > .e-con:hover {
	background: rgba(255, 255, 255, 0.1);
	border-color: rgba(231, 49, 73, 0.55);
	box-shadow: 0 12px 34px rgba(231, 49, 73, 0.22);
	transform: translateY(-4px);
}

.elementor-element-048bf36 > .e-con:last-child h1,
.elementor-element-048bf36 > .e-con:last-child h2,
.elementor-element-048bf36 > .e-con:last-child h3,
.elementor-element-048bf36 > .e-con:last-child h4,
.elementor-element-048bf36 > .e-con:last-child > .e-con > p:first-child {
	background: linear-gradient(115deg, #ff6b81 0%, var(--mwd-accent) 60%, #d02a44 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent !important;
}

/* --- Hero: plywajaca poswiata --------------------------------------------- */

.elementor-element-048bf36 {
	position: relative;
	overflow: hidden;
}

.elementor-element-048bf36 > * {
	position: relative;
	z-index: 1;
}

.elementor-element-048bf36::after {
	content: "";
	position: absolute;
	z-index: 0;
	width: 560px;
	height: 560px;
	top: -180px;
	right: -140px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(231, 49, 73, 0.28), transparent 62%);
	filter: blur(42px);
	animation: eco-float 13s ease-in-out infinite alternate;
	pointer-events: none;
}

@keyframes eco-float {
	from { transform: translate(0, 0) scale(1); }
	to   { transform: translate(-90px, 60px) scale(1.18); }
}

/* --- Przyciski: polysk przelatujacy przy hoverze --------------------------- */

a.e-button-base,
.eco-vaillant-cta,
#kontakt .wpforms-container button[type="submit"] {
	position: relative;
	overflow: hidden;
}

a.e-button-base::before,
.eco-vaillant-cta::before,
#kontakt .wpforms-container button[type="submit"]::before {
	content: "";
	position: absolute;
	top: 0;
	left: -85%;
	width: 55%;
	height: 100%;
	background: linear-gradient(105deg, transparent, rgba(255, 255, 255, 0.4), transparent);
	transform: skewX(-20deg);
	transition: left 0.65s ease;
	pointer-events: none;
}

a.e-button-base:hover::before,
.eco-vaillant-cta:hover::before,
#kontakt .wpforms-container button[type="submit"]:hover::before {
	left: 130%;
}

/* --- Menu: podkreslenie wjezdzajace od lewej ------------------------------ */

.elementor-element-99d2fc2 > .e-con a {
	position: relative;
	text-decoration: none;
}

.elementor-element-99d2fc2 > .e-con a::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -5px;
	height: 2px;
	width: 100%;
	background: var(--mwd-accent);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 0.35s var(--ease-spring);
}

.elementor-element-99d2fc2 > .e-con a:hover::after {
	transform: scaleX(1);
}

/* header: cien dopiero po przewinieciu */
.elementor-element-99d2fc2 {
	transition: box-shadow 0.3s ease, background 0.3s ease;
	box-shadow: 0 1px 0 rgba(26, 27, 32, 0.06);
}

.mwd-scrolled .elementor-element-99d2fc2 {
	box-shadow: 0 1px 0 rgba(26, 27, 32, 0.08), 0 10px 30px rgba(26, 27, 32, 0.1);
}

/* --- Scroll-reveal: sprezyscie, z wyostrzeniem ----------------------------- */

.mwd-js .mwd-rv {
	opacity: 0;
	transform: translateY(30px) scale(0.985);
	filter: blur(5px);
	transition:
		opacity 0.7s var(--ease-spring),
		transform 0.7s var(--ease-spring),
		filter 0.7s ease;
}

.mwd-js .mwd-rv.mwd-in {
	opacity: 1;
	transform: none;
	filter: blur(0);
}

/* --- FAQ: plynniejszy akordeon, pytanie czerwienieje ----------------------- */

.mwd-js .mwd-faq-q {
	transition: color 0.25s ease;
}

.mwd-js .mwd-faq-q:hover,
.mwd-js .mwd-faq-item.mwd-open .mwd-faq-q {
	color: var(--mwd-accent);
}

.mwd-js .mwd-faq-a {
	transition:
		max-height 0.45s var(--ease-spring),
		opacity 0.35s ease,
		margin 0.35s var(--ease-spring);
}

.mwd-js .mwd-faq-q::after {
	transition: transform 0.35s var(--ease-spring), border-color 0.25s ease;
}

/* --- Redukcja ruchu -------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
	.elementor-element-048bf36::after { animation: none; }
	.eco-spot::after { display: none; }
	a.e-button-base::before,
	.eco-vaillant-cta::before,
	#kontakt .wpforms-container button[type="submit"]::before { display: none; }
	.mwd-js .mwd-rv { filter: none; }
}


/* --- Tablet: karty przewag i procesu zawijaja sie w 2 kolumny -------------- */

@media (max-width: 1100px) and (min-width: 768px) {
	#dlaczego > .e-con,
	.elementor-element-06bc4d9 {
		display: grid !important;
		grid-template-columns: 1fr 1fr;
		gap: 18px !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	#dlaczego > .e-con > .e-con,
	.elementor-element-06bc4d9 > .e-con {
		width: 100% !important;
		max-width: 100% !important;
	}
}


/* --- SERVER-SIDE IKONY kart (dziala bez JS; emoji usuniete z tresci) ------- */

#dlaczego > .e-con > .e-con > :first-child,
.elementor-element-902780b > .e-con > :first-child {
	width: 46px;
	height: 46px;
	border-radius: 13px;
	background-color: #fdecef;
	background-image: var(--eco-ico);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 24px 24px;
	box-shadow: inset 0 0 0 1px rgba(231, 49, 73, 0.12);
	margin-bottom: 4px;
	transition: transform 0.4s var(--ease-spring);
}

#dlaczego > .e-con > .e-con:hover > :first-child,
.elementor-element-902780b > .e-con:hover > :first-child {
	transform: translateY(-2px) scale(1.1) rotate(-4deg);
}
#dlaczego > .e-con > .e-con:nth-child(1) > :first-child { --eco-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E73149' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M4 4h7v7H4z'/><path d='M13 4h7v7h-7z'/><path d='M4 13h7v7H4z'/><path d='M13 13h7v7h-7z'/></svg>"); }
#dlaczego > .e-con > .e-con:nth-child(2) > :first-child { --eco-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E73149' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M7 3h7l4 4v14H7z'/><path d='M10 14l2 2 4-4'/></svg>"); }
#dlaczego > .e-con > .e-con:nth-child(3) > :first-child { --eco-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E73149' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M12 8a4 4 0 100 8 4 4 0 000-8z'/><path d='M12 2v3M12 19v3M2 12h3M19 12h3M5 5l2 2M17 17l2 2M19 5l-2 2M7 17l-2 2'/></svg>"); }
#dlaczego > .e-con > .e-con:nth-child(4) > :first-child { --eco-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E73149' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M12 21s-6-5.1-6-10a6 6 0 1112 0c0 4.9-6 10-6 10z'/><path d='M12 13a2 2 0 100-4 2 2 0 000 4z'/></svg>"); }
.elementor-element-902780b > .e-con:nth-child(1) > :first-child { --eco-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E73149' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M12 3c3 4 6 6.5 6 10a6 6 0 11-12 0c0-3.5 3-6 6-10z'/></svg>"); }
.elementor-element-902780b > .e-con:nth-child(2) > :first-child { --eco-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E73149' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M12 3c3.5 4.5 6 7.5 6 10.5a6 6 0 11-12 0C6 10.5 8.5 7.5 12 3z'/></svg>"); }

/* --- Telefon w headerze ----------------------------------------------------- */

[data-interaction-id="eeb3001"] {
	margin: 0;
}

[data-interaction-id="eeb3001"] {
	white-space: nowrap !important;
	min-width: max-content;
}

[data-interaction-id="eeb3001"] a {
	font-weight: 700;
	color: var(--mwd-secondary) !important;
	text-decoration: none;
	white-space: nowrap !important;
	transition: color 0.2s ease;
}

[data-interaction-id="eeb3001"] a::before {
	content: "";
	display: inline-block;
	width: 15px;
	height: 15px;
	margin-right: 7px;
	vertical-align: -2px;
	background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E73149' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M22 16.9v3a2 2 0 01-2.2 2 19.8 19.8 0 01-8.6-3.1 19.5 19.5 0 01-6-6A19.8 19.8 0 012.1 4.2 2 2 0 014.1 2h3a2 2 0 012 1.7c.1 1 .4 2 .7 2.9a2 2 0 01-.5 2.1L8 10a16 16 0 006 6l1.3-1.3a2 2 0 012.1-.5c.9.3 1.9.6 2.9.7a2 2 0 011.7 2z'/></svg>") no-repeat center / contain;
}

[data-interaction-id="eeb3001"] a:hover {
	color: var(--mwd-accent) !important;
}

/* --- Sticky "Zadzwon" na mobile --------------------------------------------- */

.mwd-call-fab {
	display: none;
}

@media (max-width: 767px) {
	.mwd-call-fab {
		position: fixed;
		right: 16px;
		bottom: 16px;
		z-index: 999;
		display: flex;
		align-items: center;
		gap: 8px;
		background: var(--mwd-accent);
		color: #ffffff;
		font-weight: 700;
		font-size: 15px;
		padding: 13px 20px;
		border-radius: 100px;
		text-decoration: none;
		box-shadow: 0 10px 28px rgba(231, 49, 73, 0.45);
	}

	.mwd-call-fab:active {
		transform: scale(0.96);
	}


}


/* telefon w headerze tylko na szerokim desktopie (na mobile jest FAB) */
@media (max-width: 991px) {
	[data-interaction-id="eeb3001"] {
		display: none !important;
	}
}


/* ==========================================================================
   PODSTRONY USLUGOWE (page-usluga.php) + linkowane kafelki
   ========================================================================== */

a.eco-usluga {
	display: block;
	color: inherit;
	text-decoration: none;
}

.eco-more {
	display: inline-block;
	margin-top: 12px;
	font-size: 13.5px;
	font-weight: 700;
	color: var(--mwd-accent);
	transition: transform 0.25s var(--ease-spring);
}

a.eco-usluga:hover .eco-more {
	transform: translateX(4px);
}

.eco-vaillant-more {
	margin: 16px 0 0;
}

.eco-vaillant-more a {
	color: var(--mwd-accent);
	font-weight: 700;
	text-decoration: none;
}

.eco-vaillant-more a:hover {
	text-decoration: underline;
}

.up-body {
	margin: 0;
	font-family: "Inter", "Poppins", system-ui, sans-serif;
	color: var(--mwd-text);
	background: #ffffff;
	line-height: 1.65;
}

.up-body h1, .up-body h2, .up-body h3 {
	color: var(--mwd-secondary);
	line-height: 1.25;
}

.up-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: rgba(255, 255, 255, 0.94);
	backdrop-filter: saturate(1.4) blur(8px);
	box-shadow: 0 1px 0 rgba(26, 27, 32, 0.08);
}

.up-header__inner {
	max-width: 1140px;
	margin: 0 auto;
	padding: 14px 24px;
	display: flex;
	align-items: center;
	gap: 18px;
	flex-wrap: nowrap;
}

.up-logo {
	font-size: 21px;
	font-weight: 800;
	color: var(--mwd-secondary);
	text-decoration: none;
	margin-right: auto;
	white-space: nowrap;
}

.up-nav {
	display: flex;
	gap: 16px;
	min-width: 0;
}

.up-nav a {
	color: var(--mwd-text);
	text-decoration: none;
	font-weight: 600;
	font-size: 14.5px;
	position: relative;
	white-space: nowrap;
}

.up-nav a::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -5px;
	height: 2px;
	width: 100%;
	background: var(--mwd-accent);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 0.3s var(--ease-spring);
}

.up-nav a:hover::after,
.up-nav a.up-nav--active::after {
	transform: scaleX(1);
}

.up-tel {
	font-weight: 700;
	color: var(--mwd-secondary);
	text-decoration: none;
	white-space: nowrap;
}

.up-tel:hover {
	color: var(--mwd-accent);
}

.up-cta {
	background: var(--mwd-accent);
	color: #ffffff;
	font-weight: 700;
	font-size: 15px;
	padding: 11px 22px;
	border-radius: 100px;
	text-decoration: none;
	white-space: nowrap;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.up-cta:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(231, 49, 73, 0.35);
	color: #ffffff;
}

.up-hero {
	background:
		radial-gradient(900px 420px at 85% -10%, rgba(231, 49, 73, 0.32), transparent 60%),
		linear-gradient(160deg, #1a1b20 0%, #24252d 60%, #1a1b20 100%);
	color: rgba(255, 255, 255, 0.85);
	padding: 64px 24px 56px;
}

.up-hero__inner {
	max-width: 1140px;
	margin: 0 auto;
}

.up-bc {
	font-size: 13.5px;
	margin-bottom: 18px;
	color: rgba(255, 255, 255, 0.55);
}

.up-bc a {
	color: rgba(255, 255, 255, 0.75);
	text-decoration: none;
}

.up-bc a:hover {
	color: #ffffff;
}

.up-hero h1 {
	color: #ffffff;
	font-size: 40px;
	font-weight: 800;
	margin: 0 0 14px;
	max-width: 820px;
}

.up-lead {
	font-size: 18px;
	max-width: 720px;
	margin: 0 0 26px;
}

.up-hero__cta {
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
	margin-bottom: 34px;
}

.up-btn {
	display: inline-block;
	font-weight: 700;
	padding: 14px 28px;
	border-radius: 100px;
	text-decoration: none;
	transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.up-btn--main {
	background: var(--mwd-accent);
	color: #ffffff;
}

.up-btn--main:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(231, 49, 73, 0.4);
	color: #ffffff;
}

.up-btn--ghost {
	border: 1.5px solid rgba(255, 255, 255, 0.35);
	color: #ffffff;
}

.up-btn--ghost:hover {
	background: rgba(255, 255, 255, 0.1);
	color: #ffffff;
}

.up-trust {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
	max-width: 980px;
}

.up-trust li {
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 14px;
	padding: 12px 16px;
	font-size: 14px;
}

.up-trust strong {
	display: block;
	font-size: 22px;
	color: var(--mwd-accent);
}

.up-sec {
	padding: 44px 24px;
}

.up-sec:nth-of-type(even) {
	background: var(--mwd-bg-light);
}

.up-sec__inner {
	max-width: 820px;
	margin: 0 auto;
}

.up-sec h2 {
	font-size: 27px;
	font-weight: 800;
	margin: 0 0 14px;
}

.up-sec ul {
	padding-left: 2px;
	list-style: none;
}

.up-sec ul li {
	margin: 0 0 10px;
	padding-left: 28px;
	position: relative;
}

.up-sec ul li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 7px;
	width: 8px;
	height: 13px;
	border-right: 2.5px solid var(--mwd-accent);
	border-bottom: 2.5px solid var(--mwd-accent);
	transform: rotate(40deg);
}

.up-sec a {
	color: var(--mwd-accent);
	font-weight: 600;
}

details.up-faq {
	background: #ffffff;
	border: 1px solid rgba(26, 27, 32, 0.1);
	border-radius: 12px;
	padding: 4px 20px;
	margin: 0 0 12px;
	transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

details.up-faq:hover {
	border-color: rgba(231, 49, 73, 0.35);
	box-shadow: var(--mwd-shadow);
}

details.up-faq summary {
	cursor: pointer;
	font-weight: 700;
	color: var(--mwd-secondary);
	padding: 12px 0;
	list-style: none;
	position: relative;
	padding-right: 34px;
}

details.up-faq summary::-webkit-details-marker {
	display: none;
}

details.up-faq summary::after {
	content: "";
	position: absolute;
	right: 6px;
	top: 50%;
	width: 10px;
	height: 10px;
	border-right: 2px solid var(--mwd-accent);
	border-bottom: 2px solid var(--mwd-accent);
	transform: translateY(-70%) rotate(45deg);
	transition: transform 0.25s ease;
}

details.up-faq[open] summary::after {
	transform: translateY(-30%) rotate(225deg);
}

details.up-faq[open] summary {
	color: var(--mwd-accent);
}

details.up-faq p {
	margin: 0 0 14px;
}

.up-zobacz {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}

.up-zobacz a {
	display: block;
	background: #ffffff;
	border: 1px solid rgba(26, 27, 32, 0.1);
	border-radius: 14px;
	padding: 18px 20px;
	text-decoration: none;
	color: var(--mwd-text);
	transition: transform 0.3s var(--ease-spring), box-shadow 0.3s var(--ease-spring), border-color 0.3s ease;
}

.up-zobacz a:hover {
	transform: translateY(-4px);
	box-shadow: var(--mwd-shadow-hover);
	border-color: rgba(231, 49, 73, 0.45);
}

.up-zobacz strong {
	display: block;
	color: var(--mwd-accent);
	margin-bottom: 4px;
}

.up-zobacz span {
	font-size: 14px;
}

.up-band {
	background:
		radial-gradient(700px 320px at 90% 0%, rgba(231, 49, 73, 0.3), transparent 60%),
		linear-gradient(150deg, #1a1b20 0%, #24252d 100%);
	color: rgba(255, 255, 255, 0.85);
	padding: 56px 24px;
}

.up-band__inner {
	max-width: 1140px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
}

.up-band h2 {
	color: #ffffff;
	margin: 0 0 8px;
	font-size: 30px;
}

.up-band p {
	margin: 0;
}

@media (max-width: 1024px) {
	.up-nav { display: none; }
	.mwd-footer__inner { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 767px) {
	.up-tel { display: none; }
	.up-hero h1 { font-size: 29px; }
	.up-lead { font-size: 16px; }
	.up-trust { grid-template-columns: 1fr 1fr; }
	.up-zobacz { grid-template-columns: 1fr; }
	.up-band__inner { flex-direction: column; align-items: flex-start; }
	.mwd-footer__inner { grid-template-columns: 1fr; }
}


/* ==========================================================================
   DLA MONTEROW + KALKA PARTNERA (page-dla-monterow.php / page-monter.php)
   ========================================================================== */

.pm-eyebrow-dark {
	color: var(--mwd-accent);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin: 0 0 12px;
}

.pm-badge {
	background: #fdecef;
	color: var(--mwd-accent);
	font-size: 13px;
	font-weight: 600;
	padding: 6px 14px;
	border-radius: 100px;
	white-space: nowrap;
}

.pm-badge strong {
	font-weight: 800;
}

.pm-logo {
	cursor: default;
}

.pm-uslugi {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	margin-top: 20px;
}

.pm-usluga {
	background: var(--mwd-bg-light);
	border: 1px solid rgba(26, 27, 32, 0.08);
	border-radius: 14px;
	padding: 20px;
	transition: transform 0.3s var(--ease-spring), box-shadow 0.3s var(--ease-spring), border-color 0.3s ease;
}

.pm-usluga:hover {
	transform: translateY(-4px);
	box-shadow: var(--mwd-shadow);
	border-color: rgba(231, 49, 73, 0.4);
}

.pm-usluga h3 {
	margin: 0 0 6px;
	font-size: 17px;
}

.pm-usluga p {
	margin: 0;
	font-size: 14px;
}

.pm-band-link {
	color: #ffffff;
	font-weight: 700;
	text-decoration: none;
}

.pm-band-link:hover {
	color: var(--mwd-accent);
}

.pm-note {
	font-size: 13.5px;
	color: rgba(255, 255, 255, 0.6);
	margin-top: 8px !important;
}

.pm-kalka-info {
	background: #fdecef;
	color: var(--mwd-secondary);
	text-align: center;
	font-size: 14px;
	padding: 12px 20px;
}

.pm-kalka-info a {
	color: var(--mwd-accent);
	font-weight: 700;
}

/* --- podzial rol ECO / TWOJ FACH ------------------------------------------- */

.dm-podzial {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
	margin-top: 22px;
}

.dm-etap {
	background: #ffffff;
	border: 1px solid rgba(26, 27, 32, 0.09);
	border-radius: 14px;
	padding: 18px;
	transition: transform 0.3s var(--ease-spring), box-shadow 0.3s var(--ease-spring);
}

.dm-etap:hover {
	transform: translateY(-4px);
	box-shadow: var(--mwd-shadow);
}

.dm-etap--ty {
	background: #fdecef;
	border-color: rgba(231, 49, 73, 0.35);
}

.dm-etap h3 {
	font-size: 15.5px;
	margin: 10px 0 6px;
}

.dm-etap p {
	font-size: 13.5px;
	margin: 0;
	line-height: 1.5;
}

.dm-kto {
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.08em;
	padding: 4px 10px;
	border-radius: 100px;
}

.dm-kto--eco {
	background: var(--mwd-bg-light);
	color: var(--mwd-gray, #6e727e);
}

.dm-kto--ty {
	background: var(--mwd-accent);
	color: #ffffff;
}

/* --- kalkulator audytu czasu ------------------------------------------------ */

.dm-kalk-sec {
	background: var(--mwd-bg-light);
	padding: 52px 24px;
}

.dm-kalk {
	background:
		radial-gradient(700px 300px at 90% 0%, rgba(231, 49, 73, 0.25), transparent 60%),
		linear-gradient(150deg, #1a1b20 0%, #24252d 100%);
	color: rgba(255, 255, 255, 0.85);
	border-radius: var(--mwd-radius);
	padding: 30px 28px;
	margin-top: 22px;
	box-shadow: var(--mwd-shadow-hover);
}

.dm-kalk__input {
	margin-bottom: 24px;
}

.dm-kalk__input label {
	font-weight: 700;
	color: #ffffff;
	display: block;
	margin-bottom: 4px;
}

.dm-kalk__val {
	text-align: center;
	font-size: 15px;
	margin: 6px 0 4px;
}

.dm-kalk__val output {
	font-size: 26px;
	font-weight: 800;
	color: var(--mwd-accent);
}

.dm-kalk input[type="range"] {
	width: 100%;
	accent-color: var(--mwd-accent);
	cursor: pointer;
}

.dm-kalk__minmax {
	display: flex;
	justify-content: space-between;
	font-size: 12.5px;
	color: rgba(255, 255, 255, 0.5);
}

.dm-kalk__wyniki {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
	margin-top: 26px;
}

.dm-wynik {
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 14px;
	padding: 16px;
	text-align: center;
	font-size: 13px;
	transition: background 0.3s ease, transform 0.3s var(--ease-spring);
}

.dm-wynik:hover {
	background: rgba(255, 255, 255, 0.1);
	transform: translateY(-3px);
}

.dm-wynik strong {
	display: block;
	font-size: 26px;
	font-weight: 800;
	color: #ffffff;
	margin-bottom: 4px;
}

.dm-wynik--zl {
	border-color: rgba(231, 49, 73, 0.5);
}

.dm-wynik--zl strong {
	color: var(--mwd-accent);
}

.dm-kalk__nota {
	font-size: 12.5px;
	color: rgba(255, 255, 255, 0.5);
	margin: 16px 0 0;
}

/* --- formularz zgloszeniowy montera ---------------------------------------- */

.dm-form-sec {
	background: var(--mwd-bg-light);
	padding: 52px 24px;
}

.dm-form-sec .wpforms-container {
	background: #ffffff;
	border-radius: var(--mwd-radius);
	box-shadow: var(--mwd-shadow);
	padding: 28px 26px !important;
	margin-top: 18px;
}

.dm-form-sec .wpforms-container input[type="text"],
.dm-form-sec .wpforms-container input[type="email"],
.dm-form-sec .wpforms-container input[type="tel"],
.dm-form-sec .wpforms-container select,
.dm-form-sec .wpforms-container textarea {
	border-radius: 8px !important;
	border: 1px solid rgba(26, 27, 32, 0.22) !important;
}

.dm-form-sec .wpforms-container input:focus,
.dm-form-sec .wpforms-container select:focus,
.dm-form-sec .wpforms-container textarea:focus {
	border-color: var(--mwd-accent) !important;
	box-shadow: 0 0 0 3px rgba(231, 49, 73, 0.15) !important;
	outline: none;
}

.dm-form-sec .wpforms-container button[type="submit"] {
	background: var(--mwd-accent) !important;
	border: none !important;
	color: #ffffff !important;
	font-weight: 700 !important;
	border-radius: 10px !important;
	padding: 14px 34px !important;
	width: 100%;
}

/* --- link "Dla monterow" w headerze landingu -------------------------------- */

[data-interaction-id="eeb4001"] {
	white-space: nowrap !important;
	min-width: max-content;
}

[data-interaction-id="eeb4001"] a {
	font-weight: 600;
	font-size: 15px;
	color: var(--mwd-text) !important;
	text-decoration: none;
	white-space: nowrap !important;
	position: relative;
}

[data-interaction-id="eeb4001"] a::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -5px;
	height: 2px;
	width: 100%;
	background: var(--mwd-accent);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 0.35s var(--ease-spring);
}

[data-interaction-id="eeb4001"] a:hover::after {
	transform: scaleX(1);
}

@media (max-width: 991px) {
	[data-interaction-id="eeb4001"] {
		display: none !important;
	}
}

/* --- responsywnosc ----------------------------------------------------------- */

@media (max-width: 1024px) {
	.dm-podzial { grid-template-columns: 1fr 1fr; }
	.dm-kalk__wyniki { grid-template-columns: 1fr 1fr; }
	.pm-uslugi { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 767px) {
	.dm-podzial { grid-template-columns: 1fr; }
	.dm-kalk__wyniki { grid-template-columns: 1fr 1fr; }
	.pm-uslugi { grid-template-columns: 1fr; }
	.pm-badge { display: none; }
}


/* ==========================================================================
   PREMIUM MWD — hero, etapy, kalkulator, zywe podglady kalki
   ========================================================================== */

/* hero jak na landingu: warstwowy gradient + plywajaca poswiata */
.up-hero {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(1100px 480px at 85% -10%, rgba(231, 49, 73, 0.35), transparent 60%),
		radial-gradient(700px 380px at -10% 110%, rgba(196, 32, 58, 0.18), transparent 55%),
		linear-gradient(160deg, #1a1b20 0%, #24252d 55%, #1a1b20 100%);
}

.up-hero > * {
	position: relative;
	z-index: 1;
}

.up-hero::after {
	content: "";
	position: absolute;
	z-index: 0;
	width: 560px;
	height: 560px;
	top: -180px;
	right: -140px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(231, 49, 73, 0.28), transparent 62%);
	filter: blur(42px);
	animation: eco-float 13s ease-in-out infinite alternate;
	pointer-events: none;
}

/* animowane wejscie hero */
@keyframes mwd-up {
	from { opacity: 0; transform: translateY(22px); }
	to   { opacity: 1; transform: none; }
}

.up-hero .pm-eyebrow-dark,
.up-hero .up-bc { animation: mwd-up 0.6s var(--ease-spring) both; }
.up-hero h1 { animation: mwd-up 0.6s 0.08s var(--ease-spring) both; }
.up-hero .up-lead { animation: mwd-up 0.6s 0.16s var(--ease-spring) both; }
.up-hero .up-hero__cta { animation: mwd-up 0.6s 0.24s var(--ease-spring) both; }
.up-hero .up-trust { animation: mwd-up 0.6s 0.32s var(--ease-spring) both; }

/* trust: hover jak statystyki na landingu */
.up-trust li {
	transition: background 0.35s ease, transform 0.35s var(--ease-spring), border-color 0.35s ease;
}

.up-trust li:hover {
	background: rgba(255, 255, 255, 0.1);
	border-color: rgba(231, 49, 73, 0.55);
	transform: translateY(-3px);
}

/* header podstron: mocniejszy cien po scrollu */
.mwd-scrolled .up-header {
	box-shadow: 0 1px 0 rgba(26, 27, 32, 0.08), 0 10px 30px rgba(26, 27, 32, 0.12);
}

/* polysk na przyciskach podstron */
.up-btn--main, .up-cta, .eco-vaillant-cta {
	position: relative;
	overflow: hidden;
}

.up-btn--main::before, .up-cta::before {
	content: "";
	position: absolute;
	top: 0;
	left: -85%;
	width: 55%;
	height: 100%;
	background: linear-gradient(105deg, transparent, rgba(255, 255, 255, 0.4), transparent);
	transform: skewX(-20deg);
	transition: left 0.65s ease;
	pointer-events: none;
}

.up-btn--main:hover::before, .up-cta:hover::before {
	left: 130%;
}

/* etapy procesu: numery-duchy + rytm */
.dm-podzial {
	counter-reset: etap;
}

.dm-etap {
	counter-increment: etap;
	position: relative;
	overflow: hidden;
}

.dm-etap::after {
	content: counter(etap, decimal-leading-zero);
	position: absolute;
	right: 10px;
	top: 2px;
	font-size: 52px;
	font-weight: 900;
	line-height: 1;
	color: rgba(26, 27, 32, 0.1);
	pointer-events: none;
	transition: color 0.3s ease, transform 0.4s var(--ease-spring);
}

.dm-etap--ty::after {
	color: rgba(231, 49, 73, 0.18);
}

.dm-etap:hover::after {
	color: rgba(231, 49, 73, 0.22);
	transform: translateY(-3px) scale(1.06);
}

/* kalkulator: grubsze suwaki + gradientowa strata + pop */
.dm-kalk input[type="range"] {
	height: 26px;
}

.dm-kalk input[type="range"]::-webkit-slider-thumb {
	width: 26px;
	height: 26px;
	transition: transform 0.15s ease;
}

.dm-kalk input[type="range"]:active::-webkit-slider-thumb {
	transform: scale(1.2);
}

.dm-wynik--zl strong {
	background: linear-gradient(115deg, #ff6b81 0%, var(--mwd-accent) 60%, #ff93a5 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

@keyframes dm-pop {
	0%   { transform: scale(1); }
	45%  { transform: scale(1.07); }
	100% { transform: scale(1); }
}

.dm-wynik strong.dm-pop {
	animation: dm-pop 0.28s ease;
	display: inline-block;
}

/* zywe podglady kalki w ramkach przegladarki */
.dm-podglady {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 22px;
	margin-top: 24px;
}

.dm-podglad {
	display: block;
	background: #ffffff;
	border: 1px solid rgba(26, 27, 32, 0.1);
	border-radius: 16px;
	overflow: hidden;
	text-decoration: none;
	color: var(--mwd-text);
	box-shadow: var(--mwd-shadow);
	transition: transform 0.4s var(--ease-spring), box-shadow 0.4s var(--ease-spring), border-color 0.3s ease;
}

.dm-podglad:hover {
	transform: translateY(-6px);
	box-shadow: var(--mwd-shadow-hover);
	border-color: rgba(231, 49, 73, 0.45);
}

.dm-browser-bar {
	display: flex;
	align-items: center;
	gap: 6px;
	background: #eceef1;
	padding: 9px 12px;
}

.dm-browser-bar i {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #d3d7dc;
}

.dm-browser-bar i:nth-child(1) { background: #ff5f57; }
.dm-browser-bar i:nth-child(2) { background: #febc2e; }
.dm-browser-bar i:nth-child(3) { background: #28c840; }

.dm-browser-bar em {
	font-style: normal;
	font-size: 12px;
	color: #6e727e;
	background: #ffffff;
	border-radius: 6px;
	padding: 3px 10px;
	margin-left: 8px;
	flex: 1;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.dm-browser-view {
	display: block;
	position: relative;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: var(--mwd-bg-light);
}

.dm-browser-view::before {
	content: "Ładowanie podglądu…";
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	color: #9aa0a8;
}

.dm-browser-view iframe {
	position: relative;
	z-index: 1;
	background: #ffffff;
}

.dm-browser-view iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 1280px;
	height: 3200px;
	border: 0;
	transform-origin: 0 0;
	pointer-events: none;
}

.dm-podglad-label {
	display: block;
	padding: 14px 18px;
}

.dm-podglad-label strong {
	display: block;
	color: var(--mwd-secondary);
}

.dm-podglad-label > span {
	font-size: 13.5px;
	color: var(--mwd-accent);
	font-weight: 600;
}

/* FAQ <details>: plynne rozwijanie (nowoczesne przegladarki) */
details.up-faq::details-content {
	opacity: 0;
	block-size: 0;
	overflow: hidden;
	transition: opacity 0.35s ease, block-size 0.35s ease, content-visibility 0.35s allow-discrete;
}

details.up-faq[open]::details-content {
	opacity: 1;
	block-size: auto;
}

@supports (interpolate-size: allow-keywords) {
	:root { interpolate-size: allow-keywords; }
}

/* focus dostepnosc */
.up-body a:focus-visible,
.up-body button:focus-visible,
.up-body input:focus-visible {
	outline: 3px solid rgba(231, 49, 73, 0.5);
	outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
	.up-hero::after { animation: none; }
	.up-hero .pm-eyebrow-dark, .up-hero .up-bc, .up-hero h1,
	.up-hero .up-lead, .up-hero .up-hero__cta, .up-hero .up-trust { animation: none; }
	.up-btn--main::before, .up-cta::before { display: none; }
	.dm-wynik strong.dm-pop { animation: none; }
}

@media (max-width: 900px) {
	.dm-podglady { grid-template-columns: 1fr; }
	.dm-etap::after { font-size: 40px; }
}


/* --- KALKA: logo partnera + miejsca na zdjecia realizacji ------------------- */

.pm-brand {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-right: auto;
}

.pm-brand .pm-logo {
	margin-right: 0;
}

.pm-avatar {
	width: 42px;
	height: 42px;
	border-radius: 12px;
	background: linear-gradient(135deg, var(--mwd-accent), #c4203a);
	color: #ffffff;
	font-weight: 800;
	font-size: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	letter-spacing: 0.03em;
	box-shadow: 0 6px 16px rgba(231, 49, 73, 0.35);
	flex: none;
}

.pm-avatar--img {
	object-fit: contain;
	background: #ffffff;
	border: 1px solid rgba(26, 27, 32, 0.1);
	box-shadow: none;
}

.pm-real {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
	margin-top: 20px;
}

.pm-real__slot {
	aspect-ratio: 4 / 3;
	border: 2px dashed rgba(231, 49, 73, 0.35);
	border-radius: 14px;
	background:
		radial-gradient(240px 140px at 50% 0%, rgba(231, 49, 73, 0.06), transparent 70%),
		var(--mwd-bg-light);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	text-align: center;
	padding: 14px;
	color: var(--mwd-text);
	transition: border-color 0.3s ease, transform 0.35s var(--ease-spring), background 0.3s ease;
}

.pm-real__slot:hover {
	border-color: var(--mwd-accent);
	transform: translateY(-4px);
	background: #ffffff;
}

.pm-real__slot svg {
	color: var(--mwd-accent);
}

.pm-real__slot strong {
	font-size: 13.5px;
	color: var(--mwd-secondary);
}

.pm-real__slot span {
	font-size: 12.5px;
	color: var(--mwd-gray, #6e727e);
}

.pm-real__foto {
	margin: 0;
	border-radius: 14px;
	overflow: hidden;
	background: #ffffff;
	border: 1px solid rgba(26, 27, 32, 0.1);
	box-shadow: var(--mwd-shadow);
}

.pm-real__foto img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	display: block;
}

.pm-real__foto figcaption {
	font-size: 12.5px;
	padding: 8px 12px;
	color: var(--mwd-text);
}

.pm-real__nota {
	margin-top: 16px;
	font-size: 14px;
	color: var(--mwd-gray, #6e727e);
}

@media (max-width: 1024px) {
	.pm-real { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 767px) {
	.pm-real { grid-template-columns: 1fr 1fr; gap: 10px; }
	.pm-avatar { width: 36px; height: 36px; font-size: 14px; }
}

/* ukryte pole tagu partnera w formularzu kalki */
.wpforms-field.mwd-hide { display: none !important; }


/* ==========================================================================
   ELEMENTY MARCELA: pasek zaufania, dwie rzeczywistosci, plan 90 dni
   ========================================================================== */

.dm-social {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 26px 0 6px;
	font-size: 15px;
	color: rgba(255, 255, 255, 0.8);
}

.dm-social strong {
	color: #ffffff;
}

.dm-avatars {
	display: flex;
}

.dm-avatars i {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: linear-gradient(135deg, #3a3b45, #24252d);
	border: 2px solid #1a1b20;
	color: rgba(255, 255, 255, 0.85);
	font-style: normal;
	font-size: 11.5px;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-left: -9px;
}

.dm-avatars i:first-child {
	margin-left: 0;
}

.dm-avatars i:last-child {
	background: linear-gradient(135deg, var(--mwd-accent), #c4203a);
	color: #ffffff;
}

.dm-komfort {
	font-size: 14px;
	color: rgba(255, 255, 255, 0.6);
	margin: 0 0 22px;
	padding-left: 24px;
	position: relative;
}

.dm-komfort::before {
	content: "";
	position: absolute;
	left: 4px;
	top: 5px;
	width: 7px;
	height: 11px;
	border-right: 2px solid var(--mwd-accent);
	border-bottom: 2px solid var(--mwd-accent);
	transform: rotate(40deg);
}

/* --- dwie rzeczywistosci ---------------------------------------------------- */

.up-sec__inner--szeroka {
	max-width: 1140px;
}

.dm-vs {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 22px;
	margin-top: 26px;
}

.dm-vs__col {
	border-radius: var(--mwd-radius);
	padding: 26px 24px;
}

.dm-vs__col--sam {
	background: linear-gradient(150deg, #1a1b20 0%, #24252d 100%);
	color: rgba(255, 255, 255, 0.8);
}

.dm-vs__col--sam h3 {
	color: #ffffff;
}

.dm-vs__col--mwd {
	background: #ffffff;
	border: 1.5px solid rgba(231, 49, 73, 0.4);
	box-shadow: var(--mwd-shadow);
}

.dm-vs__label {
	display: inline-block;
	font-size: 11.5px;
	font-weight: 800;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	padding: 5px 12px;
	border-radius: 100px;
	margin-bottom: 12px;
}

.dm-vs__col--sam .dm-vs__label {
	background: rgba(255, 255, 255, 0.1);
	color: rgba(255, 255, 255, 0.7);
}

.dm-vs__col--mwd .dm-vs__label {
	background: #fdecef;
	color: var(--mwd-accent);
}

.dm-vs__col h3 {
	margin: 0 0 8px;
	font-size: 21px;
}

.dm-vs__col > p {
	font-size: 14px;
	margin: 0 0 16px;
}

.dm-vs__col ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.dm-vs__col li {
	position: relative;
	padding-left: 28px;
	margin-bottom: 11px;
	font-size: 14px;
	line-height: 1.55;
}

.dm-vs__col--sam li::before {
	content: "\2715";
	position: absolute;
	left: 2px;
	top: 0;
	color: #ff8093;
	font-weight: 700;
}

.dm-vs__col--mwd li::before {
	content: "";
	position: absolute;
	left: 3px;
	top: 5px;
	width: 7px;
	height: 12px;
	border-right: 2.5px solid var(--mwd-accent);
	border-bottom: 2.5px solid var(--mwd-accent);
	transform: rotate(40deg);
}

.dm-vs__badge {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: var(--mwd-accent);
	color: #ffffff;
	font-weight: 900;
	font-size: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 10px 26px rgba(231, 49, 73, 0.45), 0 0 0 6px #ffffff;
}

.dm-dwie-puenta {
	margin-top: 24px;
	max-width: 860px;
}

.dm-dwie-cta {
	margin-top: 18px;
}

/* --- plan startu 90 dni ------------------------------------------------------ */

.dm-plan-sec {
	background: var(--mwd-bg-light);
}

.dm-plan {
	position: relative;
	margin-top: 26px;
	padding-left: 34px;
}

.dm-plan::before {
	content: "";
	position: absolute;
	left: 10px;
	top: 8px;
	bottom: 8px;
	width: 2.5px;
	background: linear-gradient(to bottom, var(--mwd-accent), rgba(231, 49, 73, 0.15));
	border-radius: 2px;
}

.dm-plan__krok {
	position: relative;
	background: #ffffff;
	border: 1px solid rgba(26, 27, 32, 0.09);
	border-radius: 14px;
	padding: 20px 22px;
	margin-bottom: 16px;
	transition: transform 0.35s var(--ease-spring), box-shadow 0.35s var(--ease-spring), border-color 0.3s ease;
}

.dm-plan__krok:hover {
	transform: translateY(-4px);
	box-shadow: var(--mwd-shadow);
	border-color: rgba(231, 49, 73, 0.35);
}

.dm-plan__krok::before {
	content: "";
	position: absolute;
	left: -30px;
	top: 26px;
	width: 13px;
	height: 13px;
	border-radius: 50%;
	background: var(--mwd-accent);
	box-shadow: 0 0 0 4px #fdecef;
}

.dm-plan__kiedy {
	display: inline-block;
	background: var(--mwd-accent);
	color: #ffffff;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 4px 12px;
	border-radius: 100px;
	margin-bottom: 8px;
}

.dm-plan__krok h3 {
	margin: 0 0 8px;
	font-size: 18.5px;
}

.dm-plan__krok > p {
	font-size: 14.5px;
	margin: 0 0 12px;
}

.dm-plan__punkt {
	background: #fdecef;
	border-radius: 10px;
	padding: 9px 14px 9px 36px;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--mwd-secondary);
	position: relative;
	margin: 0 !important;
}

.dm-plan__punkt::before {
	content: "";
	position: absolute;
	left: 14px;
	top: 12px;
	width: 7px;
	height: 11px;
	border-right: 2.5px solid var(--mwd-accent);
	border-bottom: 2.5px solid var(--mwd-accent);
	transform: rotate(40deg);
}

@media (max-width: 860px) {
	.dm-vs {
		grid-template-columns: 1fr;
	}

	.dm-vs__badge {
		position: static;
		transform: none;
		margin: -6px auto;
	}

	.dm-social {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}
}


/* ==========================================================================
   ECO SYSTEM (makieta telefonu) + rekomendacje producentow
   ========================================================================== */

.dm-eco-sec {
	background:
		radial-gradient(800px 400px at 100% 0%, rgba(231, 49, 73, 0.06), transparent 60%),
		#ffffff;
}

.dm-eco {
	display: grid;
	grid-template-columns: 1.25fr 1fr;
	gap: 48px;
	align-items: center;
}

.dm-eco__moduly {
	list-style: none;
	margin: 20px 0 0;
	padding: 0;
}

.dm-eco__moduly li {
	position: relative;
	padding: 0 0 0 34px;
	margin-bottom: 16px;
}

.dm-eco__moduly li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 3px;
	width: 20px;
	height: 20px;
	border-radius: 7px;
	background: linear-gradient(135deg, #fdecef, #fbd9de);
	box-shadow: inset 0 0 0 1.5px rgba(231, 49, 73, 0.35);
}

.dm-eco__moduly li::after {
	content: "";
	position: absolute;
	left: 6px;
	top: 7px;
	width: 5px;
	height: 9px;
	border-right: 2px solid var(--mwd-accent);
	border-bottom: 2px solid var(--mwd-accent);
	transform: rotate(40deg);
}

.dm-eco__moduly strong {
	display: block;
	color: var(--mwd-secondary);
	font-size: 16px;
}

.dm-eco__moduly span {
	font-size: 14px;
	color: var(--mwd-text);
}

.dm-eco__nota {
	margin-top: 20px;
	background: #fdecef;
	border-radius: 10px;
	padding: 10px 16px;
	display: inline-block;
	font-size: 14.5px;
}

/* makieta telefonu */
.dm-phone-wrap {
	display: flex;
	justify-content: center;
}

.dm-phone {
	width: 290px;
	border-radius: 38px;
	background: #1a1b20;
	padding: 12px;
	box-shadow: 0 30px 70px rgba(26, 27, 32, 0.35), inset 0 0 0 2px #2e2f38;
	animation: eco-float 9s ease-in-out infinite alternate;
}

.dm-phone__screen {
	background: #f5f6f8;
	border-radius: 28px;
	overflow: hidden;
	padding-bottom: 14px;
}

.dm-phone__bar {
	display: flex;
	justify-content: space-between;
	font-size: 11px;
	font-weight: 700;
	color: #6e727e;
	padding: 10px 16px 6px;
}

.dm-phone__head {
	background: linear-gradient(135deg, var(--mwd-accent), #c4203a);
	color: #ffffff;
	font-weight: 800;
	font-size: 17px;
	padding: 14px 16px;
	margin-bottom: 10px;
}

.dm-phone__head span {
	display: block;
	font-weight: 500;
	font-size: 11px;
	opacity: 0.85;
	margin-top: 2px;
}

.dm-phone__item {
	display: flex;
	align-items: center;
	gap: 10px;
	background: #ffffff;
	border-radius: 12px;
	margin: 0 10px 8px;
	padding: 10px 12px;
	box-shadow: 0 2px 8px rgba(26, 27, 32, 0.06);
}

.dm-phone__item strong {
	display: block;
	font-size: 12.5px;
	color: var(--mwd-secondary);
}

.dm-phone__item span {
	font-size: 11px;
	color: #6e727e;
}

.dm-phone__item em {
	margin-left: auto;
	font-style: normal;
	color: #c3c7cd;
	font-size: 16px;
}

.dm-online {
	color: #1d9a52 !important;
	font-weight: 600;
}

.dm-pi {
	width: 30px;
	height: 30px;
	border-radius: 9px;
	flex: none;
}

.dm-pi--a { background: linear-gradient(135deg, #ffe1e6, #fdecef); box-shadow: inset 0 0 0 1.5px rgba(231,49,73,.4); }
.dm-pi--b { background: linear-gradient(135deg, #e2ecff, #eef4ff); box-shadow: inset 0 0 0 1.5px rgba(59,110,220,.35); }
.dm-pi--c { background: linear-gradient(135deg, #fff3d9, #fff9ec); box-shadow: inset 0 0 0 1.5px rgba(222,160,30,.4); }
.dm-pi--d { background: linear-gradient(135deg, #e2f7ea, #effcf4); box-shadow: inset 0 0 0 1.5px rgba(29,154,82,.35); }
.dm-pi--e { background: linear-gradient(135deg, #efe4ff, #f7f1ff); box-shadow: inset 0 0 0 1.5px rgba(126,66,220,.3); }

.dm-phone__cta {
	background: var(--mwd-accent);
	color: #ffffff;
	font-weight: 700;
	font-size: 13px;
	text-align: center;
	border-radius: 100px;
	padding: 11px;
	margin: 12px 10px 0;
	box-shadow: 0 8px 18px rgba(231, 49, 73, 0.35);
}

/* rekomendacje producentow */
.dm-loga {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 12px;
	margin: 22px 0;
}

.dm-loga span {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 58px;
	border-radius: 12px;
	background: var(--mwd-bg-light);
	border: 1px solid rgba(26, 27, 32, 0.08);
	font-weight: 800;
	font-size: 15px;
	color: var(--mwd-secondary);
	transition: transform 0.3s var(--ease-spring), border-color 0.3s ease;
}

.dm-loga span:hover {
	transform: translateY(-3px);
	border-color: rgba(231, 49, 73, 0.4);
}

.dm-loga__slot {
	border-style: dashed !important;
	border-color: rgba(231, 49, 73, 0.3) !important;
	color: #9aa0a8 !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.dm-cytat {
	margin: 0;
	background: #ffffff;
	border-left: 4px solid var(--mwd-accent);
	border-radius: 0 14px 14px 0;
	box-shadow: var(--mwd-shadow);
	padding: 20px 24px;
}

.dm-cytat p {
	font-size: 16.5px;
	font-style: italic;
	color: var(--mwd-secondary);
	margin: 0 0 10px;
}

.dm-cytat footer {
	font-size: 13px;
	color: var(--mwd-gray, #6e727e);
}

/* stopka: telefon alarmowy */
.mwd-footer__alarm {
	margin-top: 14px !important;
}

.mwd-footer__alarm a {
	color: var(--mwd-accent);
	font-weight: 700;
	text-decoration: none;
}

.mwd-footer__alarm span {
	font-size: 13px;
	color: rgba(255, 255, 255, 0.55);
}

@media (max-width: 900px) {
	.dm-eco {
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.dm-loga {
		grid-template-columns: repeat(3, 1fr);
	}
}


/* ==========================================================================
   KALKA v2: weryfikacja, proces inwestora, teren, certyfikaty, opinie
   ========================================================================== */

.pm-weryfikacja {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	background: rgba(255, 255, 255, 0.07);
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 100px;
	padding: 7px 16px;
	font-size: 13.5px;
	color: rgba(255, 255, 255, 0.85);
	margin: 0 0 22px;
}

.pm-weryfikacja__znak {
	width: 17px;
	height: 17px;
	border-radius: 50%;
	background: var(--mwd-accent);
	position: relative;
	flex: none;
}

.pm-weryfikacja__znak::after {
	content: "";
	position: absolute;
	left: 6px;
	top: 3.5px;
	width: 4px;
	height: 7px;
	border-right: 2px solid #ffffff;
	border-bottom: 2px solid #ffffff;
	transform: rotate(40deg);
}

/* proces inwestora */
.pm-proces-sec {
	background: var(--mwd-bg-light);
}

.pm-proces {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
	margin-top: 20px;
}

.pm-proces__krok {
	background: #ffffff;
	border: 1px solid rgba(26, 27, 32, 0.08);
	border-radius: 14px;
	padding: 18px;
	transition: transform 0.35s var(--ease-spring), box-shadow 0.35s var(--ease-spring);
}

.pm-proces__krok:hover {
	transform: translateY(-4px);
	box-shadow: var(--mwd-shadow);
}

.pm-proces__krok > span {
	display: inline-flex;
	width: 32px;
	height: 32px;
	border-radius: 10px;
	background: linear-gradient(135deg, var(--mwd-accent), #c4203a);
	color: #ffffff;
	font-weight: 800;
	align-items: center;
	justify-content: center;
	margin-bottom: 10px;
}

.pm-proces__krok h3 {
	font-size: 16px;
	margin: 0 0 6px;
}

.pm-proces__krok p {
	font-size: 13.5px;
	margin: 0;
	line-height: 1.5;
}

/* teren + certyfikaty */
.pm-info {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
}

.pm-info__karta {
	background: #ffffff;
	border: 1px solid rgba(26, 27, 32, 0.09);
	border-radius: var(--mwd-radius);
	box-shadow: var(--mwd-shadow);
	padding: 24px;
}

.pm-info__karta h3 {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 18px;
	margin: 0 0 10px;
}

.pm-pin, .pm-odznaka {
	width: 34px;
	height: 34px;
	border-radius: 10px;
	background: #fdecef;
	flex: none;
	position: relative;
}

.pm-pin::after {
	content: "";
	position: absolute;
	left: 10px;
	top: 7px;
	width: 14px;
	height: 14px;
	background: var(--mwd-accent);
	border-radius: 50% 50% 50% 0;
	transform: rotate(-45deg);
}

.pm-odznaka::after {
	content: "";
	position: absolute;
	left: 12px;
	top: 8px;
	width: 6px;
	height: 12px;
	border-right: 2.5px solid var(--mwd-accent);
	border-bottom: 2.5px solid var(--mwd-accent);
	transform: rotate(40deg);
}

.pm-chipy {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 12px 0;
}

.pm-chip {
	background: var(--mwd-bg-light);
	border: 1px solid rgba(26, 27, 32, 0.1);
	border-radius: 100px;
	padding: 6px 14px;
	font-size: 13px;
	font-weight: 600;
	color: var(--mwd-secondary);
}

.pm-chip--ok {
	background: #fdecef;
	border-color: rgba(231, 49, 73, 0.35);
	color: var(--mwd-accent);
}

.pm-chip--slot {
	border-style: dashed;
	border-color: rgba(231, 49, 73, 0.3);
	color: #9aa0a8;
	font-weight: 500;
}

.pm-info__nota {
	font-size: 13px;
	color: var(--mwd-gray, #6e727e);
	margin: 8px 0 0;
}

/* opinie */
.pm-opinie-sec {
	background: var(--mwd-bg-light);
}

.pm-opinie {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin-top: 18px;
}

.pm-opinia {
	background: #ffffff;
	border: 2px dashed rgba(231, 49, 73, 0.3);
	border-radius: 14px;
	padding: 22px;
	transition: border-color 0.3s ease, transform 0.35s var(--ease-spring);
}

.pm-opinia:hover {
	border-color: var(--mwd-accent);
	transform: translateY(-3px);
}

.pm-gwiazdki {
	display: block;
	color: #d3d7dc;
	font-size: 19px;
	letter-spacing: 3px;
	margin-bottom: 8px;
}

.pm-opinia strong {
	display: block;
	color: var(--mwd-secondary);
	margin-bottom: 4px;
}

.pm-opinia > span:last-child {
	font-size: 13.5px;
	color: var(--mwd-gray, #6e727e);
}

@media (max-width: 860px) {
	.pm-proces { grid-template-columns: 1fr 1fr; }
	.pm-info { grid-template-columns: 1fr; }
	.pm-opinie { grid-template-columns: 1fr; }
}


/* header waski: chowamy telefon zanim cokolwiek sie rozjedzie */
@media (max-width: 1260px) and (min-width: 1025px) {
	.up-header .up-tel {
		display: none;
	}
}


/* poprawki po review Eweliny */
.dm-wiecej {
	margin-top: 18px;
}

.dm-wiecej a {
	color: var(--mwd-accent);
	font-weight: 700;
	text-decoration: none;
}

.dm-wiecej a:hover {
	text-decoration: underline;
}

.dm-faq-cta {
	margin-top: 22px;
}

.dm-kalk__wyniki {
	grid-template-columns: repeat(3, 1fr);
}

@media (max-width: 767px) {
	.dm-kalk__wyniki {
		grid-template-columns: 1fr;
	}
}
