/*
Theme Name: Labioplastyka labioplastyka-rzeszow.pl
Description: Motyw potomny Hello Elementor dla labioplastyka-rzeszow.pl.
Author: dr n. med. Marcin Nylec
Template: hello-elementor
Version: 20260928.2215
Text Domain: mi
*/

/* ===============================================================
   1. Warianty (klasa body: mi-wariant-a | -b | -c)
   a - klasyczny: krem i złoto, zdjęcie w nagłówku na całą szerokość, cienkie ramki
   b - pudrowy: róż i śliwka, zdjęcia w łukach, zaokrąglone przyciski
   c - kliniczny: szałwia i biel, zdjęcie do krawędzi ekranu, ostre kąty i linie
   =============================================================== */
:root {
	--mi-tlo: #f7f3ee;
	--mi-tlo2: #efe7dc;
	--mi-biel: #ffffff;
	--mi-naglowek: #1f1a17;
	--mi-tekst: #4d4540;
	--mi-tekst-jasny: #7a6f67;
	--mi-akcent: #a8894f;
	--mi-akcent-ciemny: #86692f;
	--mi-cta: #8f3238;
	--mi-cta-ciemny: #6f2429;
	--mi-obwodka: #e3dacd;
	--mi-pasek: #1f1a17;
	--mi-cien: 0 24px 60px -34px rgba(31, 26, 23, .45);
	--mi-font-naglowek: "Newsreader", Georgia, "Times New Roman", serif;
	--mi-font-tekst: "Manrope", -apple-system, "Segoe UI", Roboto, sans-serif;
	--mi-waga-naglowka: 500;
	--mi-szerokosc: 1160px;
	--mi-naglowek-wys: 88px;
	--mi-r: 0px;           /* zaokrąglenie zdjęć i kart */
	--mi-r-btn: 2px;       /* zaokrąglenie przycisków */
	--mi-sekcja: 110px;    /* pionowy oddech sekcji (Elementor ma własne, to dla szablonów PHP) */
}

body.mi-wariant-b {
	--mi-tlo: #fbf6f4;
	--mi-tlo2: #f5e9e6;
	--mi-naglowek: #2b1d23;
	--mi-tekst: #5a4a51;
	--mi-tekst-jasny: #8a7880;
	--mi-akcent: #b27a80;
	--mi-akcent-ciemny: #8d5560;
	--mi-cta: #86364c;
	--mi-cta-ciemny: #6a283b;
	--mi-obwodka: #eddcd8;
	--mi-pasek: #86364c;
	--mi-cien: 0 26px 60px -34px rgba(106, 40, 59, .38);
	--mi-font-naglowek: "Cormorant Garamond", Georgia, serif;
	--mi-font-tekst: "Nunito Sans", -apple-system, "Segoe UI", sans-serif;
	--mi-waga-naglowka: 600;
	--mi-r: 22px;
	--mi-r-btn: 999px;
}

body.mi-wariant-c {
	--mi-tlo: #f6f7f4;
	--mi-tlo2: #e6ece5;
	--mi-naglowek: #15201c;
	--mi-tekst: #424c47;
	--mi-tekst-jasny: #6c7771;
	--mi-akcent: #5f7f6c;
	--mi-akcent-ciemny: #466353;
	--mi-cta: #24504c;
	--mi-cta-ciemny: #183a37;
	--mi-obwodka: #d7dfd6;
	--mi-pasek: #15201c;
	--mi-cien: 0 24px 50px -34px rgba(21, 32, 28, .4);
	--mi-font-naglowek: "Lora", Georgia, serif;
	--mi-font-tekst: "Source Sans 3", -apple-system, "Segoe UI", sans-serif;
	--mi-waga-naglowka: 500;
	--mi-r: 0px;
	--mi-r-btn: 0px;
}

/* ===============================================================
   2. Podstawy i typografia
   =============================================================== */
html { scroll-behavior: smooth; scroll-padding-top: 110px; }

body {
	background: var(--mi-tlo);
	color: var(--mi-tekst);
	font-family: var(--mi-font-tekst);
	font-size: 18px;
	line-height: 1.75;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
body.mi-wariant-c { font-size: 19px; }

h1, h2, h3, h4, h5, h6,
body .elementor-widget-heading .elementor-heading-title {
	font-family: var(--mi-font-naglowek);
	font-weight: var(--mi-waga-naglowka);
	color: var(--mi-naglowek);
	line-height: 1.16;
	letter-spacing: -0.012em;
	margin: 0 0 .5em;
}
h1, body .elementor-widget-heading h1.elementor-heading-title { font-size: clamp(36px, 4.2vw, 58px); line-height: 1.08; }
h2, body .elementor-widget-heading h2.elementor-heading-title { font-size: clamp(30px, 3.1vw, 44px); }
h3, body .elementor-widget-heading h3.elementor-heading-title { font-size: clamp(22px, 1.9vw, 27px); line-height: 1.25; }
h4 { font-size: 20px; }
body.mi-wariant-b h1, body.mi-wariant-b h2, body.mi-wariant-b .elementor-widget-heading .elementor-heading-title { letter-spacing: -0.005em; }
body.mi-wariant-b h1, body.mi-wariant-b .elementor-widget-heading h1.elementor-heading-title { font-size: clamp(40px, 4.6vw, 66px); }
body.mi-wariant-b h2, body.mi-wariant-b .elementor-widget-heading h2.elementor-heading-title { font-size: clamp(34px, 3.4vw, 50px); }

p { margin: 0 0 1.15em; }
p:last-child { margin-bottom: 0; }
strong, b { font-weight: 700; color: var(--mi-naglowek); }
a { color: var(--mi-akcent-ciemny); text-decoration: none; transition: color .2s ease; }
a:hover, a:focus { color: var(--mi-cta); }
.mi-tekst a, .mi-tresc a:not(.mi-btn) { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; text-decoration-color: color-mix(in srgb, var(--mi-akcent) 55%, transparent); }
img { max-width: 100%; height: auto; }
::selection { background: color-mix(in srgb, var(--mi-akcent) 30%, transparent); }

/* nadtytuł: krótki napis nad tytułem sekcji */
/* klasa widgetu siedzi na div-ie widgetu - wygląd dostaje tylko sam napis */
.mi-nadtytul:not(.elementor-widget),
body .elementor-widget-heading.mi-nadtytul .elementor-heading-title {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	font-family: var(--mi-font-tekst);
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--mi-akcent-ciemny);
	margin: 0 0 16px;
	line-height: 1.4;
}
.mi-nadtytul:not(.elementor-widget)::before,
.elementor-widget-heading.mi-nadtytul .elementor-heading-title::before {
	content: "";
	width: 34px;
	height: 1px;
	background: currentColor;
	flex-shrink: 0;
}
body.mi-wariant-b .mi-nadtytul:not(.elementor-widget)::before,
body.mi-wariant-b .elementor-widget-heading.mi-nadtytul .elementor-heading-title::before { width: 7px; height: 7px; border-radius: 50%; }
body.mi-wariant-c .mi-nadtytul:not(.elementor-widget)::before,
body.mi-wariant-c .elementor-widget-heading.mi-nadtytul .elementor-heading-title::before { width: 10px; height: 10px; background: var(--mi-akcent); }

.mi-lead, .mi-lead p { font-size: 20px; line-height: 1.7; color: var(--mi-naglowek); }

