/* BIP Ekosystem – menu górne w linii z logo (jak ekosystem.wroc.pl),
   rozwijana wyszukiwarka, linki w stopce. */

.bip-sr {
  position: absolute !important;
  width: 1px; height: 1px;
  margin: -1px; padding: 0; border: 0;
  overflow: hidden;
  clip: rect(0 0 0 0); clip-path: inset(50%);
  white-space: nowrap;
}

/* ---------- menu górne ---------- */
.bip-nav { display: none; }

@media screen and (min-width: 1200px) {
  .header-inner__top { flex-wrap: wrap; row-gap: 26px; }

  /* obok logo, z odstępem na podpis „Biuletyn Informacji Publicznej” */
  .bip-nav {
    display: block;
    position: relative;
    z-index: 50;
    margin-left: auto;
    padding-left: 100px;
  }

  /* gdy menu nie mieści się obok logo – osobny wiersz pod logotypami */
  .header-inner__top.bip-nav-row .bip-nav {
    flex-basis: 100%;
    margin-left: 0;
    padding-left: 0;
  }
}

.bip-nav__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0; padding: 0;
  list-style: none;
}

.bip-nav__item {
  position: relative;
  display: flex;
  align-items: center;
  margin: 0 0 0 30px;
  padding: 0;
}

.bip-nav__item:first-child { margin-left: 0; }

.bip-nav__link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 44px;
  padding: 0;
  border: 0;
  background: none;
  font-family: inherit;
  font-size: 0.8em;
  line-height: 1.375em;
  font-weight: 800;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  color: #000;
  cursor: pointer;
  transition: color 0.3s;
}

.bip-nav__link:hover,
.bip-nav__item.is-open > .bip-nav__link,
.bip-nav__item.is-open > .bip-nav__toggle { color: #2E7D13; }

.bip-nav__item.is-current > .bip-nav__link {
  color: #2E7D13;
  box-shadow: inset 0 -3px 0 #2E7D13;
}

/* osobny przycisk ze strzałką (gdy pozycja nadrzędna jest linkiem) */
.bip-nav__toggle:not(.bip-nav__toggle--text) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px; height: 44px;
  padding: 0;
  border: 0;
  background: none;
  color: #000;
  cursor: pointer;
}

.bip-nav__arrow { flex: none; transition: transform 0.2s; }
.bip-nav__toggle[aria-expanded="true"] .bip-nav__arrow { transform: rotate(180deg); }
.bip-nav__lupa { flex: none; }

