@charset "UTF-8";
/*
 * city-pages-v2.css - podstrony miast (Page Generator Pro, grupa 267) w jezyku
 * wizualnym systemu rezerwacji: biale powierzchnie, cienkie linie, radius 13,
 * blekity marki, duzo oddechu. Zero zmian w tresci - wylacznie wyglad.
 *
 * Scope: body.zp-city-v2 (klasa nadawana w functions.php motywu potomnego).
 * Celuje w WSPOLNE ID elementow Elementora, wiec ten sam plik dziala na kazdym
 * z ~498 miast. Wersja v1 (city-pages.css) zostaje nietknieta jako zapasowa.
 *
 * Specyficznosc: Elementor generuje reguly (0,3,0) w post-4320.css, dlatego
 * wlasne selektory maja postac body.zp-city-v2 .elementor-element.elementor-element-XXX
 * albo !important tam, gdzie inaczej sie nie da.
 *
 * MAPA SEKCJI (ID stale na wszystkich miastach):
 *   2efebdc hero (H1 3bdc931)
 *   d3a5318 intro: tekst 5abb653 + spis tresci deea265 | zdjecie 5d21022
 *   d49de66 naglowek "Polecani psycholodzy" (985a2fa + 4d60eb7)
 *   b0720ca wyszukiwarka (szablon 3231) - 7cf88d7 listing [zp_listing]
 *   e95c41c "Jak umowic wizyte" (naglowek 823909a) + kroki fa75bd0
 *           (kolumny fab518f / eddde6e / 4276d77)
 *   c3f60d0 "Dobry psycholog {miasto}" (tekst c8cfa5f | zdjecie cc102cc)
 *   a749d1f "Zakres uslug" + karty a7ef5ce (64bbf91 / bbffff0 / e4e5b65)
 *   e4c6299 "prywatnie - dlaczego warto" (69bf04e: tekst 3a2ab11 | zdjecie 1ca3d7f)
 *   2b548c1 "Kiedy pomoc jest niezbedna" (tekst 806928c)
 *   02525a3 pas "Kiedy warto skorzystac" (tekst 5fcb443)
 *   123d140 lista objawow (d31850f) + zdjecie 0b2b674
 *   03661f4 "Pierwsza wizyta" (058327e + 45a9f96)
 *   de2cb2b FAQ (toggle 1d15802)
 *   eba8250 linki do innych miast (43a6e39)
 */

/* ==========================================================================
   1. TOKENY - te same wartosci co :root w app.html systemu rezerwacji
   ========================================================================== */
body.zp-city-v2 {
	--c-primary:     #4A86C7;
	--c-deep:        #356199;
	--c-tint:        #EAF2FB;
	--c-soft:        #E6EEF7;
	--c-ground:      #F1F5FA;
	--c-surface:     #FFFFFF;
	--c-surface-2:   #F5F8FC;
	--c-ink:         #1B2A3A;
	--c-ink-soft:    #566579;
	--c-ink-faint:   #8494A6;
	--c-line:        #DCE6F0;
	--c-line-strong: #C6D5E5;
	--c-online:      #3DA88A;
	--c-amber:       #D9A441;

	--r:      13px;
	--r-sm:    8px;
	--r-lg:   20px;
	--sh:     0 1px 2px rgba(27,42,58,.05), 0 6px 20px rgba(27,42,58,.06);
	--sh-lg:  0 2px 4px rgba(27,42,58,.06), 0 14px 38px rgba(27,42,58,.10);
	--head:   'Montserrat', sans-serif;
}

/* ==========================================================================
   2. RYTM SEKCJI - jednolite odstepy zamiast marginesow procentowych
   ========================================================================== */
body.zp-city-v2 .elementor-element.elementor-element-e95c41c,
body.zp-city-v2 .elementor-element.elementor-element-a749d1f {
	margin-top: 0;
	margin-bottom: 0;
}
body.zp-city-v2 .elementor-element.elementor-element-c3f60d0,
body.zp-city-v2 .elementor-element.elementor-element-e4c6299,
body.zp-city-v2 .elementor-element.elementor-element-2b548c1,
body.zp-city-v2 .elementor-element.elementor-element-03661f4,
body.zp-city-v2 .elementor-element.elementor-element-de2cb2b {
	padding-top: 64px;
	padding-bottom: 8px;
}

/* Typografia bazowa tresci */
body.zp-city-v2 .elementor-widget-text-editor {
	color: var(--c-ink-soft);
	font-size: 16.5px;
	line-height: 1.75;
}
body.zp-city-v2 .elementor-widget-text-editor strong {
	color: var(--c-ink);
	font-weight: 600;
}
body.zp-city-v2 .elementor-widget-heading .elementor-heading-title {
	font-family: var(--head);
	color: var(--c-deep);
	letter-spacing: -.01em;
}

/* Nagłówki sekcji: wspólny rozmiar i kolor. !important jest konieczny -
 * kit Elementora (#8) ustawia kolory nagłówków globalnie z !important,
 * a post-4320.css ma reguły o specyficzności (0,4,0). */