/* ===============================================================
   3. Przyciski
   Klasa przycisku siedzi na div-ie widgetu Elementora, dlatego osobne
   selektory dla a.mi-btn (szablony PHP i HTML) i widgetu przycisku.
   =============================================================== */
a.mi-btn,
.mi-btn .elementor-button,
.mi-tresc .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	background: var(--mi-cta);
	color: #fff;
	font-family: var(--mi-font-tekst);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: .06em;
	line-height: 1.2;
	padding: 18px 32px;
	border: 1.5px solid var(--mi-cta);
	border-radius: var(--mi-r-btn);
	transition: background .25s ease, color .25s ease, border-color .25s ease, transform .25s ease, box-shadow .25s ease;
	text-decoration: none !important;
	box-shadow: 0 14px 30px -18px color-mix(in srgb, var(--mi-cta) 80%, transparent);
}
body.mi-wariant-c a.mi-btn, body.mi-wariant-c .mi-btn .elementor-button { text-transform: uppercase; letter-spacing: .12em; font-size: 14px; box-shadow: none; }
a.mi-btn:hover, a.mi-btn:focus,
.mi-btn .elementor-button:hover, .mi-btn .elementor-button:focus {
	background: var(--mi-cta-ciemny);
	border-color: var(--mi-cta-ciemny);
	color: #fff;
	transform: translateY(-2px);
}
a.mi-btn--obwodka,
.mi-btn--obwodka .elementor-button {
	background: transparent;
	color: var(--mi-naglowek);
	border-color: color-mix(in srgb, var(--mi-naglowek) 40%, transparent);
	box-shadow: none;
}
a.mi-btn--obwodka:hover,
.mi-btn--obwodka .elementor-button:hover {
	background: var(--mi-naglowek);
	border-color: var(--mi-naglowek);
	color: #fff;
}
a.mi-btn--maly { padding: 12px 22px; font-size: 14px; }
.mi-przyciski { display: flex; flex-wrap: wrap; gap: 14px; }

/* ===============================================================
   4. Nagłówek strony (pasek, logo, menu)
   =============================================================== */
.mi-pasek {
	background: var(--mi-pasek);
	color: rgba(255, 255, 255, .82);
	font-size: 13.5px;
	line-height: 1.3;
	letter-spacing: .02em;
}
.mi-pasek__w {
	max-width: var(--mi-szerokosc);
	margin: 0 auto;
	padding: 10px 24px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 18px;
}
.mi-pasek a { color: #fff; font-weight: 700; }
.mi-pasek a:hover { color: #fff; opacity: .8; }

.mi-header {
	position: sticky;
	top: 0;
	z-index: 200;
	background: color-mix(in srgb, var(--mi-tlo) 92%, transparent);
	backdrop-filter: saturate(150%) blur(12px);
	-webkit-backdrop-filter: saturate(150%) blur(12px);
	border-bottom: 1px solid transparent;
	transition: box-shadow .3s ease, border-color .3s ease;
}
body.mi-wariant-c .mi-header { background: color-mix(in srgb, #fff 94%, transparent); border-bottom-color: var(--mi-obwodka); }
body.mi-przewiniete .mi-header { border-bottom-color: var(--mi-obwodka); box-shadow: 0 10px 30px -22px rgba(0, 0, 0, .35); }
.mi-header__w {
	max-width: calc(var(--mi-szerokosc) + 240px);
	margin: 0 auto;
	padding: 0 28px;
	height: var(--mi-naglowek-wys);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 26px;
	transition: height .3s ease;
}
body.mi-przewiniete .mi-header__w { height: 74px; }
.mi-logo { display: flex; align-items: center; flex-shrink: 0; color: var(--mi-naglowek); }
.mi-logo img { height: 58px; width: auto; display: block; }
.mi-logo__svg { display: block; color: var(--mi-naglowek); line-height: 0; }
.mi-logo__svg svg { height: 64px; width: auto; display: block; transition: height .3s ease; }
body.mi-przewiniete .mi-header .mi-logo__svg svg { height: 54px; }
.mi-stopka .mi-logo__svg svg { height: 84px; margin-bottom: 18px; }
.mi-logo__tekst { font-family: var(--mi-font-naglowek); font-size: 21px; line-height: 1.1; color: var(--mi-naglowek); }
.mi-logo__tekst small { display: block; font-family: var(--mi-font-tekst); font-size: 10.5px; letter-spacing: .26em; text-transform: uppercase; color: var(--mi-akcent-ciemny); margin-top: 5px; }

.mi-nav ul { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 26px; }
.mi-nav a {
	font-size: 15px;
	font-weight: 600;
	color: var(--mi-naglowek);
	position: relative;
	padding: 8px 0;
	display: inline-block;
	white-space: nowrap;
}
body.mi-wariant-c .mi-nav a { font-size: 13px; text-transform: uppercase; letter-spacing: .05em; }
body.mi-wariant-c .mi-nav ul { gap: 20px; }
.mi-nav a::after {
	content: "";
	position: absolute;
	left: 0; right: 100%; bottom: 0;
	height: 1.5px;
	background: var(--mi-akcent);
	transition: right .3s ease;
}
.mi-nav a:hover::after,
.mi-nav .current-menu-item > a::after { right: 0; }
.mi-nav .current-menu-item > a { color: var(--mi-akcent-ciemny); }

.mi-header__akcje { display: flex; align-items: center; gap: 14px; flex-shrink: 0; }
.mi-header__akcje a.mi-btn { box-shadow: none; }

.mi-menu-przycisk { display: none; }
.mi-header button.mi-menu-przycisk,
.mi-header button.mi-menu-przycisk:hover,
.mi-header button.mi-menu-przycisk:focus {
	align-items: center;
	gap: 10px;
	background: transparent;
	color: var(--mi-naglowek);
	border: 0;
	padding: 8px 2px;
	box-shadow: none;
	cursor: pointer;
	font-family: var(--mi-font-tekst);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .2em;
	text-transform: uppercase;
}
.mi-menu-przycisk span { display: block; width: 26px; height: 11px; position: relative; }
.mi-menu-przycisk span::before,
.mi-menu-przycisk span::after {
	content: ""; position: absolute; left: 0; width: 100%; height: 1.5px;
	background: var(--mi-naglowek); transition: transform .25s ease, top .25s ease;
}
.mi-menu-przycisk span::before { top: 0; }
.mi-menu-przycisk span::after { top: 9px; }
body.mi-menu-otwarte .mi-menu-przycisk span::before { top: 5px; transform: rotate(45deg); }
body.mi-menu-otwarte .mi-menu-przycisk span::after { top: 5px; transform: rotate(-45deg); }

.mi-panel {
	position: fixed;
	inset: 0;
	top: var(--mi-panel-gora, var(--mi-naglowek-wys));
	background: var(--mi-tlo);
	z-index: 190;
	padding: 24px 24px 60px;
	overflow-y: auto;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-8px);
	transition: opacity .25s ease, transform .25s ease, visibility .25s;
}
body.mi-menu-otwarte .mi-panel { opacity: 1; visibility: visible; transform: none; }
body.mi-menu-otwarte { overflow: hidden; }
.mi-panel ul { list-style: none; margin: 0 0 30px; padding: 0; }
.mi-panel li { border-bottom: 1px solid var(--mi-obwodka); }
.mi-panel li a { display: block; padding: 16px 0; font-family: var(--mi-font-naglowek); font-size: 25px; color: var(--mi-naglowek); }
.mi-panel__kontakt { font-size: 16px; line-height: 1.6; margin-top: 18px; }
.mi-panel__kontakt a { font-weight: 700; }

/* ===============================================================
   5. Nagłówek strony głównej (.mi-glowa) - trzy różne układy
   =============================================================== */
.mi-hero-pas, .mi-hero-pas > .elementor-widget, .mi-hero-pas .elementor-widget-container { padding: 0 !important; margin: 0 !important; width: 100%; max-width: none !important; }
.mi-glowa { position: relative; overflow: hidden; }
.mi-glowa__foto img { display: block; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; }
.mi-glowa__nad {
	font-family: var(--mi-font-tekst);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--mi-akcent-ciemny);
	margin: 0 0 22px;
	line-height: 1.6;
	max-width: 36em;
}
.mi-glowa h1 {
	font-size: clamp(40px, 4.6vw, 68px);
	line-height: 1.04;
	letter-spacing: -0.02em;
	margin: 0 0 26px;
	text-wrap: balance;
}
body.mi-wariant-b .mi-glowa h1 { font-size: clamp(44px, 5.2vw, 78px); line-height: 1; letter-spacing: -0.01em; }
.mi-glowa__lead { font-size: 19px; line-height: 1.7; color: var(--mi-tekst); max-width: 33em; margin: 0 0 34px; }
.mi-glowa__lead p { margin: 0; }
.mi-glowa__fakty { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); }
.mi-glowa__fakty li { padding: 24px 26px 26px; border-left: 1px solid var(--mi-obwodka); }
.mi-glowa__fakty li:first-child { border-left: 0; }
.mi-glowa__fakty strong {
	display: block;
	font-family: var(--mi-font-naglowek);
	font-weight: var(--mi-waga-naglowka);
	font-size: clamp(26px, 2.4vw, 34px);
	line-height: 1.05;
	color: var(--mi-naglowek);
	letter-spacing: -0.01em;
}
.mi-glowa__fakty span { display: block; margin-top: 8px; font-size: 14.5px; line-height: 1.45; color: var(--mi-tekst-jasny); }

/* --- a: zdjęcie na całą szerokość, tekst na jasnym przejściu, fakty w białym pasku */
body.mi-wariant-a .mi-glowa {
	min-height: clamp(640px, calc(100vh - 130px), 920px);
	display: flex;
	flex-direction: column;
	background: var(--mi-tlo2);
}
body.mi-wariant-a .mi-glowa__foto { position: absolute; inset: 0; }
body.mi-wariant-a .mi-glowa__foto img { object-position: 72% 0%; }
body.mi-wariant-a .mi-glowa--pion .mi-glowa__foto img { object-position: 80% 0%; }
body.mi-wariant-a .mi-glowa__foto::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg,
		var(--mi-tlo) 0%,
		color-mix(in srgb, var(--mi-tlo) 94%, transparent) 30%,
		color-mix(in srgb, var(--mi-tlo) 62%, transparent) 48%,
		color-mix(in srgb, var(--mi-tlo) 0%, transparent) 66%);
}
body.mi-wariant-a .mi-glowa__w {
	position: relative;
	z-index: 2;
	flex: 1;
	display: flex;
	align-items: center;
	width: 100%;
	max-width: var(--mi-szerokosc);
	margin: 0 auto;
	padding: 90px 24px 70px;
	box-sizing: border-box;
}
body.mi-wariant-a .mi-glowa__tekst { max-width: 610px; }
body.mi-wariant-a .mi-glowa__dol {
	position: relative;
	z-index: 2;
	width: calc(100% - 48px);
	max-width: var(--mi-szerokosc);
	margin: 0 auto;
	background: var(--mi-biel);
	border-top: 2px solid var(--mi-akcent);
	box-shadow: 0 -24px 60px -40px rgba(31, 26, 23, .5);
}

