/* UKP: jeden arkusz. Tokeny wspólne z generatorem wniosku (Onest, las, szałwia, morela), żeby przejście WP -> generator było bez szwu. */
@font-face{font-family:Onest;font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonty/onest-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Onest;font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonty/onest-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(../fonty/source-serif-600-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(../fonty/source-serif-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
	--tlo:#F1F5F0;--szalwia:#DCE8DF;--szalwia2:#C8DACD;--las:#17382D;--las2:#2B5745;--tekst:#1B2A24;--tekst2:#4D5D53;--biel:#fff;
	--morela:#F3B55B;--morela-tlo:#FBEBCD;--zakreslacz:#F8D48E;--linia:#7C9086;--linia2:#C7D4CB;
	--r:4px;--r2:3px;--font:Onest,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--szeryf:"Source Serif 4",Georgia,"Times New Roman",serif;
	--odstep:clamp(44px,6vw,84px);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:20px}
body{margin:0;font-family:var(--font);font-size:18px;line-height:1.6;color:var(--tekst);background:var(--biel);-webkit-font-smoothing:antialiased;overflow-wrap:break-word}
img,svg{max-width:100%;height:auto;display:block}
h1,h2,h3,h4,p,ol,ul,figure,dl,dd{margin:0}
button,input{font:inherit;color:inherit}
a{color:var(--las);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--las);outline-offset:3px;border-radius:6px}
.glowa :focus-visible,.stopka :focus-visible{outline-color:var(--morela)}
.skok{position:absolute;left:12px;top:-80px;z-index:100;background:var(--morela);color:var(--tekst);padding:10px 16px;border-radius:var(--r2);font-weight:600}
.skok:focus{top:10px}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}

h1,h2,h3{line-height:1.15;font-weight:600;letter-spacing:-.012em;text-wrap:balance;color:var(--las)}
h1,h2,.jak-h2,.cta-tytul,.cena-kwota,.stopka-nazwa,.podglad-tyt{font-family:var(--szeryf)}
h1{font-size:clamp(32px,4.4vw,54px)}
h2{font-size:clamp(25px,2.8vw,36px)}
h3{font-size:20px;line-height:1.3;letter-spacing:-.005em}
.male{font-size:16px;color:var(--tekst2)}
.zakr{background:linear-gradient(transparent 58%,var(--zakreslacz) 58%);font-weight:600;white-space:nowrap}

.kont{max-width:1180px;margin:0 auto;padding:0 20px}
.kont.waski{max-width:780px}
.sekcja{padding:var(--odstep) 0}
.sekcja+.sekcja:not(.pas-tlo):not(.pas-szalwia){padding-top:0}
.pas-tlo{background:var(--tlo)}
.pas-szalwia{background:var(--szalwia)}
.pas-tlo+.sekcja,.pas-szalwia+.sekcja{padding-top:var(--odstep)!important}
.dwie{display:grid;gap:40px 64px}
@media (min-width:900px){.dwie{grid-template-columns:1fr 1fr}}
.dwie h2,.sekcja>.kont>h2{margin-bottom:18px}
.dwie p+p{margin-top:14px}
.dalej{margin-top:26px;font-weight:600}