body.zp-city-v2 .elementor-element.elementor-element-985a2fa .elementor-heading-title,
body.zp-city-v2 .elementor-element.elementor-element-823909a .elementor-heading-title,
body.zp-city-v2 .elementor-element.elementor-element-78a2da4 .elementor-heading-title,
body.zp-city-v2 .elementor-element.elementor-element-5852367 .elementor-heading-title {
	font-size: 34px !important;
	line-height: 1.22 !important;
	font-weight: 700 !important;
	color: var(--c-ink) !important;
}
body.zp-city-v2 .elementor-element.elementor-element-c501dd9 .elementor-heading-title,
body.zp-city-v2 .elementor-element.elementor-element-c1fb314 .elementor-heading-title,
body.zp-city-v2 .elementor-element.elementor-element-3e1bf5e .elementor-heading-title,
body.zp-city-v2 .elementor-element.elementor-element-058327e .elementor-heading-title {
	font-size: 31px !important;
	line-height: 1.25 !important;
	font-weight: 700 !important;
	color: var(--c-ink) !important;
}

/* ==========================================================================
   3. HERO
   ========================================================================== */
/* Nagłówek strony ma margin-bottom 30px, przez co między menu a hero robi się
 * pusty pasek. Hero ma własne tło, więc ta przerwa jest tu niepotrzebna. */
body.zp-city-v2 header.elementor-section,
body.zp-city-v2 .elementor-location-header {
	margin-bottom: 0 !important;
}
body.zp-city-v2 .elementor-element.elementor-element-2efebdc {
	position: relative;
	overflow: hidden;
	padding: 66px 0 20px;
	background:
		radial-gradient(120% 90% at 50% -30%, rgba(74,134,199,.16), rgba(74,134,199,0) 62%),
		linear-gradient(180deg, var(--c-tint) 0%, #F7FAFD 55%, #FFFFFF 100%);
}
/* siatka kropek jako delikatna faktura tla */
body.zp-city-v2 .elementor-element.elementor-element-2efebdc::before {
	content: '';
	position: absolute;
	inset: 0;
	background-image: radial-gradient(rgba(74,134,199,.16) 1px, transparent 1px);
	background-size: 22px 22px;
	-webkit-mask-image: radial-gradient(80% 70% at 50% 40%, #000 0%, transparent 72%);
	mask-image: radial-gradient(80% 70% at 50% 40%, #000 0%, transparent 72%);
	opacity: .55;
	pointer-events: none;
}
body.zp-city-v2 .elementor-element.elementor-element-2efebdc > .elementor-container {
	position: relative;
	z-index: 1;
}
body.zp-city-v2 .elementor-element.elementor-element-3bdc931 > .elementor-widget-container {
	text-align: center;
}
body.zp-city-v2 .elementor-element.elementor-element-3bdc931 .elementor-heading-title {
	font-size: 46px;
	line-height: 1.14;
	font-weight: 700;
	color: var(--c-ink);
	letter-spacing: -.02em;
	margin: 0;
}
/* kreska akcentu pod H1 */
body.zp-city-v2 .elementor-element.elementor-element-3bdc931 > .elementor-widget-container::after {
	content: '';
	display: block;
	width: 68px;
	height: 4px;
	margin: 20px auto 0;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--c-primary), var(--c-deep));
}

/* ==========================================================================
   4. INTRO: tekst + spis tresci | zdjecie
   ========================================================================== */
body.zp-city-v2 .elementor-element.elementor-element-d3a5318 {
	margin-top: 0 !important;   /* Elementor daje tu 3%, przez co robi się dziura pod hero */
	padding-top: 22px;
	padding-bottom: 8px;
}
body.zp-city-v2 .elementor-element.elementor-element-5abb653 {
	font-size: 17px;
	line-height: 1.78;
}

/* --- spis tresci --- */
body.zp-city-v2 .elementor-element.elementor-element-deea265 #toc_container {
	width: 100% !important;
	max-width: none !important;
	margin: 28px 0 0 !important;
	padding: 22px 24px 24px !important;
	background: var(--c-surface) !important;
	border: 1px solid var(--c-line) !important;
	border-radius: var(--r) !important;
	box-shadow: var(--sh);
}
body.zp-city-v2 .elementor-element.elementor-element-deea265 .toc_title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 0 0 14px !important;
	padding: 0 0 12px;
	border-bottom: 1px solid var(--c-line);
	font-family: var(--head);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--c-ink-faint);
	text-align: left !important;
}
/* przełącznik pokaż/schowaj (spis jest domyślnie zwinięty) */
body.zp-city-v2 .elementor-element.elementor-element-deea265 .toc_toggle .toc_brackets {
	display: none;
}
body.zp-city-v2 .elementor-element.elementor-element-deea265 .toc_toggle a {
	display: inline-block;
	padding: 5px 12px;
	background: var(--c-tint);
	border-radius: 999px;
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: .06em;
	color: var(--c-primary) !important;
	text-decoration: none !important;
	transition: background .16s ease, color .16s ease;
}
body.zp-city-v2 .elementor-element.elementor-element-deea265 .toc_toggle a:hover {
	background: var(--c-primary);
	color: #fff !important;
}
/* gdy spis jest zwinięty, karta ma być zwarta: bez kreski i bez pustego dołu */
body.zp-city-v2 .elementor-element.elementor-element-deea265 #toc_container:has(ul.toc_list[style*="none"]) {
	padding-bottom: 22px !important;
}
body.zp-city-v2 .elementor-element.elementor-element-deea265 #toc_container:has(ul.toc_list[style*="none"]) .toc_title {
	margin: 0 !important;
	padding: 0;
	border-bottom: 0;
}
body.zp-city-v2 .elementor-element.elementor-element-deea265 .toc_list {
	counter-reset: toc;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}
