/* =========================================================================
   Zamki Dmuchane — radosny motyw dziecięcy
   ========================================================================= */

:root{
	--zd-blue:#1ba3e6; --zd-blue-d:#0e6fb0;
	--zd-red:#ee3d3d; --zd-green:#57c12a; --zd-orange:#ff9d12;
	--zd-pink:#ec1c8e; --zd-yellow:#ffce2e;
	--zd-navy:#243b53; --zd-sky:#e9f6fe; --zd-cream:#fff8ec;
	--zd-shadow:0 14px 34px rgba(36,59,83,.13);
	--zd-shadow-sm:0 6px 16px rgba(36,59,83,.10);
	--zd-radius:26px;
	/* tęczowy gradient na ramki boxów */
	--zd-rainbow:linear-gradient(120deg,#ee3d3d 0%,#ff9d12 20%,#ffce2e 38%,#57c12a 56%,#1ba3e6 74%,#ec1c8e 100%);
}

html{scroll-behavior:smooth;}
body{
	background-color:#dcf0ff;
	background-image:url(../images/confetti.svg), linear-gradient(180deg,#bfe4ff 0%,#dcf1ff 38%,#eef9ff 70%,#ffffff 100%);
	background-size:440px 440px, cover;
	background-repeat:repeat, no-repeat;
	background-position:center top, center top;
	background-attachment:fixed, fixed;
	overflow-x:clip;
}
/* Pasy pełnej szerokości (hero, CTA, nagłówek, stopka) — od krawędzi do krawędzi.
   .zd-section też: motyw rodzic (TT5) z useRootPaddingAwareAlignments:false wpycha
   sekcje alignfull do środka o root-padding (duże marginesy boczne na mobile),
   przez co treść była węższa niż gradientowe pasy nagłówków. Sekcje są przezroczyste,
   więc rozlanie na 100vw nie zmienia tła — tylko zrównuje szerokość odniesienia
   treści z pasami; właściwy margines daje dopiero padding .zd-section__inner. */
.zd-fullbleed,.zd-hero,.zd-cta,.zd-section{
	width:100vw;max-width:100vw;
	margin-left:calc(50% - 50vw)!important;
	margin-right:calc(50% - 50vw)!important;
}
/* opakowania template-part nie mogą zwężać ani łamać sticky — usuwamy je z layoutu */
.wp-site-blocks > header.wp-block-template-part,
.wp-site-blocks > footer.wp-block-template-part{display:contents;}
/* nagłówek i stopka dokładnie na pełną szerokość, równo z hero */
.zd-header,.zd-footer{
	width:100vw;max-width:100vw;
	margin-left:calc(50% - 50vw);
	margin-right:calc(50% - 50vw);
}
/* hero tuż pod menu — bez zbędnego odstępu */
.zd-hero{margin-top:0!important;}
main.wp-block-group{margin-top:0;}
.entry-content > *:first-child{margin-top:0;}
/* bez przerwy między hero a pierwszą sekcją (Dlaczego my) */
.zd-hero{margin-bottom:0!important;}
#dlaczego-my{margin-top:0!important;}
/* offset kotwic pod sticky-header */
:where(#atrakcje,#galeria,#kontakt,#dlaczego-my){scroll-margin-top:84px;}

.zd-btn,
.wp-block-button__link{
	display:inline-flex;align-items:center;gap:.5em;
	background:linear-gradient(135deg,var(--zd-orange) 0%,var(--zd-pink) 100%);color:#fff;
	font-family:"Baloo 2","Trebuchet MS",sans-serif;
	font-weight:600;text-decoration:none;border:0;border-radius:999px;
	padding:.85rem 1.75rem;cursor:pointer;line-height:1.1;
	box-shadow:0 6px 14px rgba(36,59,83,.18);
	transition:transform .12s ease,box-shadow .12s ease,filter .2s ease;
}
.zd-btn:hover,.wp-block-button__link:hover{filter:brightness(1.05);transform:translateY(-2px);box-shadow:0 10px 20px rgba(36,59,83,.24);color:#fff;}
.zd-btn:active,.wp-block-button__link:active{transform:translateY(1px);box-shadow:0 4px 10px rgba(36,59,83,.18);}
.zd-btn--big{font-size:1.2rem;padding:1.05rem 2.2rem;}

/* =========================================================================
   NAGŁÓWEK
   ========================================================================= */
.zd-header{
	position:sticky;top:0;z-index:50;background:#fff;
	box-shadow:0 4px 18px rgba(36,59,83,.10);
	border-bottom:4px solid var(--zd-yellow);
}
.zd-header__bar{
	max-width:1320px;margin:0 auto;padding:.6rem 1.5rem;
	display:flex;align-items:center;gap:1rem;justify-content:space-between;
}
.zd-logo{display:flex;align-items:center;gap:.55rem;text-decoration:none;font-family:"Baloo 2",sans-serif;font-weight:700;font-size:1.4rem;color:var(--zd-navy);line-height:1;min-width:0;}
.zd-logo > span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.zd-logo__mark{font-size:1.7rem;filter:drop-shadow(0 2px 0 rgba(0,0,0,.12));}
.zd-logo b{color:var(--zd-blue);}
.zd-logo i{color:var(--zd-red);font-style:normal;}
.zd-nav{display:flex;align-items:center;gap:.35rem;}
.zd-nav a{
	font-family:"Baloo 2",sans-serif;font-weight:600;text-decoration:none;color:var(--zd-navy);
	padding:.5rem .85rem;border-radius:999px;transition:background .2s,color .2s;
}
.zd-nav a:hover{background:var(--zd-sky);color:var(--zd-blue-d);}
.zd-nav__ico{margin-right:.4rem;font-size:1.05em;}
.zd-header__cta{display:flex;align-items:center;gap:.6rem;}
.zd-header__phone{
	display:inline-flex;align-items:center;gap:.45rem;background:var(--zd-green);color:#fff;
	font-family:"Baloo 2",sans-serif;font-weight:600;text-decoration:none;
	padding:.6rem 1.1rem;border-radius:999px;box-shadow:0 6px 0 rgba(0,0,0,.12);white-space:nowrap;
}
.zd-header__phone:hover{background:var(--zd-blue);color:#fff;transform:translateY(-1px);}
.zd-burger{display:none;border:0;background:var(--zd-blue);color:#fff;width:46px;height:46px;border-radius:14px;font-size:1.4rem;cursor:pointer;}

@media(max-width:1200px){
	.zd-nav{
		position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;gap:.2rem;
		padding:.8rem 1.25rem 1.2rem;box-shadow:0 14px 24px rgba(36,59,83,.15);
		border-bottom:4px solid var(--zd-yellow);display:none;
	}
	.zd-nav.is-open{display:flex;}
	.zd-nav a{width:100%;text-align:center;padding:.75rem;}
	.zd-burger{display:inline-flex;align-items:center;justify-content:center;}
	.zd-header__phone span{display:none;}
	.zd-header__phone{padding:.6rem .8rem;}
	/* telefon + burger zawsze mieszczą się — logo ustępuje miejsca, nie odwrotnie */
	.zd-header__cta{flex:none;}
}
/* wąskie ekrany (iPhone SE itp.) — logo nie może wypychać burgera poza ekran */
@media(max-width:560px){
	.zd-header__bar{padding:.55rem .75rem;gap:.45rem;}
	.zd-logo{font-size:.95rem;gap:.35rem;}
	.zd-logo__mark{font-size:1.15rem;}
	.zd-header__cta{gap:.4rem;}
	.zd-header__phone{padding:.55rem .7rem;}
	.zd-burger{width:40px;height:40px;font-size:1.25rem;}
}

/* =========================================================================
   SEKCJE & FALE
   ========================================================================= */
.zd-section{position:relative;}
.zd-section__inner{max-width:1320px;margin:0 auto;padding:clamp(2.5rem,6vw,5rem) 1.5rem;}
.zd-eyebrow{
	display:inline-block;font-family:"Baloo 2",sans-serif;font-weight:700;color:var(--zd-pink);
	background:#fff;border:2px dashed var(--zd-pink);border-radius:999px;padding:.35rem 1.15rem;margin:0 auto 1rem;font-size:1.1rem;
}
/* Eyebrow na gradiencie nagłówka sekcji / banera CTA — czytelny, elegancki badge zamiast różowej naklejki */
.zd-section__head .zd-eyebrow,
.zd-cta .zd-eyebrow{
	color:#fff;background:rgba(255,255,255,.16);
	border:2px solid rgba(255,255,255,.6);
	text-transform:uppercase;letter-spacing:.08em;font-size:.92rem;
	padding:.4rem 1.25rem;box-shadow:0 4px 14px rgba(0,0,0,.12);
	text-shadow:0 1px 4px rgba(0,0,0,.22);
	margin-bottom:1.6rem;   /* więcej powietrza między badge'em a nagłówkiem h2 */
}
.zd-section h2{
	margin:.2rem 0 .5rem;font-weight:800;letter-spacing:-.5px;
	font-size:clamp(2.1rem,5vw,3.2rem);line-height:1.05;color:var(--zd-navy);
}
/* Nagłówek sekcji = pełnoszerokościowy pas gradientu (jak baner CTA), biały tekst */
.zd-section__head{
	width:100vw;max-width:100vw;
	margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);
	margin-top:calc(-1 * clamp(2.5rem,6vw,5rem))!important;   /* zniweluj górny padding inner — pas dotyka góry sekcji (bije regułę layoutu :first-child) */
	margin-bottom:clamp(2.2rem,5vw,3.4rem);
	padding:clamp(2.2rem,5vw,3.6rem) 1.5rem;
	background:linear-gradient(135deg,#0e6fb0 0%,#1ba3e6 42%,#7b4dff 100%);
	text-align:center;color:#fff;
	border-top:7px solid;border-bottom:7px solid;
	border-image:linear-gradient(90deg,#ee3d3d,#ff9d12,#ffce2e,#57c12a,#1ba3e6,#ec1c8e) 1;
}
.zd-section__head > *{max-width:820px;margin-left:auto;margin-right:auto;text-align:center;}
.zd-section__head h2{color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.22);margin-left:auto;margin-right:auto;text-align:center;}
.zd-section__head p{color:#fff;margin:.6rem auto 0;font-size:1.12rem;font-weight:600;line-height:1.5;text-shadow:0 2px 8px rgba(0,0,0,.22);}
/* sekcje przezroczyste — widać radosne konfetti w tle; kontrast dają białe karty */
.zd-bg-white,.zd-bg-cream,.zd-bg-sky{background:transparent;}

/* falista przerywnik (SVG w tle) */
.zd-wave{display:block;width:100%;height:48px;line-height:0;}
.zd-wave svg{display:block;width:100%;height:100%;}

/* =========================================================================
   HERO
   ========================================================================= */
.zd-hero{
	position:relative;color:#fff;overflow:hidden;
	background:linear-gradient(180deg,rgba(14,111,176,.30),rgba(14,111,176,.72)),
		var(--zd-hero-img,linear-gradient(135deg,#1ba3e6,#57c12a)) center/cover no-repeat;
}
.zd-hero__inner{max-width:1100px;margin:0 auto;padding:clamp(3rem,9vw,7rem) 1.25rem clamp(4rem,10vw,8rem);text-align:center;position:relative;z-index:2;}
.zd-hero h1{
	color:#fff;font-size:clamp(2.3rem,6vw,4rem);line-height:1.05;margin:0 0 1rem;
	text-shadow:0 4px 0 rgba(0,0,0,.18),0 2px 14px rgba(0,0,0,.25);
}
.zd-hero h1 .hl{color:var(--zd-yellow);}
.zd-hero__lead{font-size:clamp(1.1rem,2.4vw,1.45rem);font-weight:700;max-width:680px;margin:0 auto 1.6rem;text-shadow:0 2px 8px rgba(0,0,0,.35);}
.zd-hero__tags{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin:0 auto 2rem;max-width:760px;}
.zd-hero__tags span,.zd-hero__tags p{
	margin:0;background:rgba(255,255,255,.95);color:var(--zd-navy);font-family:"Baloo 2",sans-serif;font-weight:600;
	padding:.45rem 1rem;border-radius:999px;font-size:.98rem;box-shadow:var(--zd-shadow-sm);text-shadow:none;
}
.zd-hero__btns{display:flex;flex-wrap:wrap;gap:.9rem;justify-content:center;}

/* Hero zbudowany jako blok Okładka (core/cover) — jasne, wyblakłe zdjęcie + kolorowy tekst */
.zd-hero.wp-block-cover{min-height:clamp(420px,72vh,640px);align-items:center;padding:0;border-radius:0;background-color:#eaf6fe;}
.zd-hero .wp-block-cover__background{display:none;}            /* bez ciemnej nakładki */
.zd-hero .wp-block-cover__image-background{opacity:.4!important;} /* wyblakłe zdjęcie */
.zd-hero.wp-block-cover .wp-block-cover__inner-container{
	max-width:1100px;width:100%;margin:0 auto;padding:clamp(2rem,6vw,4rem) 1.25rem;text-align:center;color:var(--zd-navy);
}
.zd-hero .wp-block-buttons{justify-content:center;}
.zd-hero__tags{justify-content:center;}
.zd-hero.wp-block-cover .zd-hero__tags p{color:var(--zd-navy);}

/* Hero — biały tekst w tęczowej "obwolucie" (panel z tęczową ramką na półprzezroczystym granacie) */
.zd-hero.wp-block-cover .zd-hero__panel{
	display:inline-block;max-width:900px;margin:0 auto 1.6rem;
	padding:clamp(1.3rem,3vw,2.1rem) clamp(1.5rem,4vw,3rem);
	border:5px solid transparent;border-radius:30px;
	background:linear-gradient(160deg,rgba(18,38,62,.82),rgba(12,58,98,.74)) padding-box,var(--zd-rainbow) border-box;
	box-shadow:0 18px 44px rgba(20,35,52,.34);
}
.zd-hero.wp-block-cover .zd-hero__panel h1{
	background:none;color:#fff;-webkit-text-fill-color:#fff;
	-webkit-text-stroke:0;filter:none;
	margin:0 0 .7rem;text-shadow:0 3px 10px rgba(0,0,0,.35);
	white-space:nowrap;font-size:clamp(1.1rem,4.6vw,3.1rem);   /* jedna linia z emoji */
}
.zd-hero.wp-block-cover .zd-hero__panel .zd-hero__lead{
	color:#fff;font-weight:700;margin:0;
	-webkit-text-stroke:0;text-shadow:0 2px 8px rgba(0,0,0,.4);
}

/* =========================================================================
   CECHY (dlaczego my)
   ========================================================================= */
/* układ pionowy: kafelki jeden pod drugim, równej szerokości, wyśrodkowane */
.zd-features{display:flex;flex-direction:column;gap:1.4rem;align-items:center;}
.zd-feature{
	--accent:#1ba3e6;--accent2:#0e6fb0;--tint:#e7f4fd;
	width:100%;max-width:620px;
	display:flex;flex-direction:column;
	/* tęczowa ramka: białe wnętrze (padding-box) + tęcza na obrysie (border-box) */
	background:linear-gradient(170deg,#ffffff 0%,var(--tint) 100%) padding-box,var(--zd-rainbow) border-box;
	border-radius:var(--zd-radius);padding:2.1rem 1.4rem 1.8rem;text-align:center;
	box-shadow:var(--zd-shadow);border:4px solid transparent;
	transition:transform .18s ease,box-shadow .18s ease;
}
.zd-feature:hover{transform:translateY(-7px);box-shadow:0 22px 40px rgba(36,59,83,.16);}
.zd-feature__icon{
	width:88px;height:88px;border-radius:26px;display:grid;place-items:center;margin:0 auto 1.1rem;
	background:linear-gradient(135deg,var(--accent) 0%,var(--accent2) 100%);
	box-shadow:0 12px 22px color-mix(in srgb,var(--accent) 45%,transparent);
}
.zd-feature__icon svg{width:46px;height:46px;display:block;}
.zd-feature h3{margin:.2rem 0 .5rem;font-size:1.35rem;color:var(--accent2);}
.zd-feature p{margin:0;color:#51647a;font-size:1.02rem;}
.zd-feature:nth-child(1){--accent:#1ba3e6;--accent2:#0e6fb0;--tint:#e7f4fd;}
.zd-feature:nth-child(2){--accent:#ec1c8e;--accent2:#ff6fae;--tint:#fde8f3;}
.zd-feature:nth-child(3){--accent:#57c12a;--accent2:#2e9e4f;--tint:#ecf8e3;}
.zd-feature:nth-child(4){--accent:#ff9d12;--accent2:#ff6a00;--tint:#fff1de;}

/* Box "Skacz, śmiej się i baw na całego!" — korzyści w kolorowej karcie */
.zd-funbox{
	max-width:720px;margin:clamp(2rem,5vw,3rem) auto 0;
	background:linear-gradient(160deg,#fff 0%,var(--zd-cream) 100%) padding-box,var(--zd-rainbow) border-box;
	border:4px solid transparent;border-radius:var(--zd-radius);
	box-shadow:var(--zd-shadow);padding:clamp(1.6rem,4vw,2.4rem);
}
.zd-funbox h3{
	margin:0 0 1.1rem;text-align:center;color:var(--zd-pink);
	font-size:clamp(1.5rem,3.2vw,2rem);
}
.zd-funbox__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.8rem;}
.zd-funbox__list li{
	display:flex;align-items:flex-start;gap:.65rem;
	font-weight:700;color:var(--zd-navy);font-size:1.08rem;line-height:1.4;
	background:#fff;border-radius:14px;padding:.7rem 1rem;box-shadow:var(--zd-shadow-sm);
}

/* =========================================================================
   ATRAKCJE
   ========================================================================= */
/* Poziome, naprzemienne rzędy — zdjęcie obok opisu, dużo powietrza */
.zd-attractions{display:flex;flex-direction:column;gap:2.2rem;}
.zd-attraction{
	--accent:var(--zd-blue);
	display:flex;align-items:stretch;border-radius:var(--zd-radius);overflow:hidden;
	background:linear-gradient(#fff,#fff) padding-box,var(--zd-rainbow) border-box;
	box-shadow:var(--zd-shadow);border:4px solid transparent;
	transition:transform .18s ease,box-shadow .18s ease;
}
.zd-attraction:hover{transform:translateY(-5px);box-shadow:0 26px 48px rgba(36,59,83,.18);}
.zd-attraction:nth-child(even){flex-direction:row-reverse;}
.zd-attraction > .wp-block-image{flex:1 1 52%;min-width:0;margin:0;position:relative;overflow:hidden;padding:1rem;background:linear-gradient(160deg,#eaf6fe 0%,#d7eefb 100%);}
/* contain — całe zdjęcie widoczne, bez przycinania; tło sky wypełnia boki */
.zd-attraction > .wp-block-image img{width:100%;height:100%;min-height:300px;object-fit:contain;display:block;border-radius:14px;transition:transform .4s ease;}
.zd-attraction:hover > .wp-block-image img{transform:scale(1.05);}
.zd-attraction__body{
	flex:1 1 48%;min-width:0;display:flex;flex-direction:column;align-items:flex-start;
	padding:clamp(1.7rem,3vw,3rem);
	background:linear-gradient(160deg,#ffffff 0%,var(--tint,#e7f4fd) 100%);
}
.zd-attraction__tag{
	display:inline-flex;align-items:center;gap:.4rem;align-self:flex-start;
	background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 60%,#000 12%));
	color:#fff;font-family:"Baloo 2",sans-serif;font-weight:600;font-size:.85rem;
	padding:.32rem .9rem;border-radius:999px;margin-bottom:.9rem;box-shadow:0 6px 14px color-mix(in srgb,var(--accent) 40%,transparent);
}
.zd-attraction__body h3{margin:0 0 .6rem;font-size:clamp(1.6rem,2.6vw,2.15rem);color:var(--accent);}
.zd-attraction__desc{margin:0 0 1.25rem;color:#51647a;font-size:1.1rem;line-height:1.6;}
.zd-specs{list-style:none;margin:0 0 1.5rem;padding:0;display:flex;flex-wrap:wrap;gap:.55rem .65rem;}
.zd-specs li{display:inline-flex;align-items:center;gap:.4rem;font-weight:700;color:var(--zd-navy);font-size:1rem;background:#fff;padding:.45rem .9rem;border-radius:999px;box-shadow:0 2px 6px rgba(36,59,83,.08);}
.zd-attraction .wp-block-buttons{margin-top:auto;}
/* rotacja akcentów (kolor + delikatny tint tła opisu) */
.zd-attraction:nth-child(6n+1){--accent:var(--zd-red);--tint:#ffeceb;}
.zd-attraction:nth-child(6n+2){--accent:var(--zd-blue);--tint:#e7f4fd;}
.zd-attraction:nth-child(6n+3){--accent:var(--zd-pink);--tint:#fde8f3;}
.zd-attraction:nth-child(6n+4){--accent:var(--zd-green);--tint:#ecf8e3;}
.zd-attraction:nth-child(6n+5){--accent:var(--zd-orange);--tint:#fff1de;}
.zd-attraction:nth-child(6n){--accent:var(--zd-blue-d);--tint:#e7f0fa;}
@media(max-width:860px){
	.zd-attraction,.zd-attraction:nth-child(even){flex-direction:column;}
	.zd-attraction > .wp-block-image img{min-height:240px;}
}

/* =========================================================================
   BANER CTA
   ========================================================================= */
.zd-cta{
	text-align:center;color:#fff;
	border-top:7px solid;border-bottom:7px solid;
	border-image:linear-gradient(90deg,#ee3d3d,#ff9d12,#ffce2e,#57c12a,#1ba3e6,#ec1c8e) 1;
}
/* chłodny gradient — kontrast z ciepłymi (pomarańcz/róż) przyciskami, by się nie zlewały */
.zd-cta,
.zd-cta.has-candy-gradient-background{
	background:linear-gradient(135deg,#0e6fb0 0%,#1ba3e6 42%,#7b4dff 100%)!important;
}
.zd-cta .zd-section__inner{padding-top:clamp(2.2rem,5vw,3.5rem);padding-bottom:clamp(2.2rem,5vw,3.5rem);}
.zd-cta :where(h2,p){color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.18);}
.zd-cta h2{margin:0 0 .5rem;color:#fff;}
.zd-cta p{margin:0 auto 1.4rem;max-width:560px;font-weight:700;}
.zd-cta .wp-block-buttons{justify-content:center;}

/* =========================================================================
   GALERIA
   ========================================================================= */
/* dolny odstęp sekcji galerii równy górnemu (margines nagłówka), nie pełny padding sekcji */
#galeria .zd-section__inner{padding-bottom:clamp(2.2rem,5vw,3.4rem);}
/* baner CTA przylega do góry sekcji kontakt (jak nagłówki sekcji) — kotwica #kontakt ląduje na banerze, nie w pustce nad nim */
#kontakt > .zd-section__inner{padding-top:0;}
.zd-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;}
.zd-gallery .wp-block-image{
	margin:0;overflow:hidden;border-radius:20px;position:relative;aspect-ratio:1/1;
	box-shadow:var(--zd-shadow-sm);border:6px solid transparent;
	/* kolor MUSI być obrazem (gradient), nie gołym kolorem — inaczej cała deklaracja background jest nieprawidłowa i tęcza znika */
	background:linear-gradient(var(--zd-sky),var(--zd-sky)) padding-box,var(--zd-rainbow) border-box;
}
.zd-gallery .wp-block-image a{display:block;width:100%;height:100%;position:relative;}
.zd-gallery .wp-block-image a::after{content:"🔍";position:absolute;inset:0;display:grid;place-items:center;font-size:1.6rem;background:rgba(14,111,176,0);color:#fff;opacity:0;transition:.2s;}
.zd-gallery .wp-block-image a:hover::after{background:rgba(14,111,176,.45);opacity:1;}
.zd-gallery .wp-block-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease;}
.zd-gallery .wp-block-image:hover img{transform:scale(1.08);}

/* lightbox */
.zd-lb{position:fixed;inset:0;z-index:1000;background:rgba(20,35,52,.92);display:none;align-items:center;justify-content:center;padding:3vw;}
.zd-lb.is-open{display:flex;}
.zd-lb img{max-width:94vw;max-height:88vh;border-radius:16px;border:5px solid #fff;box-shadow:0 20px 60px rgba(0,0,0,.5);}
.zd-lb__close,.zd-lb__nav{position:absolute;background:#fff;color:var(--zd-navy);border:0;border-radius:50%;width:54px;height:54px;font-size:1.5rem;cursor:pointer;box-shadow:0 6px 16px rgba(0,0,0,.3);display:grid;place-items:center;}
.zd-lb__close{top:18px;right:18px;}
.zd-lb__nav--prev{left:18px;top:50%;transform:translateY(-50%);}
.zd-lb__nav--next{right:18px;top:50%;transform:translateY(-50%);}
.zd-lb__close:hover,.zd-lb__nav:hover{background:var(--zd-yellow);}

/* =========================================================================
   KONTAKT
   ========================================================================= */
/* odstęp od banera CTA powyżej — karty kontaktu nie zlepiają się z gradientem */
.zd-contact{display:grid;grid-template-columns:1fr;gap:1.8rem;max-width:860px;margin:clamp(2.5rem,6vw,4rem) auto 0;}
.zd-contact__card{
	border-radius:var(--zd-radius);padding:1.8rem;box-shadow:var(--zd-shadow);
	border:4px solid transparent;
	background:linear-gradient(#fff,#fff) padding-box,var(--zd-rainbow) border-box;
}
.zd-contact__card h3{margin-top:0;}
.zd-contact-list{list-style:none;margin:0 0 1.4rem;padding:0;display:flex;flex-direction:column;gap:1rem;}
.zd-contact-list li{display:flex;gap:.85rem;align-items:flex-start;font-size:1.05rem;line-height:1.45;}
.zd-contact-list a{color:var(--zd-blue-d);font-weight:700;text-decoration:none;}
.zd-contact-list a:hover{color:var(--zd-pink);}
.zd-ci{font-size:1.4rem;flex:none;line-height:1;margin-top:.1rem;}
.zd-map{border-radius:20px;overflow:hidden;box-shadow:var(--zd-shadow-sm);border:4px solid transparent;background:var(--zd-rainbow) border-box;margin-top:1rem;}
.zd-map iframe{display:block;}

/* FORMULARZ */
.zd-form{display:flex;flex-direction:column;gap:1rem;align-items:stretch;}
.zd-form *{box-sizing:border-box;}
/* przycisk nie rozciąga się na całą szerokość — szerokość dopasowana do treści */
.zd-form button[type="submit"]{align-self:flex-start;width:auto;}
/* pola jeden pod drugim — czytelniej, nie zlewają się */
.zd-form__row{display:flex;flex-direction:column;gap:1rem;}
.zd-field{display:flex;flex-direction:column;gap:.35rem;font-weight:700;color:var(--zd-navy);font-size:.95rem;}
.zd-field em{color:var(--zd-red);font-style:normal;}
.zd-field input,.zd-field textarea{
	font:inherit;font-weight:500;padding:.75rem .9rem;border:2px solid #d8e7f2;border-radius:14px;background:#fff;color:var(--zd-navy);
	transition:border-color .15s,box-shadow .15s;width:100%;
}
.zd-field input:focus,.zd-field textarea:focus{outline:0;border-color:var(--zd-blue);box-shadow:0 0 0 4px rgba(27,163,230,.16);}
.zd-consent{display:flex;gap:.6rem;align-items:flex-start;font-size:.92rem;color:#51647a;line-height:1.4;}
.zd-consent input{margin-top:.2rem;width:20px;height:20px;flex:none;accent-color:var(--zd-blue);}
.zd-consent em{color:var(--zd-red);font-style:normal;}
.zd-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
/* Widżet Cloudflare Turnstile */
.zd-turnstile{margin:.2rem 0;min-height:65px;}
.zd-form__alert{padding:.85rem 1.1rem;border-radius:14px;font-weight:700;margin:0;}
.zd-form__alert--ok{background:#e7f8df;color:#2f7d12;border:2px solid var(--zd-green);}
.zd-form__alert--err{background:#fdeaea;color:#c12626;border:2px solid var(--zd-red);}

/* =========================================================================
   STOPKA
   ========================================================================= */
.zd-footer{
	background:linear-gradient(135deg,#16a0e6 0%,#2eb3c4 48%,#57c12a 100%);
	color:#f1fbff;
	border-top:7px solid;
	border-image:linear-gradient(90deg,#ee3d3d,#ff9d12,#ffce2e,#57c12a,#1ba3e6,#ec1c8e) 1;
}
.zd-footer__inner{max-width:1320px;margin:0 auto;padding:3rem 1.5rem 1.5rem;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem;}
.zd-footer h4{color:#fff;font-family:"Baloo 2",sans-serif;margin:0 0 .9rem;font-size:1.2rem;text-shadow:0 2px 6px rgba(20,35,52,.22);}
.zd-footer a{color:#f1fbff;text-decoration:none;}
.zd-footer a:hover{color:var(--zd-yellow);}
.zd-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem;}
.zd-footer__brand .zd-logo{color:#fff;}
.zd-footer__brand .zd-logo b{color:#fff;}
.zd-footer__brand .zd-logo i{color:var(--zd-yellow);}
.zd-footer__brand p{color:rgba(255,255,255,.92);margin:.8rem 0 0;max-width:34ch;}
.zd-footer__bottom{border-top:1px solid rgba(255,255,255,.28);margin-top:1.5rem;padding:1.1rem 1.25rem;text-align:center;color:rgba(255,255,255,.9);font-size:.9rem;}
.zd-footer__bottom a{color:#fff;}

/* =========================================================================
   PRZYCISK „DO GÓRY"
   ========================================================================= */
.zd-totop{
	position:fixed;right:clamp(1rem,3vw,2rem);bottom:clamp(1rem,3vw,2rem);z-index:60;
	width:54px;height:54px;border:0;border-radius:50%;cursor:pointer;
	background:linear-gradient(135deg,var(--zd-orange) 0%,var(--zd-pink) 100%);color:#fff;
	font-size:1.6rem;line-height:1;display:grid;place-items:center;
	box-shadow:0 8px 20px rgba(36,59,83,.28);
	opacity:0;visibility:hidden;transform:translateY(14px);
	transition:opacity .2s ease,transform .2s ease,visibility .2s;
}
.zd-totop.is-visible{opacity:1;visibility:visible;transform:translateY(0);}
.zd-totop:hover{filter:brightness(1.06);transform:translateY(-3px);box-shadow:0 12px 26px rgba(36,59,83,.34);}
.zd-totop:active{transform:translateY(0);}

/* =========================================================================
   RESPONSYWNOŚĆ
   ========================================================================= */
@media(max-width:1000px){
	.zd-gallery{grid-template-columns:repeat(3,1fr);}
}
@media(max-width:760px){
	.zd-contact{grid-template-columns:1fr;}
	.zd-footer__inner{grid-template-columns:1fr;gap:1.6rem;}
}
@media(max-width:560px){
	.zd-gallery{grid-template-columns:repeat(2,1fr);}
	/* mniejsze marginesy boczne na telefonach — treść szersza, mniej zmarnowanego miejsca */
	.zd-section__inner{padding-left:1rem;padding-right:1rem;}
	.zd-section__head{padding-left:1rem;padding-right:1rem;}
	.zd-cta .zd-section__inner{padding-left:1rem;padding-right:1rem;}
	.zd-footer__inner{padding-left:1rem;padding-right:1rem;}
	.zd-contact__card{padding:1.3rem;}
	.zd-funbox{padding:1.3rem;}
	.zd-attraction__body{padding:1.4rem 1.2rem;}
}

@media (prefers-reduced-motion:reduce){
	*{scroll-behavior:auto !important;transition:none !important;}
}
