/* Mini Zoo Dino — arkusz motywu, szata v2 (2026-09-28, projekt „Strona glowna v2” z Claude Design).

   Kolory i fonty NIE są tu wpisane na sztywno: każda wartość idzie przez zmienne Kitu
   Elementora (Ustawienia witryny → Globalne kolory / Globalne fonty). Zmiana palety
   w panelu przebarwia więc nagłówek, stopkę i drobiazgi z tego pliku razem z treścią.
   Heksy po przecinku to tylko zapas na wypadek braku Kitu (np. strona 404 bez Elementora).

   Treść stron stylują ustawienia widgetów. Tu są wyłącznie: nagłówek, stopka, pasek
   mobilny oraz kilka klas nadawanych w Elementorze (Zaawansowane → Klasy CSS):
   mzd-karta, mzd-kafel, mzd-lapy, mzd-faq, mzd-pigulka, mzd-status, mzd-link, mzd-mapa. */

:root {
	--mzd-ziel:   var(--e-global-color-primary, #22382A);
	--mzd-zloto:  var(--e-global-color-secondary, #E3A72F);
	--mzd-atr:    var(--e-global-color-text, #1B2A20);
	--mzd-terak:  var(--e-global-color-accent, #A64F2C);
	--mzd-ziel2:  var(--e-global-color-mzdziel2, #2E4A37);
	--mzd-zloh:   var(--e-global-color-mzdzloh, #F0BA4C);
	--mzd-krem:   var(--e-global-color-mzdkrem, #F7F1E3);
	--mzd-kremj:  var(--e-global-color-mzdkremj, #FFFCF5);
	--mzd-szary:  var(--e-global-color-mzdszary, #4E5B50);
	--mzd-kres:   var(--e-global-color-mzdkres, #E2D8C3);
	--mzd-pias:   var(--e-global-color-mzdpias, #F3E3BD);
	--mzd-jasny:  var(--e-global-color-mzdjasny, #CBD3C5);
	--mzd-braz:   var(--e-global-color-mzdbraz, #7A5410);
	--mzd-smol:   var(--e-global-color-mzdsmol, #1B2A20);
	--mzd-font-n: var(--e-global-typography-primary-font-family, 'Rubik'), 'Rubik', system-ui, sans-serif;
	--mzd-font-t: var(--e-global-typography-text-font-family, 'Atkinson Hyperlegible'), 'Atkinson Hyperlegible', system-ui, sans-serif;
	--mzd-nagl-h: 116px;
}

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body {
	background: var(--mzd-krem);
	color: var(--mzd-atr);
	font-family: var(--mzd-font-t);
	-webkit-font-smoothing: antialiased;
}
[id] { scroll-margin-top: calc(var(--mzd-nagl-h) + 12px); }
:focus-visible { outline: 3px solid var(--mzd-zloto); outline-offset: 3px; border-radius: 6px; }
.elementor a { text-decoration: none; }

/* ── nagłówek ─────────────────────────────────────────────────────────────── */
.site-header.mzd-naglowek {
	display: block;
	position: sticky;
	top: 0;
	z-index: 50;
	max-width: none;
	width: 100%;
	padding: 0;
	background: color-mix(in srgb, var(--mzd-krem) 96%, transparent);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	border-bottom: 1px solid var(--mzd-kres);
}
.admin-bar .site-header.mzd-naglowek { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header.mzd-naglowek { top: 0; } }

.mzd-pasek-info { background: var(--mzd-ziel); color: #E9E3D2; font-size: 15px; }
.mzd-pasek-info-in {
	max-width: 1280px; margin: 0 auto; padding: 8px 32px;
	display: flex; align-items: center; justify-content: space-between; gap: 20px;
}
.mzd-status-tekst { display: inline-flex; align-items: center; gap: 10px; font-weight: 700; }
.mzd-status-tekst::before,
.mzd-status .elementor-heading-title::before {
	content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--mzd-zloto); flex: none;
}
.mzd-otwarte .mzd-status-tekst::before,
.mzd-otwarte .mzd-status .elementor-heading-title::before { background: #5FBF73; }
.mzd-pasek-info-prawa { display: flex; align-items: center; gap: 22px; }
.mzd-naglowek .mzd-pasek-info a { color: #E9E3D2; }
.mzd-naglowek .mzd-pasek-info a:hover { color: var(--mzd-zloto); }
.mzd-naglowek .mzd-pasek-info .mzd-pasek-tel { color: var(--mzd-zloto); font-weight: 700; }

.site-header .header-inner.mzd-naglowek-in {
	max-width: 1280px; width: 100%; margin: 0 auto; padding: 12px 20px;
	display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; gap: 16px;
}
.mzd-naglowek .site-branding { display: flex; padding: 0; }

/* Menu desktopowe */
.mzd-naglowek .site-navigation { display: flex; }
.mzd-naglowek .site-navigation ul.menu { display: flex; align-items: center; gap: 2px; margin: 0; padding: 0; list-style: none; }
.mzd-naglowek .site-navigation ul.menu > li { position: relative; }
.mzd-naglowek .site-navigation ul.menu > li > a {
	display: block; padding: 12px 12px; border-radius: 10px;
	font-family: var(--mzd-font-n); font-weight: 500; font-size: 15.5px; color: var(--mzd-atr);
	transition: background .15s;
}
.mzd-naglowek .site-navigation ul.menu > li > a:hover,
.mzd-naglowek .site-navigation ul.menu > li.current-menu-item > a,
.mzd-naglowek .site-navigation ul.menu > li.current-menu-ancestor > a { background: #EDE4CF; color: var(--mzd-atr); }
.mzd-naglowek .site-navigation ul.menu > li.current-menu-item > a { font-weight: 700; }
.mzd-naglowek .site-navigation ul.sub-menu {
	position: absolute; top: 100%; left: 0; min-width: 240px; margin: 6px 0 0; padding: 8px; list-style: none;
	background: var(--mzd-kremj); border: 1px solid var(--mzd-kres); border-radius: 16px;
	box-shadow: 0 24px 40px -26px rgba(34,56,42,0.6);
	opacity: 0; visibility: hidden; transform: translateY(-4px); transition: opacity .15s, transform .15s, visibility .15s;
}
.mzd-naglowek .site-navigation li:hover > ul.sub-menu,
.mzd-naglowek .site-navigation li:focus-within > ul.sub-menu { opacity: 1; visibility: visible; transform: none; }
.mzd-naglowek .site-navigation ul.sub-menu a {
	display: block; padding: 10px 12px; border-radius: 10px;
	font-family: var(--mzd-font-n); font-weight: 500; font-size: 15px; color: var(--mzd-atr); background: none;
}
.mzd-naglowek .site-navigation ul.sub-menu a:hover { background: #EDE4CF; }
/* Mostek nad podmenu: szczelina 6 px (margin) nie gubi :hover przy zjeżdżaniu myszą. */
.mzd-naglowek .site-navigation ul.sub-menu::before {
	content: ""; position: absolute; left: 0; right: 0; top: -12px; height: 12px;
}
/* Chowanie z opóźnieniem 200 ms — ruch po skosie nie zamyka panelu. */
.mzd-naglowek .site-navigation ul.sub-menu { transition: opacity .15s .2s, transform .15s .2s, visibility 0s .35s; }
.mzd-naglowek .site-navigation li:hover > ul.sub-menu,
.mzd-naglowek .site-navigation li:focus-within > ul.sub-menu { transition-delay: 0s; }

.mzd-naglowek-akcje { display: flex; align-items: center; gap: 10px; }
.mzd-naglowek .mzd-przycisk-zadzwon {
	display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 22px;
	background: var(--mzd-zloto); color: var(--mzd-atr); border-radius: 999px;
	font-family: var(--mzd-font-n); font-weight: 700; font-size: 16px; transition: transform .15s, background .15s;
}
.mzd-naglowek .mzd-przycisk-zadzwon:hover { background: var(--mzd-zloh); color: var(--mzd-atr); transform: translateY(-2px); }

/* Hamburger i menu rozwijane (obsługa: hello-frontend.js). */
.mzd-naglowek .site-navigation-toggle-holder { display: none; padding: 0; }
.mzd-naglowek .site-navigation-toggle-holder .site-navigation-toggle {
	width: 48px; height: 48px; padding: 0; border-radius: 12px; border: 1.5px solid #D5C9AE;
	background: var(--mzd-kremj); color: var(--mzd-atr); display: grid; place-items: center;
}
.mzd-naglowek .site-navigation-toggle-holder .site-navigation-toggle-icon { width: 22px; }
.mzd-naglowek .site-navigation-dropdown {
	position: absolute; top: 100%; left: 0; right: 0; bottom: auto; width: auto; margin: 0; z-index: 60;
	background: var(--mzd-kremj); border-top: 1px solid var(--mzd-kres); overflow: auto; max-height: calc(100vh - 80px);
	box-shadow: 0 30px 40px -30px rgba(27,42,32,0.5);
}
.mzd-naglowek .site-navigation-toggle-holder:not(.elementor-active) + .site-navigation-dropdown { max-height: 0; transform: scaleY(0); }
.mzd-naglowek .site-navigation-toggle-holder.elementor-active + .site-navigation-dropdown { max-height: calc(100vh - 80px); transform: scaleY(1); }
.mzd-naglowek .site-navigation-dropdown ul.menu { position: static; background: none; padding: 8px 20px 18px; margin: 0; list-style: none; }
.mzd-naglowek .site-navigation-dropdown ul.menu li a {
	display: flex; align-items: center; min-height: 52px; padding: 0 8px; background: none; box-shadow: none;
	border-bottom: 1px solid #EFE7D6; color: var(--mzd-atr);
	font-family: var(--mzd-font-n); font-weight: 500; font-size: 18px;
}
.mzd-naglowek .site-navigation-dropdown ul.menu li.current-menu-item > a { background: none; color: var(--mzd-terak); font-weight: 700; }
/* Podmenu w menu mobilnym zawsze rozwinięte — dwa linki, szkoda tapnięcia. */
.mzd-naglowek .site-navigation-dropdown ul.menu > li li { max-height: none; transform: none; }
.mzd-naglowek .site-navigation-dropdown ul.sub-menu { position: static; list-style: none; margin: 0; padding: 0 0 0 16px; background: none; }
.mzd-naglowek .site-navigation-dropdown ul.sub-menu a { font-size: 16.5px; min-height: 46px; }

@media (max-width: 1179px) {
	.mzd-pasek-info { display: none; }
	.mzd-naglowek .site-navigation { display: none; }
	.mzd-naglowek .site-navigation-toggle-holder { display: flex; }
	:root { --mzd-nagl-h: 80px; }
}
@media (min-width: 1180px) {
	.mzd-naglowek .site-navigation-dropdown { display: none; }
}

/* ── logo (lockup v2) ─────────────────────────────────────────────────────── */
.mzd-logo, .mzd-logo:hover { white-space: nowrap; }
.mzd-logo { display: inline-flex; flex-direction: column; line-height: 1; color: var(--mzd-ziel); padding: 4px 0; }
.mzd-logo-gora { font-family: var(--mzd-font-n); font-weight: 600; font-size: 10px; letter-spacing: 0.3em; color: var(--mzd-szary); }
.mzd-logo-srodek { display: flex; align-items: center; gap: 2px; margin-top: 3px; }
.mzd-logo-din { font-family: var(--mzd-font-n); font-weight: 800; font-size: 31px; letter-spacing: -0.04em; color: var(--mzd-ziel); }
.mzd-znak { width: 28px; height: 28px; display: block; flex: none; }
.mzd-znak-kolo { fill: var(--mzd-zloto); }
.mzd-znak-kreska { stroke: var(--mzd-ziel); }
.mzd-znak-oko { fill: var(--mzd-ziel); }
.mzd-logo-dol { font-family: var(--mzd-font-n); font-weight: 600; font-size: 9px; letter-spacing: 0.17em; color: #7A6A45; margin-top: 5px; }
.mzd-logo:hover .mzd-logo-din { color: var(--mzd-terak); }
.mzd-logo--stopka { margin-bottom: 18px; }
.mzd-logo--stopka .mzd-logo-gora, .mzd-logo--stopka .mzd-logo-dol { color: #8C9A86; }
.mzd-logo--stopka .mzd-logo-din { color: var(--mzd-kremj); font-size: 33px; }
.mzd-logo--stopka .mzd-znak { width: 30px; height: 30px; }
.mzd-logo--stopka .mzd-znak-kreska { stroke: var(--mzd-smol); }
.mzd-logo--stopka .mzd-znak-oko { fill: var(--mzd-smol); }
.mzd-logo--stopka:hover .mzd-logo-din { color: var(--mzd-zloto); }

/* ── stopka ───────────────────────────────────────────────────────────────── */
.site-footer.mzd-stopka {
	max-width: none; width: 100%; margin: 0; padding: 0; position: relative;
	background: var(--mzd-smol); color: #C4CCBE; font-family: var(--mzd-font-t);
}
/* Fala: krzywa w kolorze stopki na tle koloru sekcji nad nią. Ostatnia sekcja stron
   Elementora jest zielona (CTA), bez Elementora (404, wyszukiwarka) tło jest kremowe. */
.mzd-fala { display: block; width: 100%; height: 56px; color: var(--mzd-smol); background: var(--mzd-krem); }
.elementor-page .mzd-fala, .single-post .mzd-fala { background: var(--mzd-ziel); }
.mzd-stopka-inner {
	max-width: 1280px; margin: 0 auto; padding: 48px 20px 32px;
	display: grid; grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); gap: 36px;
}
.mzd-stopka-nazwa { margin: 0 0 4px; font-weight: 700; color: var(--mzd-kremj); font-size: 16px; }
.mzd-stopka-adres { margin: 0; font-size: 16px; line-height: 1.6; font-style: normal; }
.mzd-stopka-tytul {
	font-family: var(--mzd-font-n); font-weight: 700; font-size: 15px; letter-spacing: 0.1em;
	text-transform: uppercase; color: var(--mzd-zloto); margin: 0 0 14px;
}
.mzd-stopka-lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; font-size: 16px; }
.mzd-stopka .mzd-stopka-lista a { color: var(--mzd-kremj); min-height: 32px; display: inline-flex; align-items: center; }
.mzd-stopka nav .mzd-stopka-lista a { color: #C4CCBE; }
.mzd-stopka .mzd-stopka-lista a:hover { color: var(--mzd-zloto); }
.mzd-stopka-opis { display: block; font-size: 14px; color: #9BA893; }
.mzd-stopka-godziny li { line-height: 1.45; }
.mzd-stopka-godziny strong { color: var(--mzd-kremj); font-weight: 700; }
.mzd-stopka-dol { border-top: 1px solid #2C3D31; }
.mzd-stopka-dol p { max-width: 1280px; margin: 0 auto; padding: 18px 20px; font-size: 14.5px; color: #8C9A86; }

/* Dolny pasek mobilny: Zadzwoń / Dojazd */
.mzd-pasek-mobilny { display: none; }
@media (max-width: 719px) {
	body { padding-bottom: 80px; }
	.mzd-pasek-mobilny {
		display: grid; grid-template-columns: 1fr 1fr; gap: 10px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
		background: var(--mzd-kremj); border-top: 1px solid var(--mzd-kres);
		padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); box-shadow: 0 -10px 30px -20px rgba(27,42,32,0.5);
	}
	.mzd-pasek-mobilny a {
		display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 54px; border-radius: 16px;
		font-family: var(--mzd-font-n); font-weight: 700; font-size: 17px;
	}
	.mzd-pasek-mobilny .mzd-pm-tel { background: var(--mzd-zloto); color: var(--mzd-atr); }
	.mzd-pasek-mobilny .mzd-pm-mapa { background: var(--mzd-ziel); color: var(--mzd-kremj); }
	.mzd-pm-pin { fill: var(--mzd-zloto); }
	.mzd-pm-oko { fill: var(--mzd-ziel); }
	.mzd-pasek-mobilny .mzd-pm-tel:hover { color: var(--mzd-atr); } .mzd-pasek-mobilny .mzd-pm-mapa:hover { color: var(--mzd-kremj); }
	.mzd-fala { height: 36px; }
}

/* ── klasy dla treści (nadawane w Elementorze) ────────────────────────────── */

/* Karty: delikatne uniesienie przy najechaniu (tylko karty-linki). */
a.mzd-karta, a.mzd-kafel, .mzd-karta, .mzd-kafel { transition: transform .2s ease, box-shadow .2s ease; }
a.mzd-karta:hover { transform: translateY(-5px); box-shadow: 0 24px 40px -26px rgba(34,56,42,0.6); }
a.mzd-kafel:hover { transform: scale(1.01); }
.mzd-karta--unies:hover { transform: translateY(-4px); }
@media (prefers-reduced-motion: reduce) { a.mzd-karta:hover, a.mzd-kafel:hover, .mzd-karta--unies:hover { transform: none; } }

/* Zdjęcia w kartach wypełniają szerokość karty. */
.mzd-karta .elementor-widget-image img { width: 100%; object-fit: cover; }
.mzd-karta--foto .elementor-widget-image { margin: -18px -18px 4px; width: calc(100% + 36px); }

/* Wzór śladów dinozaura i liści na ciemnych sekcjach. */
.mzd-lapy { position: relative; }
.mzd-lapy::before {
	content: ""; position: absolute; inset: 0; pointer-events: none; opacity: 0.07; z-index: 0;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cg fill='%23E3A72F' transform='translate(24,20) scale(0.34)'%3E%3Cpath d='M50 56 C41 56 36 64 38 72 C40 81 60 81 62 72 C64 64 59 56 50 56 Z'/%3E%3Cpath d='M50 52 C46 38 47 22 50 8 C53 22 54 38 50 52 Z'/%3E%3Cpath d='M50 52 C46 38 47 22 50 8 C53 22 54 38 50 52 Z' transform='rotate(-34 50 58)'/%3E%3Cpath d='M50 52 C46 38 47 22 50 8 C53 22 54 38 50 52 Z' transform='rotate(34 50 58)'/%3E%3C/g%3E%3Cg fill='%23E3A72F' transform='translate(120,118) rotate(18) scale(0.34)'%3E%3Cpath d='M50 56 C41 56 36 64 38 72 C40 81 60 81 62 72 C64 64 59 56 50 56 Z'/%3E%3Cpath d='M50 52 C46 38 47 22 50 8 C53 22 54 38 50 52 Z'/%3E%3Cpath d='M50 52 C46 38 47 22 50 8 C53 22 54 38 50 52 Z' transform='rotate(-34 50 58)'/%3E%3Cpath d='M50 52 C46 38 47 22 50 8 C53 22 54 38 50 52 Z' transform='rotate(34 50 58)'/%3E%3C/g%3E%3Cpath d='M160 70 C160 50 176 32 200 30 C199 54 182 70 160 70 Z' fill='%23E9E3D2'/%3E%3Cpath d='M34 200 C34 182 48 166 70 164 C69 186 54 200 34 200 Z' fill='%23E9E3D2'/%3E%3C/svg%3E");
}
.mzd-lapy > .e-con, .mzd-lapy > .e-con-inner { position: relative; z-index: 1; }

/* Pigułka nad H1 i plakietki: szerokość do treści. */
.mzd-pigulka, .mzd-plakietka { width: auto !important; max-width: 100%; align-self: flex-start; }
.mzd-pigulka .elementor-heading-title { display: inline-flex; align-items: center; gap: 10px; }
.mzd-status .elementor-heading-title::before { width: 10px; height: 10px; }

/* Link tekstowy „Sprawdź cennik →” (widget Przycisk bez tła). */
.mzd-link .elementor-button { padding-left: 0; padding-right: 0; border-radius: 0; }

/* Numer kroku na osi czasu. */
.mzd-krok-nr { width: 44px !important; height: 44px; flex: none; border-radius: 50%; display: grid; place-items: center; }
.mzd-krok-nr .elementor-heading-title { line-height: 44px; text-align: center; }
.mzd-krok:not(:last-child) .mzd-krok-os::after {
	content: ""; flex: 1; width: 2px; min-height: 22px; background: color-mix(in srgb, var(--mzd-zloto) 35%, transparent);
}

/* FAQ (Zagnieżdżony akordeon) */
.mzd-faq .e-n-accordion { display: grid; gap: 10px; }
/* Ramka jako cień wewnętrzny, nie border: Elementor animuje wysokość do title+content
   bez bordera, więc z borderem 1 px każdy klik kurczył WSZYSTKIE pytania o 2 px i na końcu odskakiwały. */
.mzd-faq .e-n-accordion-item {
	background: var(--mzd-kremj); border: 0; box-shadow: inset 0 0 0 1px var(--mzd-kres); border-radius: 18px; overflow: hidden;
}
.mzd-faq .e-n-accordion-item[open] { box-shadow: inset 0 0 0 1px var(--mzd-zloto); }
.mzd-faq .e-n-accordion-item-title {
	min-height: 60px; padding: 14px 20px; border: 0; background: none; gap: 16px; cursor: pointer;
	justify-content: space-between;
	/* Bez tego w trakcie animacji (details ma sztywną wysokość) flex ściska tytuł do min-height,
	   Elementor mierzy go wtedy na 60 zamiast 75 px i na telefonie odpowiedź na końcu skacze. */
	flex-shrink: 0;
}
.mzd-faq .e-n-accordion-item-title-text {
	font-family: var(--mzd-font-n); font-weight: 700; font-size: 18px; line-height: 1.3; color: var(--mzd-atr);
}
.mzd-faq .e-n-accordion-item-title-icon {
	flex: none; width: 32px; height: 32px; border-radius: 50%; background: var(--mzd-pias);
	display: grid; place-items: center; color: var(--mzd-atr); order: 2;
}
.mzd-faq .e-n-accordion-item[open] .e-n-accordion-item-title-icon { background: var(--mzd-zloto); }
.mzd-faq .e-n-accordion-item-title-icon svg { width: 14px; height: 14px; fill: currentColor; }
.mzd-faq .e-n-accordion-item > .e-con { padding: 0 20px 20px; border: 0; background: none; }

/* Mapa Google: zaokrąglenie przycina iframe. */
.mzd-mapa .elementor-custom-embed { border-radius: 28px; overflow: hidden; border: 1px solid var(--mzd-kres); }

/* Linki w akapitach: kolor akapitu + złote podkreślenie. */
.elementor-widget-text-editor a {
	color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px;
	text-decoration-color: color-mix(in srgb, var(--mzd-zloto) 70%, transparent);
}
.elementor-widget-text-editor a:hover { color: var(--mzd-terak); text-decoration-color: currentColor; }
.elementor-widget-text-editor ul { margin: 0; padding-left: 20px; }
.elementor-widget-text-editor p:last-child { margin-bottom: 0; }

/* ── Aktualności: karty z shortcode [mzd_aktualnosci], wygląd kart v2 ─────── */
.mzd-akt-widget.mzd-akt-widget.elementor-widget { width: 100%; align-self: stretch; }
.mzd-akt { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: 20px; width: 100%; }
.mzd-akt .mzd-akt__karta {
	position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; margin: 0;
	padding: 0 0 26px; background: var(--mzd-kremj); border: 1px solid var(--mzd-kres); border-radius: 26px; overflow: hidden;
	transition: transform .2s ease;
}
.mzd-akt .mzd-akt__karta:hover { transform: translateY(-4px); }
.mzd-akt .mzd-akt__karta:focus-within { outline: 3px solid var(--mzd-zloto); outline-offset: 3px; }
.mzd-akt .mzd-akt__karta > :not(.mzd-akt__foto) { margin-left: 24px; margin-right: 24px; }
.mzd-akt .mzd-akt__foto { width: 100%; aspect-ratio: 760 / 480; margin: 0 0 12px; overflow: hidden; }
.mzd-akt .mzd-akt__foto img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; border-radius: 0; }
.mzd-akt .mzd-akt__plakietka {
	display: inline-block; padding: 4px 11px; border-radius: 999px; background: var(--mzd-pias); color: #6B4A0E;
	font-family: var(--mzd-font-n); font-weight: 600; font-size: 14px; line-height: 1.3;
}
.mzd-akt .mzd-akt__tytul {
	margin: 0; color: var(--mzd-atr); font-family: var(--mzd-font-n); font-weight: 700;
	font-size: 21px; line-height: 1.25; letter-spacing: -0.01em;
}
.mzd-akt .mzd-akt__tytul a { color: inherit; text-decoration: none; }
.mzd-akt .mzd-akt__tytul a::after { content: ""; position: absolute; inset: 0; border-radius: 26px; }
.mzd-akt .mzd-akt__tytul a:focus-visible { outline: none; }
.mzd-akt .mzd-akt__zajawka { margin: 0; color: var(--mzd-szary); font-size: 16.5px; line-height: 1.55; flex: 1; }
.mzd-akt .mzd-akt__data { color: var(--mzd-szary); font-size: 14.5px; }
.mzd-akt .mzd-akt__dalej { font-family: var(--mzd-font-n); font-weight: 700; font-size: 16.5px; color: var(--mzd-terak); }
.mzd-akt__pusto { margin: 0; color: var(--mzd-szary); }
@media (prefers-reduced-motion: reduce) { .mzd-akt .mzd-akt__karta { transition: none; } .mzd-akt .mzd-akt__karta:hover { transform: none; } }

/* Chipy „W programie” (Lista ikon, układ w linii). */
.mzd-chipy .elementor-icon-list-items.elementor-inline-items { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
.mzd-chipy .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item {
	margin: 0; padding: 8px 14px; border-radius: 999px;
	background: rgba(255,252,245,0.1); border: 1px solid rgba(255,252,245,0.2);
}
.mzd-chipy .elementor-inline-items .elementor-icon-list-item::after { display: none; }
/* Fala stopki na stronie kończącej się kremową sekcją (strona główna — kontakt). */
body:has(.mzd-koniec-krem) .mzd-fala { background: var(--mzd-krem); }
.mzd-karta-cta { margin-top: auto; }
.mzd-gwiazdki .elementor-heading-title { letter-spacing: 0.15em; }
/* Kit Elementora farbuje wszystkie h2 na atrament (= tło stopki) — tytuły kolumn muszą wygrać. */
.mzd-stopka .mzd-stopka-tytul { color: var(--mzd-zloto); font-family: var(--mzd-font-n); font-size: 15px; line-height: 1.3; }
.mzd-fala { margin-bottom: -1px; }
/* Strzałka podmenu (hello-elementor) — mniejsza i w kolorze tekstu. */
.mzd-naglowek .site-navigation ul.menu li.menu-item-has-children::after { font-size: 12px; color: var(--mzd-szary); margin-left: -6px; }
/* Strzałka W ŚRODKU podświetlenia (aktywne/hover), z tym samym odstępem z prawej co reszta menu. */
.mzd-naglowek .site-navigation ul.menu > li.menu-item-has-children { padding-inline-end: 0; }
.mzd-naglowek .site-navigation ul.menu > li.menu-item-has-children > a { padding-right: 28px; }
.mzd-naglowek .site-navigation ul.menu > li.menu-item-has-children::after {
	position: absolute; top: 0; bottom: 0; right: 12px; margin-left: 0; pointer-events: none;
}
/* Podpisy galerii: lewo, bez kursywy (wzór v2). */
.elementor-widget-image .widget-image-caption { text-align: left; font-style: normal; margin-top: 8px; }
/* Lead w hero: czytelny na każdym zdjęciu (zdjęcia gospodarstwa bywają jasne). */
.mzd-hero .elementor-widget-text-editor { text-shadow: 0 1px 14px rgba(15,25,18,0.55); }
.mzd-hero .mzd-wstecz a { color: var(--mzd-zloto); text-decoration: none; }
/* Kafel bez zdjęcia (np. przejażdżka ciągnikiem, dopóki nie ma prawdziwego zdjęcia) — wzór śladów zamiast obrazu. */
.mzd-kafel--bez-foto { position: relative; }
.mzd-kafel--bez-foto::before {
	content: ""; position: absolute; inset: 0; pointer-events: none; opacity: 0.09;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cg fill='%23E3A72F' transform='translate(20,16) scale(0.3)'%3E%3Cpath d='M50 56 C41 56 36 64 38 72 C40 81 60 81 62 72 C64 64 59 56 50 56 Z'/%3E%3Cpath d='M50 52 C46 38 47 22 50 8 C53 22 54 38 50 52 Z'/%3E%3Cpath d='M50 52 C46 38 47 22 50 8 C53 22 54 38 50 52 Z' transform='rotate(-34 50 58)'/%3E%3Cpath d='M50 52 C46 38 47 22 50 8 C53 22 54 38 50 52 Z' transform='rotate(34 50 58)'/%3E%3C/g%3E%3C/svg%3E");
}
.mzd-kafel--bez-foto > * { position: relative; }

/* Facebook i Instagram (2026-09-29): ikony w pasku informacyjnym (desktop) i blok „Śledź nas” w stopce */
.mzd-pasek-social { display: inline-flex; align-items: center; gap: 12px; padding-right: 20px; border-right: 1px solid rgba(233,227,210,0.25); }
.mzd-naglowek .mzd-pasek-info .mzd-pasek-social a { display: inline-flex; width: 26px; height: 26px; align-items: center; justify-content: center; }
.mzd-stopka-social-tytul {
	font-family: var(--mzd-font-n); font-weight: 700; font-size: 15px; letter-spacing: 0.1em;
	text-transform: uppercase; color: var(--mzd-zloto); margin: 22px 0 10px;
}
.mzd-stopka-social { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; }
.mzd-stopka .mzd-stopka-social a {
	display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; border-radius: 999px;
	border: 1px solid #3A4D40; color: var(--mzd-kremj); font-weight: 700; font-size: 15px; text-decoration: none;
}
.mzd-stopka .mzd-stopka-social a:hover { border-color: var(--mzd-zloto); color: var(--mzd-zloto); }
.mzd-stopka-social-agro { margin: 10px 0 0; font-size: 14px; }
.mzd-stopka .mzd-stopka-social-agro a { color: #9BA893; min-height: 32px; display: inline-flex; align-items: center; }
.mzd-stopka .mzd-stopka-social-agro a:hover { color: var(--mzd-zloto); }

/* ===== Galerie z podglądem (lightbox), 2026-10-01 — kafle .mzd-galeria + okno .mzd-lb (minizoo.js, inc/galeria.php) ===== */
.mzd-galeria .mzd-galeria__kafel { cursor: zoom-in; }
.mzd-galeria .mzd-galeria__kafel figure { position: relative; }
.mzd-galeria .mzd-galeria__kafel img { transition: transform .35s ease, box-shadow .35s ease, filter .35s ease; }
.mzd-galeria .mzd-galeria__kafel:hover img,
.mzd-galeria .mzd-galeria__kafel:focus-visible img { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(27,42,32,.22); filter: saturate(1.08) brightness(1.03); }
.mzd-galeria .mzd-galeria__kafel figure::after {
	content: ""; position: absolute; top: 12px; right: 12px; width: 42px; height: 42px; border-radius: 999px;
	background: var(--mzd-kremj) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231B2A20' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6'/%3E%3Cpath d='M15 15l5 5M10.5 8v5M8 10.5h5'/%3E%3C/svg%3E") center / 22px no-repeat;
	box-shadow: 0 4px 14px rgba(27,42,32,.25); opacity: 0; transform: scale(.8); transition: opacity .25s ease, transform .25s ease; pointer-events: none;
}
.mzd-galeria .mzd-galeria__kafel:hover figure::after,
.mzd-galeria .mzd-galeria__kafel:focus-visible figure::after { opacity: 1; transform: translateY(-4px) scale(1); }
.mzd-galeria .mzd-galeria__kafel:focus-visible { outline: 3px solid var(--mzd-zloto); outline-offset: 4px; border-radius: 22px; }
@media (hover: none) { .mzd-galeria .mzd-galeria__kafel figure::after { opacity: .92; transform: none; width: 36px; height: 36px; background-size: 19px; } }

html.mzd-lb-otwarty, html.mzd-lb-otwarty body { overflow: hidden; }
.mzd-lb { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 24px; opacity: 0; transition: opacity .25s ease; }
.mzd-lb[hidden] { display: none; }
.mzd-lb.mzd-lb--widoczny { opacity: 1; }
.mzd-lb .mzd-lb__tlo { position: absolute; inset: 0; background: rgba(27,42,32,.86); -webkit-backdrop-filter: blur(10px) saturate(120%); backdrop-filter: blur(10px) saturate(120%); }
.mzd-lb .mzd-lb__okno {
	position: relative; width: min(1100px, 100%); max-height: calc(100vh - 48px); display: flex; flex-direction: column;
	background: var(--mzd-kremj); border-radius: 26px; overflow: hidden; box-shadow: 0 30px 80px rgba(0,0,0,.45);
	transform: translateY(14px) scale(.985); transition: transform .3s cubic-bezier(.2,.8,.2,1);
}
.mzd-lb.mzd-lb--widoczny .mzd-lb__okno { transform: none; }
.mzd-lb .mzd-lb__okno:focus { outline: none; }
.mzd-lb .mzd-lb__scena { position: relative; background: var(--mzd-smol); height: min(66vh, 720px); display: flex; align-items: center; justify-content: center; touch-action: pan-y; user-select: none; }
.mzd-lb .mzd-lb__img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; cursor: pointer; transition: opacity .25s ease; border-radius: 0; box-shadow: none; }
.mzd-lb .mzd-lb__img.mzd-lb__img--laduje { opacity: 0; }

.mzd-lb .mzd-lb__strz, .mzd-lb .mzd-lb__zamknij {
	position: absolute; display: flex; align-items: center; justify-content: center; margin: 0; padding: 0; border: 0;
	border-radius: 999px; cursor: pointer; font: inherit; line-height: 1; box-shadow: 0 6px 18px rgba(0,0,0,.3);
	transition: background-color .2s ease, transform .2s ease;
}
.mzd-lb .mzd-lb__strz { top: 50%; width: 54px; height: 54px; margin-top: -27px; background: var(--mzd-zloto); color: var(--mzd-smol); }
.mzd-lb .mzd-lb__strz--l { left: 18px; }
.mzd-lb .mzd-lb__strz--p { right: 18px; }
.mzd-lb .mzd-lb__strz:hover, .mzd-lb .mzd-lb__strz:focus-visible { background: var(--mzd-zloh); color: var(--mzd-smol); transform: scale(1.08); }
.mzd-lb .mzd-lb__zamknij { top: 16px; right: 16px; width: 46px; height: 46px; background: var(--mzd-kremj); color: var(--mzd-smol); }
.mzd-lb .mzd-lb__zamknij:hover, .mzd-lb .mzd-lb__zamknij:focus-visible { background: #fff; color: var(--mzd-smol); transform: rotate(90deg); }
.mzd-lb .mzd-lb__strz svg { width: 26px; height: 26px; }
.mzd-lb .mzd-lb__zamknij svg { width: 22px; height: 22px; }
.mzd-lb .mzd-lb__strz[hidden], .mzd-lb .mzd-lb__miniatury[hidden] { display: none; }
.mzd-lb button:focus-visible { outline: 3px solid var(--mzd-kremj); outline-offset: 3px; }

.mzd-lb .mzd-lb__opis { padding: 20px 28px 8px; }
.mzd-lb .mzd-lb__licznik { margin: 0 0 6px; font-family: var(--mzd-font-n); font-weight: 700; font-size: 12.5px; letter-spacing: .09em; text-transform: uppercase; color: var(--mzd-braz); }
.mzd-lb .mzd-lb__tytul { margin: 0; font-family: var(--mzd-font-n); font-weight: 800; font-size: 26px; line-height: 1.15; color: var(--mzd-atr); }
.mzd-lb .mzd-lb__tekst { margin: 8px 0 0; max-width: 70ch; font-family: var(--mzd-font-t); font-size: 17px; line-height: 1.55; color: var(--mzd-szary); }
.mzd-lb .mzd-lb__tekst[hidden] { display: none; }

.mzd-lb .mzd-lb__miniatury { display: flex; gap: 10px; padding: 14px 28px 22px; overflow-x: auto; scrollbar-width: thin; }
.mzd-lb .mzd-lb__mini {
	flex: 0 0 auto; width: 76px; height: 56px; margin: 0; padding: 0; border: 0; border-radius: 12px; overflow: hidden; cursor: pointer;
	background: var(--mzd-kres); opacity: .55; outline: 3px solid transparent; outline-offset: 2px; transition: opacity .2s ease, outline-color .2s ease;
}
.mzd-lb .mzd-lb__mini img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 0; }
.mzd-lb .mzd-lb__mini:hover { opacity: .85; background: var(--mzd-kres); }
.mzd-lb .mzd-lb__mini.mzd-lb__mini--akt { opacity: 1; outline-color: var(--mzd-zloto); }
.mzd-lb .mzd-lb__mini:focus-visible { outline-color: var(--mzd-atr); opacity: 1; }

@media (max-width: 767px) {
	.mzd-lb { padding: 10px; }
	.mzd-lb .mzd-lb__okno { border-radius: 20px; max-height: calc(100vh - 20px); }
	/* Na telefonie scena ma wysokość zdjęcia — bez ciemnych pasów nad i pod poziomym kadrem. */
	.mzd-lb .mzd-lb__scena { height: auto; min-height: 240px; }
	.mzd-lb .mzd-lb__img { max-height: 56vh; }
	.mzd-lb .mzd-lb__strz { width: 42px; height: 42px; margin-top: -21px; }
	.mzd-lb .mzd-lb__strz--l { left: 10px; }
	.mzd-lb .mzd-lb__strz--p { right: 10px; }
	.mzd-lb .mzd-lb__strz svg { width: 22px; height: 22px; }
	.mzd-lb .mzd-lb__zamknij { top: 10px; right: 10px; width: 40px; height: 40px; }
	.mzd-lb .mzd-lb__opis { padding: 16px 18px 4px; }
	.mzd-lb .mzd-lb__tytul { font-size: 21px; }
	.mzd-lb .mzd-lb__tekst { font-size: 16px; }
	.mzd-lb .mzd-lb__miniatury { padding: 12px 18px 16px; gap: 8px; }
	.mzd-lb .mzd-lb__mini { width: 60px; height: 44px; border-radius: 10px; }
}
@media (prefers-reduced-motion: reduce) {
	.mzd-lb, .mzd-lb .mzd-lb__okno, .mzd-lb .mzd-lb__img, .mzd-galeria .mzd-galeria__kafel img { transition: none; }
	.mzd-galeria .mzd-galeria__kafel:hover img { transform: none; }
}

/* ===== Nagłówek i dolny pasek przy przewijaniu („headroom”), 2026-10-01 — stan ustawia minizoo.js ===== */
.site-header.mzd-naglowek, .mzd-pasek-mobilny { transition: transform .28s ease, box-shadow .28s ease; }
/* Telefon: w dół chowa się nagłówek (do góry) i pasek „Zadzwoń / Dojazd” (do dołu). */
html.mzd-nav-schowana .site-header.mzd-naglowek { transform: translateY(calc(-100% - 2px)); }
html.mzd-nav-schowana .mzd-pasek-mobilny { transform: translateY(calc(100% + 2px)); box-shadow: none; }
/* Komputer: zwija się tylko zielony pasek info — cały nagłówek jedzie w górę o jego wysokość, menu zostaje.
   Transform zamiast zmiany wysokości: układ strony się nie przelicza, treść nie skacze. */
html.mzd-info-zwiniety .site-header.mzd-naglowek { transform: translateY(calc(-1 * var(--mzd-info-h, 0px))); box-shadow: 0 10px 28px -22px rgba(27,42,32,.55); }
html.mzd-info-zwiniety { --mzd-nagl-h: calc(116px - var(--mzd-info-h, 0px)); }
@media (prefers-reduced-motion: reduce) { .site-header.mzd-naglowek, .mzd-pasek-mobilny { transition: none; } }

/* --- Formularz kontaktowy CF7 (2026-10-01) --- */
.mz-form .mz-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
@media (max-width:640px){.mz-form .mz-form-grid{grid-template-columns:1fr}}
.mz-form p{margin:0 0 16px}
.mz-form label{display:block;font-weight:600;color:#1C221C;font-size:15px}
.mz-form input[type=text],.mz-form input[type=email],.mz-form input[type=tel],.mz-form input[type=date],.mz-form input[type=number],.mz-form select,.mz-form textarea{width:100%;box-sizing:border-box;margin-top:6px;padding:12px 14px;border:1px solid #DDD4BF;border-radius:12px;background:#fff;font:inherit;font-weight:400;color:#1C221C}
.mz-form textarea{min-height:140px;resize:vertical}
.mz-form input:focus,.mz-form select:focus,.mz-form textarea:focus{outline:2px solid #E0A32E;outline-offset:1px;border-color:#E0A32E}
.mz-form .mz-form-zgoda{font-size:14px;color:#5a5f57}
.mz-form .mz-form-zgoda label{font-weight:400;display:inline}
.mz-form input[type=submit]{background:#E0A32E;color:#1C221C;border:0;border-radius:999px;padding:14px 28px;font-weight:700;font-size:16px;cursor:pointer}
.mz-form input[type=submit]:hover{background:#2E4034;color:#FFFDF6}
.mz-form .wpcf7-not-valid-tip{font-size:13px;font-weight:400}
.mz-form .wpcf7-response-output{border-radius:12px;margin:8px 0 0}
.mz-form fieldset.hidden-fields-container{display:none;border:0;margin:0;padding:0}
.mz-form .mz-form-zgoda input[type=checkbox]{margin:0 8px 0 0;width:18px;height:18px;vertical-align:-3px;accent-color:#2E4034}