body.zp-city-v2 .elementor-element.elementor-element-deea265 .toc_list li {
	margin: 0 !important;
	padding: 0 !important;
	border-top: 1px solid rgba(220,230,240,.7);
}
body.zp-city-v2 .elementor-element.elementor-element-deea265 .toc_list li:first-child {
	border-top: 0;
}
body.zp-city-v2 .elementor-element.elementor-element-deea265 .toc_list li a {
	counter-increment: toc;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 11px 6px;
	color: var(--c-ink) !important;
	font-size: 15px;
	line-height: 1.45;
	text-decoration: none !important;
	border-radius: var(--r-sm);
	transition: background .16s ease, color .16s ease;
}
body.zp-city-v2 .elementor-element.elementor-element-deea265 .toc_list li a::before {
	content: counter(toc, decimal-leading-zero);
	flex: 0 0 auto;
	font-family: var(--head);
	font-size: 12px;
	font-weight: 700;
	color: var(--c-primary);
	background: var(--c-tint);
	border-radius: 6px;
	padding: 4px 7px;
	transition: background .16s ease, color .16s ease;
}
body.zp-city-v2 .elementor-element.elementor-element-deea265 .toc_list li a:hover {
	background: var(--c-tint);
	color: var(--c-deep) !important;
}
body.zp-city-v2 .elementor-element.elementor-element-deea265 .toc_list li a:hover::before {
	background: var(--c-primary);
	color: #fff;
}

/* --- zdjecia w blokach tekstowych --- */
body.zp-city-v2 .elementor-element.elementor-element-5d21022 img,
body.zp-city-v2 .elementor-element.elementor-element-59bc64e img,
body.zp-city-v2 .elementor-element.elementor-element-c4c696d img,
body.zp-city-v2 .elementor-element.elementor-element-251bf56 img {
	border-radius: var(--r-lg);
	max-width: 100%;
	height: auto;
}

/* ==========================================================================
   5. NAGLOWEK LISTINGU "Polecani psycholodzy"
   ========================================================================== */
/* Nagłówek listingu: Elementor dokłada tu 3% marginesu, przez co nad „Polecani
 * psycholodzy" robiło się blisko 100 px pustki. Zostaje sam padding. */
body.zp-city-v2 .elementor-element.elementor-element-d49de66 {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding-top: 30px;
	padding-bottom: 0;
	text-align: center;
}
body.zp-city-v2 .elementor-element.elementor-element-985a2fa .elementor-heading-title {
	font-size: 34px;
	line-height: 1.22;
	font-weight: 700;
	color: var(--c-ink);
}
body.zp-city-v2 .elementor-element.elementor-element-4d60eb7 {
	max-width: 620px;
	margin: 8px auto 0;
	text-align: center;
	font-size: 16.5px;
	color: var(--c-ink-soft);
}
/* Listing i pusty pas wyszukiwarki nad nim - bez marginesów procentowych,
 * żeby tekst „Wybierz dowolnego specjalistę" nie wisiał wysoko nad kartami. */
body.zp-city-v2 .elementor-element.elementor-element-b0720ca,
body.zp-city-v2 .elementor-element.elementor-element-7cf88d7 {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding-top: 0;
}

/* ==========================================================================
   6. "JAK UMOWIC WIZYTE" - pas + trzy kroki
   ========================================================================== */
/* Górna kreska pasa stykała się z sekcją nad nim, a od kreski do nagłówka było
 * ponad 100 px. Odstęp przenosimy nad kreskę i skracamy padding wewnętrzny. */
body.zp-city-v2 .elementor-element.elementor-element-e95c41c {
	margin-top: 56px !important;
	padding: 52px 0 74px;
	background: linear-gradient(180deg, #FFFFFF 0%, var(--c-ground) 26%, var(--c-ground) 100%);
	border-top: 1px solid rgba(220,230,240,.8);
	border-bottom: 1px solid rgba(220,230,240,.8);
}
/* naglowek: kasujemy pigulke z Elementora, zostaje czysty tytul */
body.zp-city-v2 .elementor-element.elementor-element-823909a > .elementor-widget-container {
	padding: 0 !important;
	background-color: transparent !important;
	border-radius: 0 !important;
}
body.zp-city-v2 .elementor-element.elementor-element-823909a .elementor-heading-title {
	font-size: 34px;
	line-height: 1.22;
	font-weight: 700;
	color: var(--c-ink) !important;
}
body.zp-city-v2 .elementor-element.elementor-element-823909a > .elementor-widget-container::before {
	content: 'Jak to działa';
	display: block;
	margin-bottom: 10px;
	font-family: var(--head);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--c-primary);
}
body.zp-city-v2 .elementor-element.elementor-element-2ffc924 {
	max-width: 620px;
	margin: 10px auto 0;
	text-align: center;
	color: var(--c-ink-soft);
}

/* siatka krokow */
body.zp-city-v2 .elementor-element.elementor-element-fa75bd0 {
	margin-top: 38px;
}
body.zp-city-v2 .elementor-element.elementor-element-fa75bd0 > .elementor-container {
	align-items: stretch;
	gap: 22px;
}
body.zp-city-v2 .elementor-element.elementor-element-fa75bd0 > .elementor-container > .elementor-column {
	width: calc(33.333% - 15px);
}
body.zp-city-v2 .elementor-element.elementor-element-fab518f > .elementor-widget-wrap,
body.zp-city-v2 .elementor-element.elementor-element-eddde6e > .elementor-widget-wrap,
body.zp-city-v2 .elementor-element.elementor-element-4276d77 > .elementor-widget-wrap {
	position: relative;
	height: 100%;
	padding: 26px 26px 28px;
	background: var(--c-surface);
	border: 1px solid var(--c-line);
	border-radius: var(--r);
	box-shadow: var(--sh);
	transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}