/* pozycja „Szukaj” oddzielona kreską jak przełącznik języka na stronie głównej */
.bip-nav__item--search { padding-left: 24px; border-left: 1px solid #c9d6c9; }

/* ---------- podmenu (jak rozwijane menu ekosystem.wroc.pl) ---------- */
.bip-nav__sub {
  display: none;
  position: absolute;
  top: calc(100% + 12px);
  left: -30px;
  z-index: 60;
  width: max-content;
  min-width: 280px;
  max-width: min(450px, 90vw);
  margin: 0;
  padding: 14px 40px 14px 30px;
  list-style: none;
  text-align: left;
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 0 5px 8px 0 rgba(0, 0, 0, 0.2);
}

/* most nad szczeliną, żeby podmenu nie znikało przy zjeżdżaniu kursorem */
.bip-nav__sub::before {
  content: "";
  position: absolute;
  left: 0; right: 0; top: -12px;
  height: 12px;
}

/* trójkącik nad podmenu */
.bip-nav__sub::after {
  content: "";
  position: absolute;
  top: -8px; left: 44px;
  border: 8px solid transparent;
  border-top: 0;
  border-bottom-color: #fff;
}

.bip-nav__item.is-open > .bip-nav__sub { display: block; }

/* bez JavaScriptu podmenu otwiera się po najechaniu lub wejściu klawiszem Tab */
.bip-nav:not(.bip-nav--js) .bip-nav__item:hover > .bip-nav__sub,
.bip-nav:not(.bip-nav--js) .bip-nav__item:focus-within > .bip-nav__sub { display: block; }

/* ostatnie pozycje otwierają się w lewo, żeby nie wyjść poza ekran */
.bip-nav__item:nth-last-child(-n+3) > .bip-nav__sub { left: auto; right: -30px; }
.bip-nav__item:nth-last-child(-n+3) > .bip-nav__sub::after { left: auto; right: 44px; }

.bip-nav__subitem { margin: 0; padding: 0; }

.bip-nav__sublink {
  display: block;
  padding: 12px 0;
  font-size: 0.9em;
  line-height: 1.3em;
  font-weight: 600;
  text-decoration: none;
  color: #000;
  transition: color 0.3s;
}

.bip-nav__sublink:hover { color: #2E7D13; text-decoration: underline; }

.bip-nav__subitem.is-current > .bip-nav__sublink {
  color: #2E7D13;
  text-decoration: underline;
}

.bip-nav__sub--search {
  width: 400px;
  padding: 22px 26px 24px;
}

/* ---------- formularz wyszukiwania ---------- */
.bip-search { margin: 0; }

.bip-search__label {
  display: block;
  margin-bottom: 10px;
  font-size: 0.65em;
  font-weight: 800;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #2E7D13;
}

.bip-search__row {
  display: flex;
  align-items: stretch;
  border: 2px solid #000;
  border-radius: 25px;
  background: #fff;
  overflow: hidden;
}

.bip-search__row:focus-within {
  border-color: #2E7D13;
  box-shadow: 0 0 0 2px #2E7D13;
}

.bip-search__input {
  flex: 1 1 auto;
  min-width: 0;
  height: 44px;
  margin: 0;
  padding: 0 18px;
  font-family: inherit;
  font-size: 0.8em;
  color: #000;
  background: transparent;
  border: 0;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  appearance: none;
}

.bip-search__btn {
  flex: none;
  margin: 0;
  padding: 0 20px;
  font-family: inherit;
  font-size: 0.65em;
  font-weight: 800;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: #fff;
  background: #2E7D13;
  border: 0;
  cursor: pointer;
  transition: background-color 0.3s;
}

.bip-search__btn:hover { background: #000; }

/* wyszukiwarka w menu mobilnym */
.mobile-menu .bip-search { width: 100%; margin-bottom: 30px; }

/* ---------- wyniki wyszukiwania ---------- */
.bip-results { margin: 30px 0; padding: 0; list-style: none; }
.bip-results > li { padding: 18px 0; border-top: 1px solid #ededed; }
.bip-results a { font-weight: 600; color: #2E7D13; }
.bip-results__meta { display: block; margin-top: 4px; font-size: 0.7em; color: #555; }

/* ---------- linki w stopce ---------- */
.bip-footer-links ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 28px;
  margin: 0; padding: 20px 0;
  list-style: none;
}

.bip-footer-links a { font-size: 0.75em; font-weight: 600; color: #000; text-decoration: underline; }
.bip-footer-links a:hover { color: #2E7D13; }

/* ---------- widoczny fokus ---------- */
.bip-nav__link:focus-visible,
.bip-nav__toggle:focus-visible,
.bip-nav__sublink:focus-visible,
.bip-footer-links a:focus-visible,
.header-inner__logo:focus-visible {
  outline: 3px solid #000;
  outline-offset: 3px;
}

.bip-search__btn:focus-visible {
  outline: 3px solid #000;
  outline-offset: -5px;
}

/* ---------- wersja kontrastowa ---------- */
body.contrast-version .bip-nav__link,
body.contrast-version .bip-nav__toggle,
body.contrast-version .bip-nav__sublink,
body.contrast-version .bip-search__label,
body.contrast-version .bip-footer-links a { color: #000; }

body.contrast-version .bip-nav__item.is-current > .bip-nav__link,
body.contrast-version .bip-nav__subitem.is-current > .bip-nav__sublink,
body.contrast-version .bip-nav__link:hover,
body.contrast-version .bip-nav__sublink:hover { color: #000; text-decoration: underline; }

body.contrast-version .bip-nav__item.is-current > .bip-nav__link { box-shadow: inset 0 -3px 0 #000; }
body.contrast-version .bip-nav__sub { border: 2px solid #000; box-shadow: none; }
body.contrast-version .bip-search__row,
body.contrast-version .bip-search__row:focus-within { border-color: #000; box-shadow: 0 0 0 2px #000; }
body.contrast-version .bip-search__btn { background: #000; color: #fff; }

@media (prefers-reduced-motion: reduce) {
  .bip-nav__arrow, .bip-nav__link, .bip-nav__sublink, .bip-search__btn { transition: none; }
}

/* logo w stopce bez linku (decyzja 16.10) */
.logo-lama { display: inline-block; }
.logo-lama:hover { opacity: 1; }
