/* Olszany.pl CORE 0.1.53 — wspólna geometria górnej belki publicznej */
.public-topbar .topbar-inner{
  display:grid;
  grid-template-columns:minmax(185px,1fr) auto minmax(185px,1fr);
  align-items:center;
  gap:18px;
  min-height:76px;
}
.public-topbar .brand{
  justify-self:start;
  min-width:0;
}
.public-topbar .brand span:last-child{
  min-width:0;
}
.public-topbar .desktop-nav{
  justify-self:center;
  align-items:center;
  justify-content:center;
  flex-wrap:nowrap;
  white-space:nowrap;
  min-width:0;
}
.public-topbar .login-link{
  justify-self:end;
  white-space:nowrap;
}

/* Mniejsze laptopy: belka zachowuje ten sam środek bez wchodzenia na logo. */
@media (min-width:901px) and (max-width:1120px){
  .public-topbar .topbar-inner{
    grid-template-columns:minmax(155px,1fr) auto minmax(105px,1fr);
    gap:12px;
  }
  .public-topbar .desktop-nav{
    gap:11px;
    font-size:12px;
  }
  .public-topbar .brand-crest{
    width:50px;
    height:50px;
    flex-basis:50px;
  }
  .public-topbar .brand small{display:none}
}

/* Tablet/telefon: nawigację sekcji przejmuje dolna belka strony. */
@media (max-width:900px){
  .public-topbar .topbar-inner{
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px;
  }
  .public-topbar .desktop-nav{display:none}
  .public-topbar .brand{min-width:0}
  .public-topbar .brand span:last-child{min-width:0}
  .public-topbar .login-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:8px 12px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
    color:var(--green);
    font-size:12px;
    font-weight:900;
    box-shadow:0 4px 14px rgba(18,63,49,.06);
  }
}

@media (max-width:420px){
  .public-topbar .brand-crest{
    width:50px;
    height:50px;
    flex-basis:50px;
  }
  .public-topbar .brand{gap:8px}
  .public-topbar .brand b{font-size:14px}
  .public-topbar .brand small{font-size:11px}
}

@media (max-width:360px){
  .public-topbar .brand small{display:none}
  .public-topbar .login-link{padding:7px 9px}
}