/* Przyciski */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 26px;border-radius:var(--r2);border:0;background:var(--las);color:#fff;font-weight:600;font-size:18px;text-decoration:none;text-align:center;line-height:1.2;cursor:pointer}
.btn:hover{background:#0f2a21}
.btn.duzy{min-height:60px;padding:0 32px;font-size:19px}
.btn.jasny{background:var(--morela);color:var(--tekst)}
.btn.jasny:hover{background:#f7c377}

/* Nagłówek */
.glowa{background:var(--las);color:#fff;position:relative;z-index:30}
.glowa-w{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px}
.logo{display:block;flex:none}
.logo img{width:164px;height:auto}
.menu ul{list-style:none;padding:0;display:flex;gap:4px}
.menu a:not(.btn){color:#fff;text-decoration:none;padding:10px 12px;border-radius:var(--r2);font-size:17px;display:block}
.menu a:not(.btn):hover,.menu a[aria-current]{background:var(--las2)}
.menu{display:flex;align-items:center;gap:16px}
.menu .btn{min-height:48px;padding:0 20px;font-size:17px}
.menu-btn{display:none;align-items:center;gap:10px;min-height:48px;padding:0 14px;background:transparent;border:2px solid rgba(255,255,255,.55);border-radius:var(--r2);color:#fff;font-weight:600;cursor:pointer}
.menu-ikona,.menu-ikona::before,.menu-ikona::after{display:block;width:20px;height:2px;background:#fff;border-radius:2px}
.menu-ikona{position:relative}
.menu-ikona::before,.menu-ikona::after{content:"";position:absolute;left:0}
.menu-ikona::before{top:-6px}.menu-ikona::after{top:6px}
@media (max-width:1020px){
	.menu-btn{display:inline-flex}
	.menu{display:none;position:absolute;left:0;right:0;top:100%;background:var(--las);padding:8px 20px 24px;flex-direction:column;align-items:stretch;border-top:1px solid var(--las2)}
	.menu.otwarte{display:flex}
	.menu ul{flex-direction:column;gap:0}
	.menu a:not(.btn){padding:14px 4px;font-size:19px;border-bottom:1px solid var(--las2);border-radius:0}
	.menu .btn{min-height:54px;margin-top:8px}
}

/* Okruszki */
.okruszki{background:var(--tlo);font-size:15px;color:var(--tekst2);padding:12px 0 0}
.okruszki a{color:var(--tekst2)}

/* Hero */
.hero{background:var(--tlo);padding:clamp(32px,5vw,72px) 0 clamp(40px,6vw,80px)}
.okruszki+main .hero{padding-top:clamp(20px,3vw,40px)}
.hero-w{display:grid;gap:44px;align-items:center}
@media (min-width:1000px){.hero-w{grid-template-columns:1.15fr .85fr;gap:64px}}
.lead{font-size:clamp(19px,1.6vw,21px);line-height:1.55;margin-top:22px;color:var(--tekst);max-width:62ch}
.lead p+p{margin-top:14px}
.hero-akcja{display:flex;flex-wrap:wrap;align-items:center;gap:18px 26px;margin-top:30px}
.hero-cena{font-size:17px;line-height:1.5;color:var(--tekst2)}
.hero-cena .zakr{color:var(--tekst)}
.hero-miasto .hero-akcja{margin-top:24px}
.wstep{margin-top:30px;padding-top:26px;border-top:1px solid var(--linia2)}
.hero-strona .szukaj{margin-top:26px;max-width:560px}
.wpis-meta{margin-top:16px;color:var(--tekst2);font-size:16px}

/* Podgląd produktu w hero */
.podglad{background:var(--biel);border:1px solid var(--linia2);border-radius:var(--r);padding:24px 24px 20px;border-top:4px solid var(--las)}
.podglad-tyt{font-weight:600;font-size:20px;color:var(--las);padding-bottom:14px;border-bottom:1px solid var(--las)}
.podglad dl>div{padding:14px 0;border-bottom:1px solid var(--linia2)}
.podglad dt{font-size:14px;color:var(--tekst2);margin-bottom:4px}
.podglad dd{font-size:16px;line-height:1.5}
.podglad dl>div:nth-child(2) dd{background:var(--morela-tlo);padding:10px 12px;border-left:3px solid var(--morela)}
.podglad figcaption{font-size:15px;color:var(--tekst2);margin-top:14px}

/* Wyszukiwarka miejscowości */
.szukaj label{display:block;font-weight:600;margin-bottom:8px}
.szukaj-pole{display:flex;gap:10px}
.szukaj input{flex:1;min-width:0;min-height:54px;padding:0 16px;border:2px solid var(--linia);border-radius:var(--r2);background:var(--biel);font-size:18px}
.szukaj input:focus{border-color:var(--las);outline:0;box-shadow:0 0 0 3px var(--szalwia2)}
.szukaj .male{margin-top:8px}
.szukaj-wyniki{list-style:none;padding:6px;margin-top:10px;background:var(--biel);border:1px solid var(--linia2);border-radius:var(--r2)}
.szukaj-wyniki a{display:block;padding:10px 12px;border-radius:var(--r2);text-decoration:none;font-weight:600}
.szukaj-wyniki a:hover,.szukaj-wyniki a:focus{background:var(--szalwia)}
.szukaj-wyniki .brak{padding:10px 12px;font-size:16px}
.miasta-skrot,.miasta-lista{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px 10px;margin-top:22px}
.miasta-skrot a,.miasta-lista a{display:inline-block;padding:7px 14px;background:var(--biel);border:1px solid var(--linia2);border-radius:var(--r2);text-decoration:none;font-size:16px;line-height:1.4}
.miasta-skrot a:hover,.miasta-lista a:hover{border-color:var(--las);background:var(--tlo)}

/* Kroki: prawdziwa kolejność, stąd numeracja */
.kroki{list-style:none;padding:0;counter-reset:krok;display:grid;gap:28px;margin-top:34px}
.kroki li{counter-increment:krok;border-top:3px solid var(--las);padding-top:16px;position:relative}
.kroki li::before{content:counter(krok);display:block;font-family:var(--szeryf);font-size:44px;font-weight:600;line-height:1;color:var(--las);letter-spacing:-.03em;margin-bottom:12px}
.kroki h3{margin-bottom:8px}
.kroki p{font-size:17px}
@media (min-width:900px){.kroki:not(.kroki-pion){grid-template-columns:repeat(4,1fr);gap:28px}}
.kroki-pion{max-width:780px}
@media (min-width:700px){.kroki-pion li{padding-left:92px;min-height:76px}.kroki-pion li::before{position:absolute;left:0;top:16px;font-size:56px}}

/* Listy i ceny */
.lista{list-style:none;padding:0}
.lista li{padding:12px 0 12px 34px;border-bottom:1px solid var(--linia2);position:relative}
.lista li::before{content:"";position:absolute;left:4px;top:21px;width:14px;height:8px;border-left:3px solid var(--las2);border-bottom:3px solid var(--las2);transform:rotate(-45deg)}
.ceny{display:grid;gap:16px;margin-bottom:16px}
@media (min-width:560px){.ceny{grid-template-columns:1fr 1fr}}
.cena{background:var(--biel);border:1px solid var(--linia2);border-top:4px solid var(--las);border-radius:0 0 var(--r2) var(--r2);padding:20px}
.cena-nazwa{font-weight:600;color:var(--las);font-size:18px;letter-spacing:0}
.cena-kwota{font-size:40px;font-weight:600;line-height:1.1;color:var(--las);letter-spacing:-.03em;margin:8px 0 10px}
.cena p:last-child{font-size:16px;color:var(--tekst2)}

/* FAQ */
.faq details{border-bottom:1px solid var(--linia2)}
.faq details:first-child{border-top:1px solid var(--linia2)}
.faq summary{list-style:none;cursor:pointer;padding:18px 44px 18px 0;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary h2,.faq summary h3{font-size:19px;line-height:1.35;letter-spacing:-.01em;margin:0;font-weight:600}
.faq summary::after{content:"";position:absolute;right:8px;top:24px;width:11px;height:11px;border-right:3px solid var(--las);border-bottom:3px solid var(--las);transform:rotate(45deg)}
.faq details[open] summary::after{transform:rotate(-135deg);top:30px}
.faq-odp{padding:0 0 20px;max-width:68ch}
.faq-odp p+p{margin-top:12px}
.faq .cta{margin:24px 0}
.sekcja>.kont>.faq{margin-top:8px}

/* Listy wpisów */
.wpisy{list-style:none;padding:0;columns:2 340px;column-gap:48px;margin-top:6px}
.wpisy li{break-inside:avoid;padding:10px 0;border-bottom:1px solid var(--linia2)}
.wpisy a{text-decoration:none;font-weight:600}
.wpisy a:hover{text-decoration:underline}
.wpisy-duze{columns:1}
.karty{list-style:none;padding:0;display:grid;gap:28px 24px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin-top:22px}
.karty a{text-decoration:none;display:block}
.karty img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--r2);background:var(--szalwia)}
.karty h2,.karty h3{font-size:19px;line-height:1.3;margin-top:12px;letter-spacing:-.01em}
.karty a:hover h2,.karty a:hover h3{text-decoration:underline}
.jak-h2{font-size:clamp(25px,2.8vw,36px);line-height:1.15;letter-spacing:-.02em}

/* Blok CTA */
.cta{background:var(--las);color:#fff;border-radius:var(--r);padding:28px;display:grid;gap:22px;margin:8px 0}
@media (min-width:760px){.cta{grid-template-columns:1.5fr 1fr;align-items:center;gap:36px;padding:34px 38px}}
.cta-tytul{font-size:24px;font-weight:600;line-height:1.25;letter-spacing:-.015em;margin-bottom:10px;text-wrap:balance}
.cta-tresc p:not(.cta-tytul){color:#DCE8DF;font-size:17px}
.cta-sad{margin-top:10px}
.cta-sad strong{color:#fff}
.cta-akcja{display:grid;gap:14px}
.cta-cena{font-size:20px;line-height:1.4}
.cta-cena .zakr{background:none;color:var(--morela);font-size:24px}
.cta-cena .male{color:#DCE8DF;font-size:15px}
.cta .btn{background:var(--morela);color:var(--tekst);width:100%}
.cta .btn:hover{background:#f7c377}
.cta :focus-visible{outline-color:var(--morela)}

/* Treść redakcyjna (ACF miast, wpisy, strony) */
.tresc{font-size:18px}
.tresc>*+*{margin-top:18px}
.tresc h2{margin-top:44px}
.tresc h3{margin-top:30px}
.tresc>h2:first-child,.tresc>h3:first-child{margin-top:0}
.tresc ul,.tresc ol{padding-left:24px}
.tresc li+li{margin-top:8px}
.tresc li::marker{color:var(--las2)}
.tresc img{border-radius:var(--r2)}
.tresc table{width:100%;border-collapse:collapse;font-size:16px;display:block;overflow-x:auto}
.tresc th,.tresc td{border:1px solid var(--linia2);padding:10px 12px;text-align:left;vertical-align:top}
.tresc th{background:var(--tlo)}
.tresc blockquote{margin:0;padding:6px 0 6px 20px;border-left:4px solid var(--morela)}
.tresc mark{background:var(--zakreslacz)}
.tresc-wpis{padding-bottom:28px}
.wpis-tagi{padding:16px 0 var(--odstep);border-top:1px solid var(--linia2)}
.tresc .cta{margin:36px 0}
.tresc .cta p{margin-top:0}
.wpis-obraz{margin:clamp(24px,4vw,44px) 0}
.wpis-obraz img{width:100%;border-radius:var(--r)}
.faq-miasto [itemprop="mainEntity"]{border-top:1px solid var(--linia2);padding-top:18px;margin-top:18px}
.faq-miasto h3{margin:0 0 8px}
/* Spis treści ze snippetu „Table of contents” */
.toc-bound{background:var(--tlo);border-radius:var(--r);padding:22px 24px;margin-bottom:30px}
.toc-ctr{font-weight:600;color:var(--las);margin-bottom:10px}
.toc-ctr::first-letter{text-transform:uppercase}
.toc-bound ul{list-style:none;padding:0;font-size:16px}
.toc-bound .toc-sub{padding-left:18px;margin-top:6px}
.toc-bound li+li{margin-top:6px}
.toc-bound a{text-decoration:none}
.toc-bound a:hover{text-decoration:underline}

/* Sąd (dane lokalne) */
.sad-dane{margin:20px 0;background:var(--biel);border-radius:var(--r);padding:8px 22px}
.sad-dane>div{display:grid;gap:2px 20px;padding:14px 0;border-bottom:1px solid var(--linia2)}
.sad-dane>div:last-child{border-bottom:0}
@media (min-width:640px){.sad-dane>div{grid-template-columns:210px 1fr}}
.sad-dane dt{color:var(--tekst2);font-size:16px}
.sad-dane dd{font-weight:600}
.zrodlo{margin-top:12px}

/* Okoliczne miejscowości i miasta województwa */
.okolice h3{font-size:19px;font-weight:600;text-align:left!important;margin-top:8px}
.okolice-tresc h3+h3{color:var(--tekst);font-weight:400;font-size:18px;line-height:1.6;letter-spacing:0;margin-bottom:34px}
.okolice-tresc strong{font-weight:400}
.mapa h3{margin-top:40px}
.mapa h3:first-child{margin-top:0}
.mapa .wpisy{margin-top:14px}

/* Słownik */
.litery{display:flex;flex-wrap:wrap;gap:6px;margin-top:24px}
.litery a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;background:var(--biel);border:1px solid var(--linia2);border-radius:var(--r2);text-decoration:none;font-weight:600}
.litery a:hover{border-color:var(--las)}
.slownik{list-style:none;padding:0!important}
.slownik li{padding:14px 0;border-bottom:1px solid var(--linia2);margin:0!important}

/* Przypisy: podstawy prawne jako detal wiarygodności */
.przyp{font-size:.72em;line-height:0;vertical-align:super;font-weight:600}
.przyp a{text-decoration:none;padding:0 2px}
.przypisy{margin-top:34px;padding:18px 0 0 22px;border-top:1px solid var(--linia);font-size:15px;line-height:1.5;color:var(--tekst2);max-width:780px}
.przypisy li+li{margin-top:6px}
.przypisy li:target{background:var(--morela-tlo)}

/* Paginacja */
.pagination{margin-top:34px}
.pagination .screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.nav-links{display:flex;flex-wrap:wrap;gap:8px}
.page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:46px;min-height:46px;padding:0 12px;border:1px solid var(--linia2);border-radius:var(--r2);text-decoration:none;font-weight:600}
.page-numbers.current{background:var(--las);color:#fff;border-color:var(--las)}

/* Stopka */
.stopka{background:var(--las);color:#DCE8DF;padding:clamp(40px,5vw,64px) 0 24px;font-size:16px}
.stopka a{color:#fff}
.stopka-w{display:grid;gap:34px}
@media (min-width:860px){.stopka-w{grid-template-columns:1.6fr 1fr 1fr 1fr;gap:48px}}
.stopka-nazwa{font-size:21px;font-weight:600;color:#fff;margin-bottom:10px}
.stopka-o p+p{margin-top:16px}
.stopka-tyt{font-weight:600;color:#fff;margin-bottom:10px}
.stopka ul{list-style:none;padding:0}
.stopka li a{display:inline-block;padding:5px 0;text-decoration:none}
.stopka li a:hover{text-decoration:underline}
.stopka-dol{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin-top:40px;padding-top:20px;border-top:1px solid var(--las2);font-size:15px}

/* Pasek CTA na telefonie */
.pasek{display:none}
@media (max-width:760px){
	body{padding-bottom:78px}
	.pasek{display:flex;align-items:center;justify-content:space-between;gap:14px;position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--biel);border-top:1px solid var(--linia2);padding:10px 16px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -8px 24px rgba(23,56,45,.12);transition:transform .2s ease}
	.pasek.schowany{transform:translateY(110%)}
	.pasek-opis{font-size:14px;line-height:1.3;color:var(--tekst2)}
	.pasek-opis strong{color:var(--tekst);font-size:17px}
	.pasek .btn{min-height:50px;padding:0 20px;font-size:17px;flex:1;max-width:230px}
	.hero-akcja .btn{width:100%}
	.szukaj-pole .btn{padding:0 18px}
	.podglad{padding:18px}
}
@media (prefers-reduced-motion:reduce){.pasek{transition:none}}
@media print{.glowa,.stopka,.pasek,.cta,.okruszki{display:none}}
.dwie>*,.hero-w>*,.ceny>*,.cta>*{min-width:0}