body.zp-city-v2 .elementor-element.elementor-element-fab518f:hover > .elementor-widget-wrap,
body.zp-city-v2 .elementor-element.elementor-element-eddde6e:hover > .elementor-widget-wrap,
body.zp-city-v2 .elementor-element.elementor-element-4276d77:hover > .elementor-widget-wrap {
	transform: translateY(-3px);
	border-color: var(--c-line-strong);
	box-shadow: var(--sh-lg);
}
/* plakietka "Krok N" */
body.zp-city-v2 .elementor-element.elementor-element-fab518f > .elementor-widget-wrap::before { content: 'Krok 1'; }
body.zp-city-v2 .elementor-element.elementor-element-eddde6e > .elementor-widget-wrap::before { content: 'Krok 2'; }
body.zp-city-v2 .elementor-element.elementor-element-4276d77 > .elementor-widget-wrap::before { content: 'Krok 3'; }
body.zp-city-v2 .elementor-element.elementor-element-fab518f > .elementor-widget-wrap::before,
body.zp-city-v2 .elementor-element.elementor-element-eddde6e > .elementor-widget-wrap::before,
body.zp-city-v2 .elementor-element.elementor-element-4276d77 > .elementor-widget-wrap::before {
	position: absolute;
	top: 22px;
	left: 26px;
	padding: 5px 11px;
	background: var(--c-tint);
	border-radius: 999px;
	font-family: var(--head);
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--c-primary);
}
/* ikona kroku - kwadrat z tintem, pod plakietka */
body.zp-city-v2 .elementor-element.elementor-element-fa75bd0 .elementor-widget-html {
	margin-top: 34px;
}
body.zp-city-v2 .elementor-element.elementor-element-fa75bd0 .elementor-widget-html img {
	margin: 0 !important;
	width: 70px;
	max-width: 70px;
	height: auto;
	padding: 10px;
	background: var(--c-tint);
	border-radius: var(--r);
	transition: transform .25s ease;
}
body.zp-city-v2 .elementor-element.elementor-element-fab518f:hover .elementor-widget-html img,
body.zp-city-v2 .elementor-element.elementor-element-eddde6e:hover .elementor-widget-html img,
body.zp-city-v2 .elementor-element.elementor-element-4276d77:hover .elementor-widget-html img {
	transform: scale(1.06);
}
body.zp-city-v2 .elementor-element.elementor-element-fa75bd0 .elementor-widget-heading {
	margin-top: 16px;
}
body.zp-city-v2 .elementor-element.elementor-element-fa75bd0 .elementor-heading-title {
	text-align: left !important;
	font-size: 19px !important;
	line-height: 1.3 !important;
	font-weight: 700 !important;
	color: var(--c-ink) !important;
}
body.zp-city-v2 .elementor-element.elementor-element-fa75bd0 .elementor-widget-text-editor {
	margin-top: 8px;
	text-align: left !important;
	font-size: 15px;
	line-height: 1.62;
	color: var(--c-ink-soft);
}
body.zp-city-v2 .elementor-element.elementor-element-fa75bd0 .elementor-widget-text-editor p:last-child {
	margin-bottom: 0;
}
body.zp-city-v2 .elementor-element.elementor-element-fa75bd0 .elementor-widget-text-editor strong {
	font-weight: 600;
	color: var(--c-ink);
}

/* ==========================================================================
   7. PANELE TEKSTOWE (Dobry psycholog / dlaczego warto / kiedy niezbedna)
   ========================================================================== */
body.zp-city-v2 .elementor-element.elementor-element-c3f60d0 > .elementor-container > .elementor-column:has(> .elementor-widget-wrap > .elementor-widget-text-editor) > .elementor-widget-wrap,
body.zp-city-v2 .elementor-element.elementor-element-3a2ab11 > .elementor-widget-wrap,
body.zp-city-v2 .elementor-element.elementor-element-2b548c1 > .elementor-container > .elementor-column:has(.elementor-element-806928c) > .elementor-widget-wrap {
	padding: 34px 36px 36px;
	background: var(--c-surface-2);
	border: 1px solid var(--c-line);
	border-radius: var(--r-lg);
}
/* naglowki tych sekcji - do lewej, z kreska akcentu */
body.zp-city-v2 .elementor-element.elementor-element-c501dd9 .elementor-heading-title,
body.zp-city-v2 .elementor-element.elementor-element-c1fb314 .elementor-heading-title,
body.zp-city-v2 .elementor-element.elementor-element-3e1bf5e .elementor-heading-title,
body.zp-city-v2 .elementor-element.elementor-element-058327e .elementor-heading-title {
	font-size: 31px;
	line-height: 1.25;
	font-weight: 700;
	color: var(--c-ink);
}
body.zp-city-v2 .elementor-element.elementor-element-c501dd9 > .elementor-widget-container,
body.zp-city-v2 .elementor-element.elementor-element-3e1bf5e > .elementor-widget-container {
	text-align: left;
}
body.zp-city-v2 .elementor-element.elementor-element-c501dd9 > .elementor-widget-container::after,
body.zp-city-v2 .elementor-element.elementor-element-c1fb314 > .elementor-widget-container::after,
body.zp-city-v2 .elementor-element.elementor-element-3e1bf5e > .elementor-widget-container::after,
body.zp-city-v2 .elementor-element.elementor-element-058327e > .elementor-widget-container::after {
	content: '';
	display: block;
	width: 54px;
	height: 3px;
	margin-top: 16px;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--c-primary), rgba(74,134,199,.25));
}
body.zp-city-v2 .elementor-element.elementor-element-c1fb314 > .elementor-widget-container,
body.zp-city-v2 .elementor-element.elementor-element-058327e > .elementor-widget-container {
	text-align: center;
}
body.zp-city-v2 .elementor-element.elementor-element-c1fb314 > .elementor-widget-container::after,
body.zp-city-v2 .elementor-element.elementor-element-058327e > .elementor-widget-container::after {
	margin-left: auto;
	margin-right: auto;
}
body.zp-city-v2 .elementor-element.elementor-element-c501dd9,
body.zp-city-v2 .elementor-element.elementor-element-3e1bf5e {
	margin-bottom: 18px;
}
body.zp-city-v2 .elementor-element.elementor-element-c1fb314 {
	margin-bottom: 26px;
}
/* wyrownanie kolumn tekst/zdjecie do srodka */
body.zp-city-v2 .elementor-element.elementor-element-c3f60d0 > .elementor-container,
body.zp-city-v2 .elementor-element.elementor-element-69bf04e > .elementor-container,
body.zp-city-v2 .elementor-element.elementor-element-e5ce494 > .elementor-container {
	align-items: center;
	gap: 30px;
}
body.zp-city-v2 .elementor-element.elementor-element-c3f60d0 > .elementor-container > .elementor-column,
body.zp-city-v2 .elementor-element.elementor-element-69bf04e > .elementor-container > .elementor-column,
body.zp-city-v2 .elementor-element.elementor-element-e5ce494 > .elementor-container > .elementor-column {
	width: calc(50% - 15px);
}