/* --- b: tekst po lewej, zdjęcie w łuku z obrysem po prawej, fakty pod spodem */
body.mi-wariant-b .mi-glowa {
	display: grid;
	grid-template-columns: [pelna-start] minmax(24px, 1fr) [tekst-start] minmax(0, 610px) [tekst-end] 70px [foto-start] minmax(0, 480px) [foto-end] minmax(24px, 1fr) [pelna-end];
	align-items: center;
	padding: 70px 0 0;
	background:
		radial-gradient(circle at 88% 12%, color-mix(in srgb, var(--mi-akcent) 22%, transparent) 0, transparent 38%),
		linear-gradient(180deg, var(--mi-tlo2) 0%, var(--mi-tlo) 100%);
}
body.mi-wariant-b .mi-glowa__w { grid-column: tekst; grid-row: 1; padding: 20px 0 40px; }
body.mi-wariant-b .mi-glowa__foto { grid-column: foto; grid-row: 1; position: relative; padding: 0 0 0 18px; }
body.mi-wariant-b .mi-glowa__foto::before {
	content: "";
	position: absolute;
	top: -18px; right: 18px; bottom: 18px; left: 0;
	border: 1px solid var(--mi-akcent);
	border-radius: 999px 999px 0 0;
}
body.mi-wariant-b .mi-glowa__foto img {
	position: relative;
	height: auto !important;
	aspect-ratio: 4 / 5.2;
	border-radius: 999px 999px 0 0;
	object-position: 50% 20%;
	box-shadow: var(--mi-cien);
}
body.mi-wariant-b .mi-glowa--poziom .mi-glowa__foto img { object-position: 70% 30%; }
body.mi-wariant-b .mi-glowa__dol { grid-column: tekst-start / foto-end; grid-row: 2; margin-top: 64px; border-top: 1px solid var(--mi-obwodka); }
body.mi-wariant-b .mi-glowa__fakty li { padding-left: 0; padding-right: 20px; border-left: 0; }
body.mi-wariant-b .mi-glowa__fakty li + li { padding-left: 26px; border-left: 1px solid var(--mi-obwodka); }
body.mi-wariant-b .mi-glowa__fakty strong { color: var(--mi-cta); font-style: italic; }

/* --- c: tekst na szałwiowym tle, zdjęcie do prawej krawędzi ekranu, fakty jak tabela */
body.mi-wariant-c .mi-glowa {
	display: grid;
	grid-template-columns: [pelna-start] minmax(24px, 1fr) [tekst-start] minmax(0, 640px) [tekst-end foto-start] minmax(0, 520px) minmax(24px, 1fr) [pelna-end];
	background: linear-gradient(90deg, var(--mi-tlo2) 0 50%, var(--mi-biel) 50% 100%);
}
body.mi-wariant-c .mi-glowa__w { grid-column: tekst; grid-row: 1; align-self: center; padding: 80px 64px 80px 0; }
body.mi-wariant-c .mi-glowa h1 { font-size: clamp(38px, 4vw, 60px); }
body.mi-wariant-c .mi-glowa__foto { grid-column: foto-start / pelna-end; grid-row: 1; min-height: clamp(560px, calc(100vh - 220px), 820px); position: relative; }
body.mi-wariant-c .mi-glowa__foto img { position: absolute; inset: 0; object-position: 50% 0%; }
body.mi-wariant-c .mi-glowa--poziom .mi-glowa__foto img { object-position: 72% 0%; }
body.mi-wariant-c .mi-glowa__dol { grid-column: pelna; grid-row: 2; background: var(--mi-biel); border-top: 1px solid var(--mi-obwodka); border-bottom: 1px solid var(--mi-obwodka); }
body.mi-wariant-c .mi-glowa__fakty { max-width: var(--mi-szerokosc); margin: 0 auto; padding: 0 24px; }
body.mi-wariant-c .mi-glowa__fakty li { padding: 28px 28px 30px; }
body.mi-wariant-c .mi-glowa__fakty li:first-child { padding-left: 0; }
body.mi-wariant-c .mi-glowa__fakty strong { font-family: var(--mi-font-tekst); font-weight: 700; font-size: clamp(24px, 2.2vw, 32px); color: var(--mi-cta); letter-spacing: -0.02em; }
body.mi-wariant-c .mi-glowa__nad { color: var(--mi-cta); }