/* FINAL 1.1 — dostępność: szybkie przejście do treści */
.skip-link{position:fixed;left:14px;top:10px;z-index:10000;transform:translateY(-160%);background:#fff;color:#123d31!important;border:2px solid currentColor;border-radius:10px;padding:10px 14px;font-weight:900;box-shadow:0 8px 25px rgba(0,0,0,.18);transition:transform .15s ease}.skip-link:focus{transform:translateY(0)}
:focus-visible{outline:3px solid rgba(11,95,70,.38);outline-offset:3px}

/* Olszany.pl — globalny przełącznik instytucji (UI test 1.1.7) */
.portal-org-switcher{
  position:sticky;
  top:76px;
  z-index:36;
  background:rgba(243,246,243,.96);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(211,224,217,.95);
  box-shadow:0 5px 15px rgba(18,63,49,.04);
}
.portal-org-switcher-inner{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:58px;
  padding:7px 0;
}
.portal-org-switcher-title{
  flex:0 0 auto;
  color:#667a72;
  font-size:10px;
  line-height:1;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.portal-org-switcher-track{
  min-width:0;
  flex:1 1 auto;
  display:flex;
  align-items:center;
  gap:8px;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  padding:2px 1px 4px;
}
.portal-org-switcher-track::-webkit-scrollbar{display:none}
.portal-org-switcher-item{
  --switcher-accent:#0B6B50;
  position:relative;
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:7px;
  min-height:40px;
  max-width:180px;
  padding:5px 10px 5px 6px;
  border:1px solid #dce7e1;
  border-radius:999px;
  background:#fff;
  color:#2a493f;
  font-size:12px;
  font-weight:850;
  line-height:1.1;
  scroll-snap-align:center;
  box-shadow:0 3px 10px rgba(18,63,49,.035);
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease,color .15s ease;
}
.portal-org-switcher-item:hover{
  transform:translateY(-1px);
  border-color:var(--switcher-accent);
  box-shadow:0 6px 15px rgba(18,63,49,.08);
}
.portal-org-switcher-item.is-active{
  color:#17332b;
  border:2px solid var(--switcher-accent);
  padding:4px 9px 4px 5px;
  box-shadow:0 5px 14px rgba(18,63,49,.10),inset 0 -3px 0 var(--switcher-accent);
}
.portal-org-switcher-logo{
  flex:0 0 30px;
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:1px solid #e1e9e5;
  border-radius:50%;
  background:#fff;
}
.portal-org-switcher-logo img{
  width:100%;
  height:100%;
  padding:2px;
  object-fit:contain;
  background:#fff;
}
.portal-org-switcher-logo .org-initial{
  color:#536a61;
  font-size:9px;
  font-weight:900;
}
.portal-org-switcher-name{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

@media (max-width:900px){
  .portal-org-switcher{top:64px}
  .portal-org-switcher-inner{
    width:100%;
    min-height:52px;
    gap:0;
    padding:5px 0;
  }
  .portal-org-switcher-title{display:none}
  .portal-org-switcher-track{
    gap:7px;
    padding:2px 10px 3px;
    scroll-padding-inline:calc(50vw - 64px);
  }
  .portal-org-switcher-item{
    min-height:38px;
    max-width:145px;
    padding:4px 9px 4px 5px;
    font-size:11px;
  }
  .portal-org-switcher-item.is-active{padding:3px 8px 3px 4px}
  .portal-org-switcher-logo{width:29px;height:29px;flex-basis:29px}
}

@media (max-width:380px){
  .portal-org-switcher-track{gap:6px;padding-inline:8px}
  .portal-org-switcher-item{max-width:132px;font-size:10.5px}
}

/* 1.1.11 — zamiast linku „Panel” pokazujemy lekki licznik gości online. */
.public-topbar .public-online-badge{justify-self:end;display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:7px 11px;border:1px solid #dce7e1;border-radius:13px;background:#fff;color:#27483e;box-shadow:0 4px 14px rgba(18,63,49,.055);white-space:nowrap}
.public-online-badge>i{width:9px;height:9px;border-radius:50%;background:#21a366;box-shadow:0 0 0 4px rgba(33,163,102,.11)}
.public-online-badge>span{display:flex;align-items:baseline;gap:4px}.public-online-badge b{font-size:13px;line-height:1}.public-online-badge small{font-size:10px;color:#71847d;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
@media(max-width:900px){.public-topbar .public-online-badge{min-height:36px;padding:6px 9px;gap:7px}.public-online-badge>i{width:8px;height:8px}.public-online-badge b{font-size:12px}.public-online-badge small{font-size:9px}}
@media(max-width:360px){.public-online-badge small{display:none}.public-topbar .public-online-badge{padding:7px 9px}}

/* Olszany.pl v1.1.28 — na PC kafelki instytucji mają rozmiar jak na stronie głównej */
@media (min-width:1280px){
  .portal-org-switcher-inner{
    min-height:102px;
    padding:12px 0 8px;
    gap:0;
  }
  .portal-org-switcher-title{display:none}
  .portal-org-switcher-track{
    gap:14px;
    padding:0 0 4px;
    overflow-x:auto;
  }
  .portal-org-switcher-item{
    flex:1 1 0;
    min-width:0;
    max-width:none;
    min-height:78px;
    padding:15px 16px;
    gap:12px;
    justify-content:center;
    border:1px solid #dce7e1;
    border-bottom:4px solid var(--switcher-accent);
    border-radius:21px;
    font-size:15px;
    box-shadow:0 8px 24px rgba(18,63,49,.07);
  }
  .portal-org-switcher-item:hover{
    transform:translateY(-1px);
    border-color:#dce7e1;
    border-bottom-color:var(--switcher-accent);
    box-shadow:0 10px 25px rgba(18,63,49,.10);
  }
  .portal-org-switcher-item.is-active{
    padding:14px 15px;
    border:2px solid var(--switcher-accent);
    border-bottom-width:4px;
    box-shadow:0 10px 28px rgba(18,63,49,.12);
  }
  .portal-org-switcher-logo{
    width:46px;
    height:46px;
    flex-basis:46px;
  }
  .portal-org-switcher-logo .org-initial{font-size:12px}
  .portal-org-switcher-name{
    overflow:visible;
    text-overflow:clip;
  }
}
@media (min-width:1800px){
  .portal-org-switcher-inner{min-height:108px;padding:12px 0 8px}
  .portal-org-switcher-item{
    min-height:84px;
    padding:17px 20px;
    font-size:16px;
  }
  .portal-org-switcher-item.is-active{padding:16px 19px}
  .portal-org-switcher-logo{
    width:50px;
    height:50px;
    flex-basis:50px;
  }
}


/* Olszany.pl v1.1.45 — globalna lupa i szybkie wyszukiwanie */
.public-header-actions{justify-self:end;display:flex;align-items:center;gap:8px;min-width:0}.public-topbar .public-header-actions .public-online-badge{justify-self:auto}.public-search-trigger{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;border:1px solid #dce7e1;border-radius:13px;background:#fff;color:#24483d;text-decoration:none;box-shadow:0 4px 14px rgba(18,63,49,.055);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.public-search-trigger:hover{transform:translateY(-1px);border-color:#9fc6b7;box-shadow:0 8px 18px rgba(18,63,49,.09)}.public-search-trigger>span{font-size:25px;line-height:1;transform:rotate(-15deg)}.public-search-trigger>b{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.portal-search-overlay[hidden]{display:none!important}.portal-search-overlay{position:fixed;inset:0;z-index:9999;display:grid;place-items:start center;padding:110px 18px 24px;background:rgba(9,33,26,.56);backdrop-filter:blur(8px)}.portal-search-dialog{width:min(720px,100%);overflow:hidden;border:1px solid rgba(255,255,255,.65);border-radius:24px;background:#fff;box-shadow:0 28px 80px rgba(0,0,0,.24)}.portal-search-dialog-head{display:flex;align-items:center;justify-content:space-between;padding:17px 20px;border-bottom:1px solid #e7eeea}.portal-search-dialog-head>div{display:flex;flex-direction:column}.portal-search-dialog-head small{color:#799087;font-size:10px;font-weight:900;letter-spacing:.12em}.portal-search-dialog-head b{font-size:19px}.portal-search-dialog-head button{width:38px;height:38px;border:0;border-radius:50%;background:#eef4f1;color:#294a3f;font-size:25px;cursor:pointer}.portal-search-dialog-form{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin:18px;padding:8px 8px 8px 15px;border:2px solid #d6e4dd;border-radius:17px}.portal-search-dialog-form>span{font-size:21px}.portal-search-dialog-form input{min-width:0;width:100%;border:0;outline:0;background:transparent;padding:10px 0;font:inherit;font-size:17px;color:#18352c}.portal-search-dialog-form button{border:0;border-radius:12px;background:#0b5f46;color:#fff;padding:11px 17px;font-weight:900;cursor:pointer}.portal-search-dialog-hint{display:flex;flex-wrap:wrap;gap:7px;padding:0 18px 20px}.portal-search-dialog-hint span{padding:6px 9px;border-radius:999px;background:#f0f6f3;color:#61776e;font-size:11px;font-weight:800}html.search-open{overflow:hidden}
@media(max-width:900px){.public-header-actions{gap:6px}.public-search-trigger{width:36px;height:36px;flex-basis:36px;border-radius:12px}.public-search-trigger>span{font-size:22px}.portal-search-overlay{padding:0;background:#f3f7f5;place-items:stretch}.portal-search-dialog{width:100%;height:100dvh;border:0;border-radius:0;box-shadow:none;display:flex;flex-direction:column}.portal-search-dialog-head{padding:calc(12px + env(safe-area-inset-top)) 16px 13px}.portal-search-dialog-form{grid-template-columns:auto minmax(0,1fr);margin:18px 14px 10px}.portal-search-dialog-form button{grid-column:1/-1;width:100%}.portal-search-dialog-hint{padding:6px 14px 18px}.public-topbar .public-online-badge{padding:6px 8px}}
@media(max-width:420px){.public-header-actions{gap:5px}.public-search-trigger{width:34px;height:34px;flex-basis:34px}.public-topbar .public-online-badge{min-height:34px}}