/* ==========================================================================
   8. ZAKRES USLUG - pas + trzy karty
   ========================================================================== */
body.zp-city-v2 .elementor-element.elementor-element-a749d1f {
	margin-top: 56px !important;
	padding: 52px 0 74px;
	background: linear-gradient(180deg, #FFFFFF 0%, var(--c-ground) 30%, var(--c-ground) 100%);
	border-top: 1px solid rgba(220,230,240,.8);
	border-bottom: 1px solid rgba(220,230,240,.8);
}
body.zp-city-v2 .elementor-element.elementor-element-78a2da4 .elementor-heading-title {
	font-size: 34px;
	line-height: 1.22;
	font-weight: 700;
	color: var(--c-ink);
}
body.zp-city-v2 .elementor-element.elementor-element-78a2da4 > .elementor-widget-container {
	text-align: center;
}
body.zp-city-v2 .elementor-element.elementor-element-78a2da4 > .elementor-widget-container::before {
	content: 'W czym pomagamy';
	display: block;
	margin-bottom: 10px;
	font-family: var(--head);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--c-primary);
}
body.zp-city-v2 .elementor-element.elementor-element-4eb1819 {
	max-width: 740px;
	margin: 12px auto 0;
	text-align: center;
	color: var(--c-ink-soft);
}
body.zp-city-v2 .elementor-element.elementor-element-a7ef5ce {
	margin-top: 36px;
}
body.zp-city-v2 .elementor-element.elementor-element-a7ef5ce > .elementor-container {
	align-items: stretch;
	gap: 22px;
}
body.zp-city-v2 .elementor-element.elementor-element-a7ef5ce > .elementor-container > .elementor-column {
	width: calc(33.333% - 15px);
}
/* karty: kasujemy tlo #4A86C71F, margines 3% i radius 30 z Elementora */
body.zp-city-v2 .elementor-element.elementor-element-64bbf91 > .elementor-widget-wrap,
body.zp-city-v2 .elementor-element.elementor-element-bbffff0 > .elementor-widget-wrap,
body.zp-city-v2 .elementor-element.elementor-element-e4e5b65 > .elementor-widget-wrap {
	height: 100%;
	margin: 0 !important;
	padding: 26px 26px 28px !important;
	background-color: var(--c-surface) !important;
	border: 1px solid var(--c-line);
	border-radius: var(--r) !important;
	box-shadow: var(--sh);
	transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}
body.zp-city-v2 .elementor-element.elementor-element-64bbf91:hover > .elementor-widget-wrap,
body.zp-city-v2 .elementor-element.elementor-element-bbffff0:hover > .elementor-widget-wrap,
body.zp-city-v2 .elementor-element.elementor-element-e4e5b65:hover > .elementor-widget-wrap {
	transform: translateY(-3px);
	border-color: var(--c-line-strong);
	box-shadow: var(--sh-lg);
}
body.zp-city-v2 .elementor-element.elementor-element-a7ef5ce .elementor-widget-html img {
	margin: 0 auto !important;
	width: 58px;
	max-width: 58px;
	height: auto;
	padding: 7px;
	background: var(--c-tint);
	border-radius: var(--r);
	transition: transform .25s ease;
}
body.zp-city-v2 .elementor-element.elementor-element-64bbf91:hover .elementor-widget-html img,
body.zp-city-v2 .elementor-element.elementor-element-bbffff0:hover .elementor-widget-html img,
body.zp-city-v2 .elementor-element.elementor-element-e4e5b65:hover .elementor-widget-html img {
	transform: scale(1.06);
}
/* tytuly sa w tresci kapitalikami - traktujemy je jak etykiete kategorii */
body.zp-city-v2 .elementor-element.elementor-element-a7ef5ce .elementor-widget-heading {
	margin-top: 16px;
}
body.zp-city-v2 .elementor-element.elementor-element-a7ef5ce .elementor-heading-title {
	text-align: left !important;
	font-size: 14px !important;
	line-height: 1.35 !important;
	font-weight: 700 !important;
	letter-spacing: .05em;
	color: var(--c-primary) !important;
}
/* Elementor daje tym tekstom padding 20px w widget-container - kasujemy,
 * bo karta ma juz wlasny padding. */