/* ===============================================================
   6. Sekcje z Elementora
   =============================================================== */
.mi-sekcja--biala { background: var(--mi-biel); }
.mi-sekcja--druga { background: var(--mi-tlo2); }
body.mi-wariant-c .mi-sekcja--biala { background: var(--mi-biel); }

.mi-tekst ul, .mi-tresc ul { padding-left: 0; margin: 0 0 1.3em; list-style: none; }
.mi-tekst ul > li, .mi-tresc ul > li { position: relative; padding-left: 28px; margin-bottom: .6em; }
.mi-tekst ul > li::before, .mi-tresc ul > li::before {
	content: "";
	position: absolute;
	left: 2px; top: .72em;
	width: 12px; height: 1.5px;
	background: var(--mi-akcent);
}
body.mi-wariant-b .mi-tekst ul > li::before, body.mi-wariant-b .mi-tresc ul > li::before { width: 7px; height: 7px; border-radius: 50%; top: .62em; }
body.mi-wariant-c .mi-tekst ul > li::before, body.mi-wariant-c .mi-tresc ul > li::before { width: 8px; height: 8px; top: .6em; }
.mi-tekst h3 { margin-top: 1.4em; }
.mi-tekst h3:first-child { margin-top: 0; }

/* wstęp pod nagłówkiem strony (dalsze akapity leadu) */
.mi-sekcja--wstep .mi-lead, .mi-sekcja--wstep .mi-lead p { font-size: 21px; }

/* tekst obok zdjęcia */
.mi-tekst-foto .mi-tekst { max-width: 600px; }

/* sekcja bez zdjęcia: tytuł po lewej (przyklejony), tekst po prawej */
.mi-split > .e-con:first-child { position: sticky; top: 120px; }
.mi-split .elementor-widget-heading h2.elementor-heading-title { font-size: clamp(30px, 2.9vw, 42px); }
.mi-split > .e-con:last-child { border-left: 1px solid var(--mi-obwodka); padding-left: 56px !important; }
body.mi-wariant-b .mi-split > .e-con:last-child { border-left: 0; padding-left: 0 !important; }
body.mi-wariant-c .mi-split > .e-con:first-child { border-top: 3px solid var(--mi-naglowek); padding-top: 22px !important; }
body.mi-wariant-c .mi-split > .e-con:last-child { border-left: 0; padding-left: 0 !important; }

/* zdjęcia w sekcjach: rama zależna od wariantu */
.mi-zdjecie-el img { display: block; width: 100%; object-fit: cover; }
.mi-rama { position: relative; }
.mi-rama img { position: relative; z-index: 1; }
.mi-rama--pion img { aspect-ratio: 4 / 5; object-position: 50% 18%; }
.mi-rama--poziom img { aspect-ratio: 4 / 3; }
/* a: cienka złota rama przesunięta za zdjęciem */
body.mi-wariant-a .mi-rama::before {
	content: "";
	position: absolute;
	top: 22px; left: 22px; right: -22px; bottom: -22px;
	border: 1px solid var(--mi-akcent);
	z-index: 0;
}
body.mi-wariant-a .mi-tekst-foto--lewe .mi-rama::before { left: -22px; right: 22px; }
/* b: łuk dla zdjęć pionowych, miękkie zaokrąglenie dla poziomych */
body.mi-wariant-b .mi-rama img { border-radius: var(--mi-r); box-shadow: var(--mi-cien); }
body.mi-wariant-b .mi-rama--pion img { border-radius: 999px 999px var(--mi-r) var(--mi-r); }
body.mi-wariant-b .mi-rama--pion::before {
	content: "";
	position: absolute;
	inset: -16px 16px 16px -16px;
	border: 1px solid var(--mi-akcent);
	border-radius: 999px 999px var(--mi-r) var(--mi-r);
}
/* c: kolorowy blok przesunięty za zdjęciem */
body.mi-wariant-c .mi-rama::before {
	content: "";
	position: absolute;
	top: -26px; right: -26px; width: 55%; height: 60%;
	background: var(--mi-tlo2);
	z-index: 0;
}
body.mi-wariant-c .mi-tekst-foto--lewe .mi-rama::before { right: auto; left: -26px; }

/* opinie: kolumny o różnej wysokości (jak tablica), cytat pismem nagłówków */
.mi-sekcja--opinie { background: var(--mi-tlo2); }
body.mi-wariant-b .mi-sekcja--opinie { background: var(--mi-biel); }
body.mi-wariant-c .mi-sekcja--opinie { background: var(--mi-biel); border-top: 1px solid var(--mi-obwodka); border-bottom: 1px solid var(--mi-obwodka); }
.mi-opinie { columns: 3 300px; column-gap: 26px; text-align: left; margin-top: 18px; }
.mi-opinie > .mi-opinia {
	break-inside: avoid;
	display: inline-block;
	width: 100%;
	box-sizing: border-box;
	margin: 0 0 26px !important;
	background: var(--mi-biel);
	padding: 34px 32px 28px;
	position: relative;
	border-radius: var(--mi-r);
}
body.mi-wariant-b .mi-opinia { background: var(--mi-tlo); }
body.mi-wariant-c .mi-opinia { background: var(--mi-tlo); border-left: 3px solid var(--mi-akcent); }
.mi-opinia::before {
	content: "\201C";
	display: block;
	font-family: var(--mi-font-naglowek);
	font-size: 72px;
	line-height: .6;
	height: 30px;
	color: var(--mi-akcent);
}
.mi-opinia blockquote { margin: 0; padding: 0; border: 0; }
.mi-opinia p { font-size: 16.5px; line-height: 1.7; color: var(--mi-tekst); }
.mi-opinia__zrodlo { display: block; margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--mi-obwodka); font-size: 12.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--mi-akcent-ciemny); }

/* nagłówek sekcji z przyciskiem po prawej (blog) */
.mi-glowa-sekcji { margin-bottom: 12px; }
.mi-glowa-sekcji > .e-con:last-child { align-items: flex-end; }
.mi-glowa-sekcji .mi-przyciski { justify-content: flex-end; }

