/* v2.8.4 accessibility: reusable skip link and readable hero lead. */
.skipLink{position:absolute;top:-120px;left:12px;z-index:10001;background:#fff;color:#111;padding:10px 14px;border-radius:8px;font-weight:600}
.skipLink:focus{top:12px}
/* ZnajdzBus 2.8.0 — one compact navigation bar on every page. */
.zbHeader{--nav-bg:#fff;--nav-text:#14233a;--nav-muted:#536a84;--nav-line:#d8e5ef;--nav-soft:#edf5fb;--nav-active:#0e2746;--nav-on-active:#fff;position:sticky;top:0;z-index:100;background:var(--nav-bg);color:var(--nav-text);border-bottom:1px solid var(--nav-line)}
html[data-theme="dark"] .zbHeader{--nav-bg:#182432;--nav-text:#f0f5fb;--nav-muted:#bdcbdc;--nav-line:#667b92;--nav-soft:#203247;--nav-active:#88d2ff;--nav-on-active:#0b2335}
html[data-theme="contrast"] .zbHeader{--nav-bg:#fff;--nav-text:#000;--nav-muted:#000;--nav-line:#000;--nav-soft:#fff;--nav-active:#000;--nav-on-active:#fff;border-bottom:2px solid #000}
.zbHeaderInner{position:relative;display:flex;align-items:center;gap:24px;min-height:80px;width:min(1180px,calc(100% - 40px));margin:auto}
.zbHeader .zbLogo{display:inline-flex;align-items:center;gap:10px;flex-shrink:0;min-height:48px;color:var(--nav-text)!important;text-decoration:none!important;font-size:23px;font-weight:800;letter-spacing:-.045em;line-height:1}
.zbLogo img{display:block;flex:none;width:38px;height:38px;border-radius:9px}
.zbNav{display:flex;align-items:center;justify-content:space-between;flex:1;gap:18px;min-width:0}
.zbNavLinks{display:flex;align-items:center;gap:4px}
.zbHeader .zbNavLink{display:flex;align-items:center;min-height:44px;padding:8px 12px;border-radius:9px;color:var(--nav-text)!important;text-decoration:none!important;font-size:14px;font-weight:600;white-space:nowrap}
.zbHeader .zbNavLink[aria-current="page"]{background:var(--nav-soft);text-decoration:underline!important;text-underline-offset:5px;text-decoration-thickness:2px!important}
.zbHeader .zbNavLink:hover{background:var(--nav-soft);text-decoration:underline!important;text-underline-offset:5px}
.zbHeader .zbNavFeedback{display:grid;align-content:center;gap:2px;min-height:48px;background:transparent;color:var(--nav-text);border:0;border-radius:9px;padding:6px 10px;text-align:left;font:inherit;cursor:pointer;white-space:nowrap}
.zbNavFeedback>span{font-size:11px;line-height:1.2;color:var(--nav-muted)}
.zbNavFeedback>strong{font-size:13px;line-height:1.35;font-weight:600}
.zbHeader .zbNavFeedback:hover{background:var(--nav-soft)}
.zbHeader .zbThemeInline{position:static;display:flex;align-items:center;gap:3px;flex:none;padding-left:16px;border-left:1px solid var(--nav-line)}
.zbHeader .zbThemeInline button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:44px;padding:7px 9px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--nav-text);font:inherit;font-size:12px;font-weight:600;line-height:1.3;white-space:nowrap;cursor:pointer}
.zbHeader .zbThemeInline button span{font-size:19px;line-height:1}
.zbHeader .zbThemeInline button:hover{background:var(--nav-soft);border-color:var(--nav-line)}
.zbHeader .zbThemeInline button[aria-pressed="true"]{background:var(--nav-active);color:var(--nav-on-active);border-color:var(--nav-active);text-decoration:underline;text-underline-offset:4px}
.zbHeader .zbMenuToggle{display:none;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:8px 12px;border:1px solid var(--nav-line);border-radius:10px;background:var(--nav-bg);color:var(--nav-text);font:inherit;font-size:14px;cursor:pointer}
.zbHeader [hidden]{display:none!important}
html .zbHeader :focus-visible{outline:3px solid var(--nav-active)!important;outline-offset:3px!important}
html .hero{min-height:0!important}
html .heroInner{padding:38px 0 90px!important}
html .hero h1,html .hero .heroPageTitle{font-size:clamp(30px,3.6vw,48px)!important;line-height:1.12!important;margin:0 0 12px!important;max-width:850px}
html .heroLead{font-size:16px!important;max-width:68ch!important}
#searchForm,#mainContent{scroll-margin-top:96px}
.zbChangelogTitle{padding:34px 0 0}
.zbChangelogTitle h1{font-size:32px;line-height:1.2;margin:0 0 8px;letter-spacing:-.03em}
.zbChangelogTitle p{color:var(--c-muted,#536a84);margin:0}
/* Same feedback form on the changelog, without loading the route finder. */
.zbChangelog .feedbackModal[hidden]{display:none!important}
.zbChangelog .feedbackModal{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:18px}
.zbChangelog .feedbackBackdrop{position:absolute;inset:0;background:#0a192d94}
.zbChangelog .feedbackDialog{position:relative;z-index:1;width:min(560px,100%);max-height:calc(100dvh - 36px);overflow:auto;background:var(--c-surface,#fff);color:var(--c-ink,#14233a);border:1px solid var(--c-line,#d8e5ef);border-radius:18px;padding:24px;font-size:16px;line-height:1.5}
.zbChangelog .feedbackDialog h2{font-size:24px;line-height:1.2;margin:8px 32px 12px 0}
.zbChangelog .feedbackDialog p,.zbChangelog .feedbackHint{font-size:14px;color:var(--c-muted,#536a84)}
.zbChangelog .feedbackDialog label{display:block;font-size:14px;font-weight:600;margin:14px 0 6px}
.zbChangelog .feedbackDialog select,.zbChangelog .feedbackDialog textarea{box-sizing:border-box;display:block;width:100%;padding:10px 12px;min-height:44px;background:var(--c-surface,#fff);color:var(--c-ink,#14233a);border:1px solid var(--c-line,#d8e5ef);border-radius:10px;font:inherit}
.zbChangelog .feedbackActions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}
.zbChangelog .feedbackActions button{min-height:44px;border-radius:10px;padding:0 14px;font:inherit;font-weight:600;cursor:pointer}
.zbChangelog .secondaryBtn{background:#fff;color:#14233a;border:1px solid #536a84}
.zbChangelog .primaryFeedbackBtn{background:#0b78b4;color:#fff;border:0}
.zbChangelog .feedbackClose{position:absolute;right:12px;top:12px;width:44px;height:44px;border:1px solid #d8e5ef;border-radius:50%;background:#fff;color:#14233a;font-size:24px;cursor:pointer}
.zbChangelog .pill{font-size:12px;font-weight:600}
@media(max-width:1120px){
 .zbHeaderInner{justify-content:space-between;flex-wrap:wrap;gap:0;min-height:68px}
 .zbHeader .zbMenuToggle:not([hidden]){display:flex}
 .zbNav{flex:1 1 100%;display:flex;flex-direction:column;align-items:stretch;gap:14px;padding:16px 0}
 .zbNavReady .zbNav{position:absolute;top:100%;right:0;width:min(420px,100%);max-height:calc(100vh - 88px);max-height:calc(100dvh - 88px);overflow:auto;background:var(--nav-bg);border:1px solid var(--nav-line);border-top:0;border-radius:0 0 14px 14px;padding:14px;box-shadow:0 14px 28px #0002}
 .zbNavLinks{align-items:stretch;flex-direction:column;gap:6px}
 .zbHeader .zbNavLink{padding:12px;font-size:16px}
 .zbHeader .zbNavFeedback{padding:12px;min-height:58px}
 .zbNavFeedback>strong{font-size:14px}
 .zbHeader .zbThemeInline{padding:14px 0 0;border-left:0;border-top:1px solid var(--nav-line);flex-wrap:wrap;gap:6px}
 .zbHeader .zbThemeInline button{flex:1 1 auto;font-size:13px}
 #searchForm,#mainContent{scroll-margin-top:84px}
}
@media(max-width:650px){
 .zbHeaderInner{width:calc(100% - 24px);min-height:64px}
 .zbHeader .zbLogo{font-size:22px;gap:8px}
 .zbLogo img{width:34px;height:34px}
 html .heroInner{padding:28px 0 96px!important}
 html .hero h1,html .hero .heroPageTitle{font-size:32px!important}
 html .heroLead{font-size:15px!important}
 .zbChangelogTitle h1{font-size:28px}
 .zbChangelog .feedbackDialog{padding:18px}
 .zbChangelog .feedbackActions{flex-wrap:wrap}
}
@media(forced-colors:active){.zbHeader{border-color:CanvasText}.zbHeader .zbThemeInline button[aria-pressed="true"]{border:2px solid Highlight}.zbHeader .zbNavLink[aria-current="page"]{outline:1px solid Highlight}}
@media print{.zbHeader{position:static}.zbNav,.zbMenuToggle{display:none!important}}
/* Same overlap, hero clearance and card proportions as the home search card.
   Applied by CSS from first paint; no JavaScript repositioning. */
html body:is(.zbSeoPage,.zbStopPermanentPage) .main{position:relative;z-index:10;margin-top:-62px!important}
html body:is(.zbSeoPage,.zbStopPermanentPage) :is(.zbSeoContext,.zb-st-card){border-radius:22px!important}
html body.zbSeoPage .zbSeoContext{padding:20px}
@media(max-width:650px){
 html body:is(.zbSeoPage,.zbStopPermanentPage) .main{width:calc(100% - 20px)!important;margin-top:-64px!important}
 html body.zbSeoPage .zbSeoContext{padding:14px}
}
@media(max-width:390px){
 html body:is(.zbSeoPage,.zbStopPermanentPage) .main{width:calc(100% - 16px)!important}
 html body.zbSeoPage .zbSeoContext{padding:12px}
}