body.zp-city-v2 .elementor-element.elementor-element-2e87340 > .elementor-widget-container,
body.zp-city-v2 .elementor-element.elementor-element-8a1a5a5 > .elementor-widget-container,
body.zp-city-v2 .elementor-element.elementor-element-f1794e8 > .elementor-widget-container {
	padding: 0 !important;
}
body.zp-city-v2 .elementor-element.elementor-element-a7ef5ce .elementor-widget-text-editor {
	margin-top: 10px;
	text-align: left !important;
	font-size: 15px;
	line-height: 1.62;
	color: var(--c-ink-soft);
}
body.zp-city-v2 .elementor-element.elementor-element-a7ef5ce .elementor-widget-text-editor p:last-child {
	margin-bottom: 0;
}

/* ==========================================================================
   9. PAS "Kiedy warto skorzystac" + lista objawow jako plakietki
   ========================================================================== */
/* Elementor daje tej sekcji kontener 1300 px, a karta pod nią ma standardowe 1140 -
 * zrównujemy, żeby nagłówek pasa i karta miały tę samą krawędź. */
body.zp-city-v2 .elementor-element.elementor-element-02525a3 {
	margin-top: 34px;
	padding: 0;
	background-color: transparent !important;
}
body.zp-city-v2 .elementor-element.elementor-element-02525a3 > .elementor-container {
	max-width: 1140px !important;
}
body.zp-city-v2 .elementor-element.elementor-element-e1f4740 > .elementor-widget-wrap {
	padding: 22px 30px !important;
	background-color: var(--c-tint) !important;
	border: 1px solid var(--c-soft);
	border-bottom: 0;
	border-radius: var(--r-lg) var(--r-lg) 0 0;
}
/* Elementor ustawia temu tekstowi szerokosc 60% i margines 10% z lewej -
 * w pasie ma byc pelna szerokosc i wysrodkowanie. */
body.zp-city-v2 .elementor-element.elementor-element-5fcb443 {
	width: 100% !important;
	max-width: 100% !important;
	--container-widget-width: 100%;
	margin: 0 !important;
	text-align: center !important;
	font-family: var(--head);
	font-size: 21px !important;
	font-weight: 700 !important;
	line-height: 1.3;
	color: var(--c-deep) !important;
}
body.zp-city-v2 .elementor-element.elementor-element-5fcb443 > .elementor-widget-container {
	margin: 0 !important;
	padding: 0 !important;
}
body.zp-city-v2 .elementor-element.elementor-element-5fcb443 p {
	margin: 0;
}
body.zp-city-v2 .elementor-element.elementor-element-123d140 {
	padding-top: 0;
	padding-bottom: 8px;
}
body.zp-city-v2 .elementor-element.elementor-element-7b1f739 > .elementor-widget-wrap {
	padding: 30px 30px 32px !important;
	background: var(--c-surface);
	border: 1px solid var(--c-line);
	border-radius: 0 0 var(--r-lg) var(--r-lg);
	box-shadow: var(--sh);
}
body.zp-city-v2 .elementor-element.elementor-element-e5ce494 > .elementor-container > .elementor-column.elementor-element-331923a {
	width: calc(58% - 15px);
}
body.zp-city-v2 .elementor-element.elementor-element-e5ce494 > .elementor-container > .elementor-column.elementor-element-0b2b674 {
	width: calc(42% - 15px);
}
/* Elementor wciaga te kolumne o -10% do gory - w karcie to psuje rytm. */
body.zp-city-v2 .elementor-element.elementor-element-0b2b674 > .elementor-element-populated {
	margin: 0 !important;
}
/* plakietki objawow */
body.zp-city-v2 .elementor-element.elementor-element-d31850f ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}
body.zp-city-v2 .elementor-element.elementor-element-d31850f ul li {
	display: flex;
	align-items: flex-start;
	gap: 9px;
	margin: 0;
	padding: 9px 12px 9px 11px;
	background: var(--c-surface-2);
	border: 1px solid var(--c-line);
	border-radius: 10px;
	font-size: 14.5px;
	line-height: 1.4;
	color: var(--c-ink);
	transition: background .16s ease, border-color .16s ease;
}
body.zp-city-v2 .elementor-element.elementor-element-d31850f ul li::before {
	content: '';
	flex: 0 0 auto;
	width: 16px;
	height: 16px;
	margin-top: 2px;
	border-radius: 50%;
	background-color: var(--c-tint);
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234A86C7' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: 50%;
	background-size: 10px 10px;
}
body.zp-city-v2 .elementor-element.elementor-element-d31850f ul li:hover {
	background: var(--c-tint);
	border-color: var(--c-line-strong);
}

/* ==========================================================================
   10. "Pierwsza wizyta" - pojedynczy blok tekstu
   ========================================================================== */
body.zp-city-v2 .elementor-element.elementor-element-45a9f96 {
	max-width: 860px;
	margin: 0 auto;
	padding: 30px 34px;
	background: var(--c-surface-2);
	border: 1px solid var(--c-line);
	border-left: 3px solid var(--c-primary);
	border-radius: var(--r) var(--r-lg) var(--r-lg) var(--r);
	font-size: 16.5px;
	line-height: 1.78;
}