/* zaproszenie do konsultacji: zdjęcie lekarza + tekst */
.mi-cta {
	display: grid;
	grid-template-columns: minmax(0, 360px) minmax(0, 1fr);
	gap: 64px;
	align-items: center;
	background: var(--mi-tlo2);
	padding: 56px 64px 56px 56px;
	border-radius: var(--mi-r);
	position: relative;
	overflow: hidden;
}
.mi-cta__foto img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 18%; }
body.mi-wariant-a .mi-cta { background: var(--mi-biel); border: 1px solid var(--mi-obwodka); }
body.mi-wariant-a .mi-cta::after { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--mi-akcent); }
body.mi-wariant-b .mi-cta__foto img { border-radius: 999px 999px var(--mi-r) var(--mi-r); }
body.mi-wariant-c .mi-cta { background: var(--mi-tlo2); border-top: 3px solid var(--mi-naglowek); }
.mi-cta h2 { font-size: clamp(30px, 3vw, 44px); margin-bottom: .4em; }
.mi-cta__tekst { margin-bottom: 30px; max-width: 36em; }
.mi-cta__podpis { margin: 26px 0 0; font-family: var(--mi-font-naglowek); font-style: italic; font-size: 18px; color: var(--mi-tekst-jasny); }
.mi-cta--wpis { grid-template-columns: minmax(0, 200px) minmax(0, 1fr); gap: 40px; padding: 40px; margin-top: 64px; }
.mi-cta--wpis:not(:has(.mi-cta__foto)) { grid-template-columns: 1fr; }
.mi-cta--wpis h2 { font-size: clamp(26px, 2.4vw, 34px); }
.mi-cta--wpis .mi-cta__tresc > p:not(.mi-nadtytul) { margin-bottom: 24px; }

/* kroki / lista numerowana */
.mi-tekst ol, .mi-tresc ol { counter-reset: mi-krok; list-style: none; padding: 0; margin: 0 0 1.3em; }
.mi-tekst ol > li, .mi-tresc ol > li { counter-increment: mi-krok; position: relative; padding-left: 56px; margin-bottom: 18px; min-height: 36px; }
.mi-tekst ol > li::before, .mi-tresc ol > li::before {
	content: counter(mi-krok, decimal-leading-zero);
	position: absolute; left: 0; top: -2px;
	font-family: var(--mi-font-naglowek);
	font-size: 26px;
	line-height: 1.2;
	color: var(--mi-akcent);
}

/* ===============================================================
   7. Nagłówki podstron (Elementor i szablony PHP)
   =============================================================== */
.mi-naglowek-strony { background: var(--mi-tlo2); position: relative; }
body.mi-wariant-b .mi-naglowek-strony { background: linear-gradient(180deg, var(--mi-tlo2), var(--mi-tlo)); }
body.mi-wariant-c .mi-naglowek-strony { background: var(--mi-biel); border-bottom: 1px solid var(--mi-obwodka); }
.mi-naglowek-strony h1,
.mi-naglowek-strony .elementor-widget-heading h1.elementor-heading-title { font-size: clamp(36px, 4vw, 56px); max-width: 17em; text-wrap: balance; margin-bottom: .35em; }
.mi-naglowek-strony .mi-lead { max-width: 38em; color: var(--mi-tekst); }
.mi-naglowek-strony__foto img { aspect-ratio: 4 / 3; border-radius: var(--mi-r); }
body.mi-wariant-b .mi-naglowek-strony__foto img { border-radius: 999px 999px var(--mi-r) var(--mi-r); aspect-ratio: 5 / 4; }
.mi-naglowek-strony--proste .mi-naglowek-strony__w { max-width: var(--mi-szerokosc); margin: 0 auto; padding: 56px 24px 52px; }

.mi-okruszki { font-size: 13.5px; margin: 0 0 22px; color: var(--mi-tekst-jasny); letter-spacing: .02em; }
.mi-okruszki a { color: var(--mi-tekst-jasny); text-decoration: none !important; }
.mi-okruszki a:hover { color: var(--mi-cta); }
.mi-okruszki__sep { margin: 0 9px; opacity: .5; }
.mi-okruszki [aria-current] { color: var(--mi-naglowek); }

/* długi tekst ze spisem treści (Twoja droga) */
.mi-czytanie > .e-con:first-child { position: sticky; top: 118px; }
.mi-spis { border-top: 1px solid var(--mi-naglowek); padding-top: 20px; }
body.mi-wariant-b .mi-spis { border-top: 0; background: var(--mi-biel); padding: 26px 26px 18px; border-radius: var(--mi-r); }
.mi-spis__tytul { font-size: 12.5px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--mi-akcent-ciemny); margin: 0 0 14px; }
.mi-spis ol { list-style: none; margin: 0; padding: 0; counter-reset: spis; }
.mi-spis li { counter-increment: spis; border-bottom: 1px solid var(--mi-obwodka); }
.mi-spis li:last-child { border-bottom: 0; }
.mi-spis a { display: flex; gap: 12px; padding: 11px 0; font-size: 15.5px; line-height: 1.4; color: var(--mi-tekst); text-decoration: none !important; }
.mi-spis a::before { content: counter(spis, decimal-leading-zero); color: var(--mi-akcent); font-weight: 700; font-size: 13px; padding-top: 2px; }
.mi-spis a:hover, .mi-spis a.mi-aktywny { color: var(--mi-naglowek); }
.mi-spis a.mi-aktywny { font-weight: 700; }
.mi-czytanie .mi-tekst { max-width: 720px; }
.mi-sekcja--kolumna .mi-h-kolumna { margin-top: 46px; }
.mi-sekcja--kolumna .mi-h-kolumna:first-child { margin-top: 0; }
.mi-sekcja--kolumna .mi-h-kolumna .elementor-heading-title { padding-top: 34px; border-top: 1px solid var(--mi-obwodka); }
.mi-sekcja--kolumna .mi-h-kolumna:first-child .elementor-heading-title { padding-top: 0; border-top: 0; }

/* ===============================================================
   8. Blog: karty wpisów, efekty, wpis
   =============================================================== */
.mi-wpisy { display: grid; grid-template-columns: repeat(3, 1fr); gap: 34px 28px; }
.mi-wpis { background: transparent; display: flex; flex-direction: column; }
.mi-wpis__foto { display: block; aspect-ratio: 3 / 2; overflow: hidden; background: var(--mi-tlo2); border-radius: var(--mi-r); }
.mi-wpis__foto img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2, .7, .2, 1); }
.mi-wpis:hover .mi-wpis__foto img { transform: scale(1.05); }
.mi-wpis__tresc { padding: 20px 0 0; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.mi-wpis__data { font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--mi-akcent-ciemny); }
.mi-wpis h3 { font-size: clamp(21px, 1.7vw, 25px); margin: 0; line-height: 1.25; }
.mi-wpis h3 a { color: var(--mi-naglowek); text-decoration: none !important; }
.mi-wpis h3 a:hover { color: var(--mi-cta); }
.mi-wpis p { font-size: 16px; margin: 0; color: var(--mi-tekst); }
.mi-wpis__dalej { margin-top: auto; padding-top: 6px; font-size: 14px; font-weight: 700; letter-spacing: .04em; color: var(--mi-naglowek); }
.mi-wpis__dalej::after { content: " \2192"; transition: margin .2s ease; }
.mi-wpis__dalej:hover::after { margin-left: 4px; }

.mi-efekty-sekcja { max-width: var(--mi-szerokosc); margin: 0 auto; padding: 100px 24px; }
.mi-efekty-sekcja .mi-efekty { margin-top: 26px; }
.mi-efekty { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 26px; }
.mi-efekt { background: var(--mi-biel); border-radius: var(--mi-r); overflow: hidden; }
.mi-efekt img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }
.mi-efekt__tresc { padding: 22px 24px 26px; }
.mi-efekt h3 { font-size: 22px; }

/* wpis */
.mi-naglowek-wpisu__w { max-width: var(--mi-szerokosc); margin: 0 auto; padding: 56px 24px 60px; }
.mi-naglowek-wpisu--foto .mi-naglowek-wpisu__w { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 64px; align-items: center; }
.mi-naglowek-wpisu h1 { font-size: clamp(34px, 3.6vw, 52px); }
.mi-naglowek-wpisu__foto { margin: 0; }
.mi-naglowek-wpisu__foto img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--mi-r); display: block; }
body.mi-wariant-a .mi-naglowek-wpisu__foto { position: relative; }
body.mi-wariant-a .mi-naglowek-wpisu__foto::before { content: ""; position: absolute; inset: 18px -18px -18px 18px; border: 1px solid var(--mi-akcent); }
body.mi-wariant-a .mi-naglowek-wpisu__foto img { position: relative; }
.mi-etykieta {
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--mi-cta);
	margin-bottom: 16px;
	text-decoration: none !important;
}
.mi-autor { display: flex; align-items: center; gap: 14px; margin-top: 26px; }
.mi-autor__foto img { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; object-position: 50% 18%; display: block; }
.mi-autor__dane { display: flex; flex-direction: column; line-height: 1.35; font-size: 14.5px; color: var(--mi-tekst-jasny); }
.mi-autor__dane strong { font-size: 15.5px; }

.mi-artykul__w { max-width: 760px; margin: 0 auto; padding: 64px 24px 30px; }
.mi-powiazane { background: var(--mi-biel); margin-top: 80px; }
.mi-powiazane__w { max-width: var(--mi-szerokosc); margin: 0 auto; padding: 80px 24px 96px; }

/* ===============================================================
   9. Treść zwykłych stron i wpisów (bez Elementora)
   =============================================================== */
.mi-strona { max-width: var(--mi-szerokosc); margin: 0 auto; padding: 64px 24px 100px; }
.mi-strona--waska { max-width: 808px; }
.mi-tresc { font-size: 18px; }
body.mi-wariant-c .mi-tresc { font-size: 19px; }
.mi-tresc > p:first-child { font-size: 1.12em; color: var(--mi-naglowek); }
.mi-tresc h2 { margin-top: 1.7em; font-size: clamp(28px, 2.6vw, 38px); }
.mi-tresc h3 { margin-top: 1.4em; }
.mi-tresc img { border-radius: var(--mi-r); }
.mi-tresc figure { margin: 0; }
/* pojedyncze zdjęcie w tekście stoi obok akapitów (na przemian z prawej i z lewej),
   żeby kolejne zdjęcia nie ustawiały się jedno pod drugim */
.mi-tresc .mi-foto { float: right; clear: both; width: 44%; margin: 8px -60px 26px 40px; }
.mi-tresc .mi-foto:nth-of-type(even) { float: left; margin: 8px 40px 26px -60px; }
.mi-tresc .mi-foto img { display: block; width: 100%; }
.mi-tresc h2, .mi-tresc .mi-galeria, .mi-tresc .mi-przypadki, .mi-tresc::after { clear: both; }
.mi-tresc::after { content: ""; display: table; }
body.mi-wariant-a .mi-tresc .mi-foto img { box-shadow: 14px 14px 0 -1px var(--mi-tlo2); }
body.mi-wariant-b .mi-tresc .mi-foto img { box-shadow: var(--mi-cien); }
.mi-tresc figcaption { font-size: 14px; color: var(--mi-tekst-jasny); margin-top: 10px; line-height: 1.5; }
.mi-tresc blockquote { margin: 34px 0; padding: 4px 0 4px 26px; border-left: 2px solid var(--mi-akcent); font-family: var(--mi-font-naglowek); font-size: 1.25em; font-style: italic; color: var(--mi-naglowek); }
.mi-tresc table { width: 100%; border-collapse: collapse; margin: 26px 0; font-size: 16px; }
.mi-tresc td, .mi-tresc th { border-bottom: 1px solid var(--mi-obwodka); padding: 12px 8px; text-align: left; vertical-align: top; }