/* ==========================================================================
   11. FAQ
   ========================================================================== */
body.zp-city-v2 .elementor-element.elementor-element-5852367 .elementor-heading-title {
	font-size: 34px;
	line-height: 1.22;
	font-weight: 700;
	color: var(--c-ink);
}
body.zp-city-v2 .elementor-element.elementor-element-5852367 > .elementor-widget-container::before {
	content: 'Częste pytania';
	display: block;
	margin-bottom: 10px;
	font-family: var(--head);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--c-primary);
}
body.zp-city-v2 .elementor-element.elementor-element-5852367 {
	margin-bottom: 26px;
}
body.zp-city-v2 .elementor-element.elementor-element-1d15802 {
	max-width: 900px;
	margin: 0 auto;
}
body.zp-city-v2 .elementor-element.elementor-element-1d15802 .elementor-toggle-item {
	margin-bottom: 10px !important;
	background: var(--c-surface);
	border: 1px solid var(--c-line);
	border-radius: var(--r);
	overflow: hidden;
	transition: border-color .18s ease, box-shadow .18s ease;
}
body.zp-city-v2 .elementor-element.elementor-element-1d15802 .elementor-toggle-item:hover {
	border-color: var(--c-line-strong);
	box-shadow: var(--sh);
}
body.zp-city-v2 .elementor-element.elementor-element-1d15802 .elementor-tab-title,
body.zp-city-v2 .elementor-element.elementor-element-1d15802 .elementor-tab-title a {
	position: relative;
	padding: 17px 52px 17px 22px !important;
	border: 0 !important;
	font-family: var(--head);
	font-size: 16px !important;
	font-weight: 600 !important;
	line-height: 1.45;
	color: var(--c-ink) !important;
	transition: color .16s ease;
}
body.zp-city-v2 .elementor-element.elementor-element-1d15802 .elementor-tab-title a {
	padding: 0 !important;
}
body.zp-city-v2 .elementor-element.elementor-element-1d15802 .elementor-tab-title:hover,
body.zp-city-v2 .elementor-element.elementor-element-1d15802 .elementor-tab-title.elementor-active {
	color: var(--c-deep) !important;
}
/* domyslny trojkat Elementora -> wlasny chevron po prawej */
body.zp-city-v2 .elementor-element.elementor-element-1d15802 .elementor-toggle-icon {
	display: none !important;
}
body.zp-city-v2 .elementor-element.elementor-element-1d15802 .elementor-tab-title::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 20px;
	width: 26px;
	height: 26px;
	margin-top: -13px;
	border-radius: 50%;
	background-color: var(--c-tint);
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234A86C7' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: 50%;
	background-size: 13px 13px;
	transition: transform .22s ease, background-color .22s ease;
}
body.zp-city-v2 .elementor-element.elementor-element-1d15802 .elementor-tab-title.elementor-active::after {
	transform: rotate(180deg);
	background-color: var(--c-soft);
}
body.zp-city-v2 .elementor-element.elementor-element-1d15802 .elementor-tab-content {
	padding: 0 22px 20px !important;
	border: 0 !important;
	font-size: 15.5px;
	line-height: 1.72;
	color: var(--c-ink-soft);
}

/* ==========================================================================
   11b. SEKCJA CTA (widgety dodane w Elementorze: zpv2cta)
   ========================================================================== */