/* galerie w treści: 2 kolumny we wpisach, 3 na stronach przypadków */
.mi-tresc .mi-galeria { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin: 36px 0; }
.mi-tresc .mi-galeria--3 { grid-template-columns: repeat(3, 1fr); }
.mi-strona--waska .mi-tresc .mi-galeria--3 { margin-left: -120px; margin-right: -120px; }
.mi-tresc .mi-galeria img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; margin: 0; }
.mi-tresc .mi-galeria--wideo { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.mi-wideo video { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; background: #000; border-radius: var(--mi-r); }
.mi-powieksz { cursor: zoom-in; transition: opacity .2s ease; }
.mi-powieksz:hover { opacity: .9; }

/* karty przypadków (Warszawa /galeria/labioplastyka/) */
.mi-przypadki { display: grid; grid-template-columns: repeat(3, 1fr); gap: 34px 28px; }
.mi-przypadek { display: flex; flex-direction: column; background: var(--mi-biel); border-radius: var(--mi-r); overflow: hidden; border: 1px solid var(--mi-obwodka); transition: transform .3s ease, box-shadow .3s ease; }
.mi-przypadek:hover { transform: translateY(-4px); box-shadow: var(--mi-cien); }
.mi-przypadek__foto { display: block; position: relative; aspect-ratio: 1; overflow: hidden; text-decoration: none !important; }
.mi-przypadek__foto img { width: 100%; height: 100%; object-fit: cover; margin: 0; border-radius: 0; transition: transform .8s cubic-bezier(.2, .7, .2, 1); }
.mi-przypadek:hover .mi-przypadek__foto img { transform: scale(1.04); }
.mi-przypadek__znak { position: absolute; left: 16px; bottom: 16px; background: var(--mi-biel); color: var(--mi-naglowek); font-size: 13px; font-weight: 700; letter-spacing: .08em; padding: 7px 12px; border-radius: var(--mi-r-btn); }
.mi-przypadek__tresc { padding: 22px 24px 26px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.mi-przypadek h3 { font-size: 24px; margin: 0; }
.mi-przypadek h3 a { color: var(--mi-naglowek); text-decoration: none !important; }
.mi-przypadek__zabieg { font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--mi-akcent-ciemny); margin: 0; }
.mi-przypadek__opis { font-size: 15.5px; line-height: 1.65; margin: 0 0 8px; display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; }
.mi-przypadek .mi-btn { margin-top: auto; align-self: flex-start; }
.mi-nawigacja-przypadku { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 56px; padding-top: 28px; border-top: 1px solid var(--mi-obwodka); }
.mi-nawigacja-przypadku__wszystkie { font-size: 14px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }

/* powiększone zdjęcie */
.mi-lightbox { position: fixed; inset: 0; z-index: 1000; background: rgba(12, 10, 9, .94); display: flex; align-items: center; justify-content: center; opacity: 0; visibility: hidden; transition: opacity .25s ease, visibility .25s; }
.mi-lightbox--otwarty { opacity: 1; visibility: visible; }
.mi-lightbox img { max-width: min(92vw, 1200px); max-height: 88vh; width: auto; height: auto; border-radius: 0; }
.mi-lightbox button, .mi-lightbox button:hover, .mi-lightbox button:focus { position: absolute; background: transparent; border: 0; color: #fff; font-size: 46px; line-height: 1; cursor: pointer; padding: 14px 18px; box-shadow: none; }
.mi-lightbox__x { top: 10px; right: 14px; }
.mi-lightbox__nav--p { left: 10px; top: 50%; transform: translateY(-50%); }
.mi-lightbox__nav--n { right: 10px; top: 50%; transform: translateY(-50%); }
.mi-lightbox--jedno .mi-lightbox__nav { display: none; }
body.mi-lightbox-otwarty { overflow: hidden; }

.mi-stronicowanie { display: flex; gap: 8px; justify-content: center; margin-top: 56px; flex-wrap: wrap; }
.mi-stronicowanie a, .mi-stronicowanie span {
	min-width: 44px; height: 44px; padding: 0 12px; display: inline-flex; align-items: center; justify-content: center;
	border: 1px solid var(--mi-obwodka); border-radius: var(--mi-r-btn); background: var(--mi-biel); font-weight: 700; text-decoration: none !important;
}
.mi-stronicowanie .current { background: var(--mi-naglowek); color: #fff; border-color: var(--mi-naglowek); }

/* ===============================================================
   10. Formularze (Forminator) i kontakt
   =============================================================== */
.mi-formularz {
	background: var(--mi-biel);
	border-radius: var(--mi-r);
	padding: 40px 40px 36px !important;
	box-shadow: var(--mi-cien);
	border-top: 3px solid var(--mi-akcent);
}
body.mi-wariant-b .mi-formularz { border-top: 0; }
.mi-formularz .forminator-ui.forminator-custom-form[data-design=default] .forminator-label,
.mi-formularz .forminator-label { font-family: var(--mi-font-tekst) !important; font-size: 14px !important; font-weight: 700 !important; color: var(--mi-naglowek) !important; }
.mi-formularz .forminator-input,
.mi-formularz .forminator-textarea {
	font-family: var(--mi-font-tekst) !important;
	font-size: 16px !important;
	border: 1px solid var(--mi-obwodka) !important;
	border-radius: min(var(--mi-r), 12px) !important;
	background: var(--mi-tlo) !important;
	padding: 13px 15px !important;
}
.mi-formularz .forminator-input:focus, .mi-formularz .forminator-textarea:focus { border-color: var(--mi-akcent) !important; background: #fff !important; }
.mi-formularz .forminator-button-submit {
	background: var(--mi-cta) !important;
	border-radius: var(--mi-r-btn) !important;
	font-family: var(--mi-font-tekst) !important;
	font-weight: 700 !important;
	font-size: 15px !important;
	letter-spacing: .06em;
	padding: 18px 36px !important;
}
.mi-formularz .forminator-button-submit { color: #fff !important; }
.mi-formularz .forminator-button-submit:hover { background: var(--mi-cta-ciemny) !important; }

/* trzy kroki obok formularza konsultacji */
.mi-kroki { list-style: none; margin: 8px 0 0; padding: 0; counter-reset: krok; }
.mi-kroki li { counter-increment: krok; position: relative; padding: 0 0 26px 64px; }
.mi-kroki li::before {
	content: counter(krok);
	position: absolute; left: 0; top: 0;
	width: 44px; height: 44px;
	display: flex; align-items: center; justify-content: center;
	border: 1px solid var(--mi-akcent);
	border-radius: 50%;
	font-family: var(--mi-font-naglowek);
	font-size: 21px;
	color: var(--mi-akcent-ciemny);
	background: var(--mi-biel);
}
body.mi-wariant-c .mi-kroki li::before { border-radius: 0; background: var(--mi-naglowek); color: #fff; border: 0; }
.mi-kroki li:not(:last-child)::after { content: ""; position: absolute; left: 22px; top: 50px; bottom: 6px; width: 1px; background: var(--mi-obwodka); }
.mi-kroki strong { display: block; font-family: var(--mi-font-naglowek); font-weight: var(--mi-waga-naglowka); font-size: 21px; line-height: 1.3; margin: 8px 0 4px; }
.mi-kroki span { display: block; font-size: 16px; line-height: 1.6; }
.mi-formularz .forminator-description { font-size: 14px !important; line-height: 1.5 !important; color: var(--mi-tekst) !important; }
.mi-formularz .forminator-checkbox-label, .mi-formularz .forminator-consent__label { font-size: 14px !important; line-height: 1.5 !important; }
.mi-z-formularzem .mi-rama { margin-top: 26px; max-width: 420px; }

.mi-kontakt { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 10px 0; }
.mi-adres { background: var(--mi-biel); padding: 22px 24px; border-radius: var(--mi-r); border: 1px solid var(--mi-obwodka); }
.mi-adres h4 { font-family: var(--mi-font-tekst); font-size: 12.5px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--mi-akcent-ciemny); margin: 0 0 10px; }
.mi-adres ul { list-style: none; margin: 0; padding: 0; font-size: 16px; line-height: 1.6; }
.mi-adres ul > li { padding: 0; margin: 0 0 2px; }
.mi-adres ul > li::before { display: none; }

/* ===============================================================
   11. Stopka
   =============================================================== */
.mi-stopka {
	background: var(--mi-tlo2);
	font-size: 15.5px;
	line-height: 1.65;
}
body.mi-wariant-c .mi-stopka { background: var(--mi-biel); border-top: 1px solid var(--mi-obwodka); }
.mi-stopka__w {
	max-width: var(--mi-szerokosc);
	margin: 0 auto;
	padding: 72px 24px 40px;
	display: grid;
	grid-template-columns: 1.3fr 1fr 1fr 1fr;
	gap: 40px;
}
.mi-stopka h4 { font-family: var(--mi-font-tekst); font-size: 12.5px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--mi-akcent-ciemny); margin: 0 0 14px; }
.mi-stopka ul { list-style: none; margin: 0; padding: 0; }
.mi-stopka li { margin-bottom: 7px; }
.mi-stopka a { color: var(--mi-naglowek); }
.mi-stopka a:hover { color: var(--mi-cta); }
.mi-stopka .mi-logo img { height: 64px; margin-bottom: 16px; }
.mi-stopka p { max-width: 24em; color: var(--mi-tekst); }
.mi-stopka .mi-adres { background: transparent; border: 0; padding: 0; }
.mi-stopka__dol {
	max-width: var(--mi-szerokosc);
	margin: 0 auto;
	padding: 22px 24px 30px;
	border-top: 1px solid var(--mi-obwodka);
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px;
	font-size: 14px;
	color: var(--mi-tekst-jasny);
}

/* ===============================================================
   12. Pojawianie się przy przewijaniu (JS dodaje .mi-anim na body)
   =============================================================== */
body.mi-anim .mi-pokaz { opacity: 0; transform: translateY(22px); transition: opacity .7s ease, transform .7s ease; }
body.mi-anim .mi-pokaz.mi-widoczny { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
	body.mi-anim .mi-pokaz { opacity: 1; transform: none; transition: none; }
	html { scroll-behavior: auto; }
	.mi-wpis__foto img, .mi-przypadek__foto img { transition: none; }
}

/* ===============================================================
   13. Szerokości
   =============================================================== */
@media (max-width: 1440px) {
	.mi-nav ul { gap: 20px; }
	.mi-nav a { font-size: 14.5px; }
	body.mi-wariant-c .mi-nav ul { gap: 16px; }
	body.mi-wariant-c .mi-nav a { font-size: 12.5px; letter-spacing: .04em; }
}

/* pełne menu mieści się dopiero od ok. 1300 px - niżej przycisk MENU */
@media (max-width: 1300px) {
	.mi-nav, .mi-header__tel-duzy { display: none; }
	.mi-header button.mi-menu-przycisk { display: inline-flex; }
}

@media (max-width: 1180px) {
	.mi-nav, .mi-header__tel-duzy { display: none; }
	.mi-header button.mi-menu-przycisk { display: inline-flex; }
	.mi-wpisy, .mi-przypadki { grid-template-columns: repeat(2, 1fr); }
	.mi-stopka__w { grid-template-columns: 1fr 1fr; }
	.mi-glowa__fakty { grid-template-columns: repeat(2, 1fr); }
	.mi-glowa__fakty li:nth-child(3) { border-left: 0; }
	.mi-glowa__fakty li:nth-child(n+3) { border-top: 1px solid var(--mi-obwodka); }
	body.mi-wariant-b .mi-glowa__fakty li:nth-child(3) { padding-left: 0; }
	body.mi-wariant-c .mi-glowa__fakty li:nth-child(3) { padding-left: 0; }
	.mi-split > .e-con:first-child, .mi-czytanie > .e-con:first-child { position: static; }
	.mi-split > .e-con:last-child { border-left: 0; padding-left: 0 !important; }
	.mi-czytanie .mi-spis { display: none; }
	.mi-strona--waska .mi-tresc .mi-galeria--3 { margin-left: 0; margin-right: 0; }
	.mi-tresc .mi-foto { margin-right: 0; }
	.mi-tresc .mi-foto:nth-of-type(even) { margin-left: 0; }

	/* nagłówek b i c: jedna kolumna, zdjęcie nad tekstem */
	body.mi-wariant-b .mi-glowa { grid-template-columns: [pelna-start] 24px [tekst-start foto-start] minmax(0, 1fr) [tekst-end foto-end] 24px [pelna-end]; padding-top: 44px; }
	body.mi-wariant-b .mi-glowa__foto { grid-row: 1; max-width: 460px; width: 100%; justify-self: center; margin-bottom: 44px; }
	body.mi-wariant-b .mi-glowa__w { grid-row: 2; }
	body.mi-wariant-b .mi-glowa__dol { grid-row: 3; margin-top: 24px; }
	body.mi-wariant-c .mi-glowa { grid-template-columns: [pelna-start] 24px [tekst-start foto-start] minmax(0, 1fr) [tekst-end] 24px [pelna-end]; background: var(--mi-tlo2); }
	body.mi-wariant-c .mi-glowa__foto { grid-column: pelna; grid-row: 1; min-height: 0; aspect-ratio: 4 / 3.4; max-height: 72vh; }
	body.mi-wariant-c .mi-glowa__w { grid-row: 2; padding: 50px 0 56px; }
	body.mi-wariant-c .mi-glowa__dol { grid-row: 3; }
	body.mi-wariant-c .mi-glowa__fakty li:nth-child(odd) { padding-left: 0; }
	.mi-cta { grid-template-columns: minmax(0, 280px) minmax(0, 1fr); gap: 40px; padding: 44px; }
	.mi-naglowek-wpisu--foto .mi-naglowek-wpisu__w { gap: 40px; }
}

@media (max-width: 767px) {
	body, body.mi-wariant-c { font-size: 17px; }
	:root { --mi-naglowek-wys: 70px; }
	body.mi-przewiniete .mi-header__w { height: 64px; }
	.mi-pasek__w { justify-content: center; padding: 8px 20px; }
	.mi-pasek__lewo { display: none; }
	.mi-logo img, .mi-logo__svg svg, body.mi-przewiniete .mi-header .mi-logo__svg svg { height: 46px; }
	.mi-header__akcje .mi-btn { display: none; }
	.mi-lead, .mi-lead p, .mi-sekcja--wstep .mi-lead, .mi-sekcja--wstep .mi-lead p { font-size: 18px; }
	a.mi-btn, .mi-btn .elementor-button { padding: 16px 24px; }

	/* nagłówek a na telefonie: zdjęcie u góry, tekst pod nim */
	body.mi-wariant-a .mi-glowa { min-height: 0; }
	body.mi-wariant-a .mi-glowa__foto { position: relative; aspect-ratio: 4 / 3.3; }
	body.mi-wariant-a .mi-glowa__foto::after { background: linear-gradient(180deg, transparent 60%, var(--mi-tlo2) 100%); }
	body.mi-wariant-a .mi-glowa__w { padding: 10px 20px 44px; }
	body.mi-wariant-a .mi-glowa__dol { width: auto; margin: 0 16px; }
	.mi-glowa h1, body.mi-wariant-b .mi-glowa h1 { font-size: clamp(34px, 9vw, 44px); }
	.mi-glowa__nad { font-size: 11.5px; margin-bottom: 16px; }
	.mi-glowa__lead { font-size: 17px; }
	.mi-glowa__fakty li { padding: 18px 16px 20px; }
	.mi-glowa__fakty strong { font-size: 24px; }
	.mi-glowa__fakty span { font-size: 13px; }
	body.mi-wariant-b .mi-glowa__foto { max-width: 330px; }
	body.mi-wariant-b .mi-glowa__fakty li + li { padding-left: 16px; }

	.mi-rama::before { display: none; }
	body.mi-wariant-b .mi-rama--pion::before { display: block; inset: -12px 12px 12px -12px; }
	.mi-rama--pion img { aspect-ratio: 4 / 4.6; }
	.mi-wpisy, .mi-przypadki { grid-template-columns: 1fr; }
	.mi-stopka__w { grid-template-columns: 1fr; gap: 30px; padding-top: 56px; }
	.mi-cta { grid-template-columns: 1fr; gap: 28px; padding: 28px 22px 34px; }
	.mi-cta__foto { max-width: 240px; }
	.mi-cta--wpis { padding: 28px 22px; }
	.mi-formularz { padding: 26px 18px !important; }
	.mi-strona { padding: 40px 20px 70px; }
	.mi-tresc .mi-galeria--3 { grid-template-columns: repeat(2, 1fr); }
	.mi-tresc .mi-foto, .mi-tresc .mi-foto:nth-of-type(even) { float: none; width: 100%; margin: 26px 0; }
	.mi-tresc .mi-galeria { gap: 8px; }
	.mi-opinie { columns: 1; }
	.mi-opinia { padding: 28px 24px 22px; }
	.mi-kontakt { grid-template-columns: 1fr; }
	.mi-naglowek-wpisu--foto .mi-naglowek-wpisu__w { grid-template-columns: 1fr; gap: 30px; }
	.mi-naglowek-wpisu__w, .mi-naglowek-strony--proste .mi-naglowek-strony__w { padding: 36px 20px 40px; }
	.mi-artykul__w { padding: 40px 20px 20px; }
	.mi-nawigacja-przypadku { flex-wrap: wrap; justify-content: center; }
	.mi-nawigacja-przypadku__wszystkie { order: -1; width: 100%; text-align: center; }
	.mi-glowa-sekcji .mi-przyciski { justify-content: flex-start; }
}