body.zp-city-v2 .elementor-element.elementor-element-zpv2cta {
	margin-top: 56px;
	padding: 44px 0 48px;
	background: linear-gradient(180deg, var(--c-tint) 0%, #F7FAFD 100%);
	border-top: 1px solid rgba(220,230,240,.9);
	border-bottom: 1px solid rgba(220,230,240,.9);
}
body.zp-city-v2 .elementor-element.elementor-element-zpv2ctit .elementor-heading-title {
	font-size: 30px !important;
	line-height: 1.25 !important;
	font-weight: 700 !important;
	color: var(--c-ink) !important;
}
body.zp-city-v2 .elementor-element.elementor-element-zpv2ctxt {
	max-width: 620px;
	margin: 12px auto 22px;
	text-align: center;
	color: var(--c-ink-soft);
}
/* przyciski (hero i CTA) w stylu systemu */
body.zp-city-v2 .elementor-element.elementor-element-zpv2btn .elementor-button,
body.zp-city-v2 .elementor-element.elementor-element-zpv2cbtn .elementor-button {
	padding: 13px 26px;
	border-radius: var(--r);
	background-color: var(--c-primary);
	font-family: var(--head);
	font-size: 15.5px;
	font-weight: 600;
	letter-spacing: 0;
	box-shadow: 0 2px 6px rgba(53,97,153,.22);
	transition: background-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
body.zp-city-v2 .elementor-element.elementor-element-zpv2btn .elementor-button:hover,
body.zp-city-v2 .elementor-element.elementor-element-zpv2cbtn .elementor-button:hover {
	background-color: var(--c-deep);
	transform: translateY(-2px);
	box-shadow: 0 6px 18px rgba(53,97,153,.28);
}
/* zapowiedź pod nagłówkiem hero */
body.zp-city-v2 .elementor-element.elementor-element-zpv2lea {
	max-width: 660px;
	margin: 20px auto 24px;
	text-align: center;
	font-size: 17px;
	line-height: 1.7;
	color: var(--c-ink-soft);
}

/* ==========================================================================
   12. LINKI DO INNYCH MIAST
   ========================================================================== */
body.zp-city-v2 .elementor-element.elementor-element-eba8250 {
	margin-top: 56px;
	padding: 34px 0 44px;
	border-top: 1px solid var(--c-line);
}
/* Sekcja ma dwie kolumny po 50%, druga jest pusta - pierwsza dostaje pełną szerokość,
 * pustą chowamy, żeby lista miast szła na całą szerokość treści. */
body.zp-city-v2 .elementor-element.elementor-element-250fb0f {
	width: 100% !important;
	max-width: 100% !important;
	flex: 0 0 100% !important;
}
body.zp-city-v2 .elementor-element.elementor-element-585bf73 {
	display: none !important;
}
body.zp-city-v2 .elementor-element.elementor-element-e32cdcc {
	margin-bottom: 16px;
	font-size: 15px;
	color: var(--c-ink-faint);
}
body.zp-city-v2 .elementor-element.elementor-element-43a6e39 ul.wwwzaufany-psychologpl-related-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}
body.zp-city-v2 .elementor-element.elementor-element-43a6e39 ul.wwwzaufany-psychologpl-related-links li {
	margin: 0;
}
body.zp-city-v2 .elementor-element.elementor-element-43a6e39 ul.wwwzaufany-psychologpl-related-links a {
	display: inline-block;
	padding: 8px 14px;
	background: var(--c-surface);
	border: 1px solid var(--c-line);
	border-radius: 999px;
	font-size: 14px;
	color: var(--c-ink-soft);
	text-decoration: none;
	transition: background .16s ease, color .16s ease, border-color .16s ease;
}
body.zp-city-v2 .elementor-element.elementor-element-43a6e39 ul.wwwzaufany-psychologpl-related-links a:hover {
	background: var(--c-primary);
	border-color: var(--c-primary);
	color: #fff;
}

/* ==========================================================================
   13. RESPONSYWNOSC
   ========================================================================== */
@media (max-width: 1024px) {
	body.zp-city-v2 .elementor-element.elementor-element-3bdc931 .elementor-heading-title { font-size: 38px; }
	body.zp-city-v2 .elementor-element.elementor-element-985a2fa .elementor-heading-title,
	body.zp-city-v2 .elementor-element.elementor-element-823909a .elementor-heading-title,
	body.zp-city-v2 .elementor-element.elementor-element-78a2da4 .elementor-heading-title,
	body.zp-city-v2 .elementor-element.elementor-element-5852367 .elementor-heading-title { font-size: 29px; }
	body.zp-city-v2 .elementor-element.elementor-element-c501dd9 .elementor-heading-title,
	body.zp-city-v2 .elementor-element.elementor-element-c1fb314 .elementor-heading-title,
	body.zp-city-v2 .elementor-element.elementor-element-3e1bf5e .elementor-heading-title,
	body.zp-city-v2 .elementor-element.elementor-element-058327e .elementor-heading-title { font-size: 27px; }
}

@media (max-width: 767px) {
	body.zp-city-v2 .elementor-element.elementor-element-2efebdc { padding: 44px 0 40px; }
	body.zp-city-v2 .elementor-element.elementor-element-3bdc931 .elementor-heading-title { font-size: 31px; }

	body.zp-city-v2 .elementor-element.elementor-element-fa75bd0 > .elementor-container,
	body.zp-city-v2 .elementor-element.elementor-element-a7ef5ce > .elementor-container,
	body.zp-city-v2 .elementor-element.elementor-element-c3f60d0 > .elementor-container,
	body.zp-city-v2 .elementor-element.elementor-element-69bf04e > .elementor-container,
	body.zp-city-v2 .elementor-element.elementor-element-e5ce494 > .elementor-container { gap: 16px; }

	body.zp-city-v2 .elementor-element.elementor-element-fa75bd0 > .elementor-container > .elementor-column,
	body.zp-city-v2 .elementor-element.elementor-element-a7ef5ce > .elementor-container > .elementor-column,
	body.zp-city-v2 .elementor-element.elementor-element-c3f60d0 > .elementor-container > .elementor-column,
	body.zp-city-v2 .elementor-element.elementor-element-69bf04e > .elementor-container > .elementor-column,
	body.zp-city-v2 .elementor-element.elementor-element-e5ce494 > .elementor-container > .elementor-column.elementor-element-331923a,
	body.zp-city-v2 .elementor-element.elementor-element-e5ce494 > .elementor-container > .elementor-column.elementor-element-0b2b674 { width: 100%; }

	body.zp-city-v2 .elementor-element.elementor-element-d31850f ul { grid-template-columns: 1fr; }

	body.zp-city-v2 .elementor-element.elementor-element-c3f60d0 > .elementor-container > .elementor-column:has(> .elementor-widget-wrap > .elementor-widget-text-editor) > .elementor-widget-wrap,
	body.zp-city-v2 .elementor-element.elementor-element-3a2ab11 > .elementor-widget-wrap,
	body.zp-city-v2 .elementor-element.elementor-element-2b548c1 > .elementor-container > .elementor-column:has(.elementor-element-806928c) > .elementor-widget-wrap { padding: 24px 20px 26px; }

	body.zp-city-v2 .elementor-element.elementor-element-45a9f96 { padding: 22px 20px; }
	body.zp-city-v2 .elementor-element.elementor-element-7b1f739 > .elementor-widget-wrap { padding: 22px 18px 24px !important; }
	body.zp-city-v2 .elementor-element.elementor-element-e1f4740 > .elementor-widget-wrap { padding: 18px 20px !important; }
	body.zp-city-v2 .elementor-element.elementor-element-5fcb443 { font-size: 18px; }
}
