/* Globalna nawigacja WWW. Prefiks chroni przed regułami starego szablonu. */
html.uws-www-navigation header { position: relative; z-index: 20; background: #003d7c; }
html.uws-www-navigation .godlo_polski,
html.uws-www-navigation .logo_uph { position: relative; z-index: 1; }
/* Podstrony ładują template_mainpage.css z kolorowym logo. Na granacie jest
   ono niemal niewidoczne, dlatego header WWW zawsze używa wersji białej. */
html.uws-www-navigation header .logo_uph { background-image: url("/templates/www.uph.edu.pl/images/logo-uws-poziom-bialy.svg") !important; }
html.uws-www-navigation header .logo_uph.en { background-image: url("/templates/www.uph.edu.pl/images/logo-uws-en-white.svg") !important; }
html.uws-www-navigation header .logo_uph.ru { background-image: url("/templates/www.uph.edu.pl/images/logo_uph_ru_biale.svg") !important; }
html.uws-www-navigation header .logo_uph.uk { background-image: url("/templates/www.uph.edu.pl/images/logo-uws-poziom-bialy-uk.png") !important; }
html.uws-www-navigation #main-navigation { position: relative; z-index: 80; isolation: isolate; background: #003d7c; }
html.uws-www-navigation #main-navigation > * { position: relative; z-index: 1; }
html.uws-www-navigation #main-navigation::before {
  position: absolute; z-index: 0; top: 0; bottom: 0; left: 50%; width: 100vw;
  background: #003d7c; content: ""; transform: translateX(-50%);
}
html.uws-www-navigation #main-navigation { float: none; margin: 0; }

@media (min-width: 1225px) {
  /* Stare podstrony nadpisują barwę z djmegamenu.css przez template_mainpage.
     Pasek WWW ma zawsze granatowe tło, więc kontrast pierwszego poziomu musi
     być niezależny od konkretnego, odziedziczonego szablonu strony. */
  html.uws-www-navigation #main-navigation > div,
  html.uws-www-navigation #main-navigation .menu-container,
  html.uws-www-navigation #main-navigation .menu { width: 100%; }
  html.uws-www-navigation #main-navigation ul.dj-megamenu {
    display: flex !important; justify-content: center; width: fit-content; margin: 0 auto !important;
  }
  html.uws-www-navigation #main-navigation ul.dj-megamenu > li { float: none; }
  html.uws-www-navigation #main-navigation .dj-subwrap { z-index: 81; }
  html.uws-www-navigation #main-navigation ul.dj-megamenu > li > a.dj-up_a,
  html.uws-www-navigation #main-navigation ul.dj-megamenu > li > a.dj-up_a span,
  html.uws-www-navigation #main-navigation ul.dj-megamenu > li > a.dj-up_a .arrow { color: #fff !important; }
  html.uws-www-navigation header #rokajaxsearch label,
  html.uws-www-navigation header #rokajaxsearch input[type="submit"] { color: #fff !important; }
  html.uws-www-navigation header #roksearch_search_str {
    color: #fff; border: 1px solid rgba(255, 255, 255, .8); background-color: transparent;
  }
}

.uws-www-mobile-nav { display: none; }
/* W statycznym archiwum występują trzy numery modułu; żaden nie może wrócić
   jako drugi, boczny akordeon obok nowej nawigacji. */
html.uws-www-navigation #main-navigation .dj-megamenu-accordion { display: none !important; }

@media (max-width: 1224px) {
  html.uws-www-navigation header { display: flow-root; background: #003d7c !important; }
  html.uws-www-navigation #main-navigation { display: none; }
  html.uws-www-navigation .godlo_polski,
  html.uws-www-navigation .logo_uph { z-index: auto; }

  .uws-www-mobile-nav {
    position: sticky; top: 0; z-index: 90; display: block; width: 100%;
    float: none !important; margin: 0 !important; color: #fff; background: #003d7c; box-shadow: none;
  }
  .uws-www-mobile-nav__bar {
    display: flex; align-items: center; justify-content: space-between; max-width: 1200px;
    min-height: 52px; margin: 0 auto; padding: 0 16px;
  }
  .uws-www-mobile-nav__toggle {
    display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 7px 4px;
    border: 0; color: inherit; background: transparent; font: inherit; font-weight: 700; cursor: pointer;
  }
  .uws-www-mobile-nav__toggle:focus-visible,
  .uws-www-mobile-nav a:focus-visible,
  .uws-www-mobile-nav__branch-toggle:focus-visible {
    outline: 3px solid #ffbf47; outline-offset: 2px;
  }
  .uws-www-mobile-nav__icon,
  .uws-www-mobile-nav__icon::before,
  .uws-www-mobile-nav__icon::after {
    display: block; width: 22px; height: 2px; background: currentColor; content: "";
  }
  .uws-www-mobile-nav__icon { position: relative; }
  .uws-www-mobile-nav__icon::before { position: absolute; top: -7px; }
  .uws-www-mobile-nav__icon::after { position: absolute; top: 7px; }
  .uws-www-mobile-nav--open .uws-www-mobile-nav__icon { background: transparent; }
  .uws-www-mobile-nav--open .uws-www-mobile-nav__icon::before { top: 0; transform: rotate(45deg); }
  .uws-www-mobile-nav--open .uws-www-mobile-nav__icon::after { top: 0; transform: rotate(-45deg); }

  .uws-www-mobile-nav__panel {
    position: absolute; right: 0; left: 0; max-height: calc(100dvh - 52px); overflow: auto;
    overscroll-behavior: contain; color: #18222d; background: #fff;
    box-shadow: 0 5px 14px rgba(0, 0, 0, .3);
  }
  .uws-www-mobile-nav__search { position: relative; z-index: 1; padding: 16px; border-bottom: 1px solid #d5dbe2; background: #f4f7fa; }
  .uws-www-mobile-nav__search form#rokajaxsearch { float: none; width: 100%; margin: 0; overflow: visible; }
  .uws-www-mobile-nav__search .rokajaxsearch { display: block !important; }
  .uws-www-mobile-nav__search .roksearch-wrapper { display: flex; gap: 8px; align-items: center; }
  .uws-www-mobile-nav__search label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .uws-www-mobile-nav__search input[type="text"] { min-width: 0; flex: 1; min-height: 44px; padding: 8px 10px; border: 1px solid #8290a0; color: #18222d; background: #fff; }
  .uws-www-mobile-nav__search input[type="submit"] { min-height: 44px; width: auto; margin: 0; border-color: #003d7c; color: #003d7c; }
  .uws-www-mobile-nav__search input[type="submit"]:hover { color: #fff; background: #003d7c; }

  .uws-www-mobile-nav__list,
  .uws-www-mobile-nav__list ul { margin: 0; padding: 0; list-style: none; }
  .uws-www-mobile-nav__item { border-bottom: 1px solid #d5dbe2; }
  .uws-www-mobile-nav__row { display: grid; grid-template-columns: minmax(0, 1fr) 52px; align-items: stretch; }
  .uws-www-mobile-nav__row--leaf { grid-template-columns: 1fr; }
  .uws-www-mobile-nav__link,
  .uws-www-mobile-nav__text {
    display: flex; align-items: center; min-height: 52px; padding: 10px 16px; color: #18222d;
    font-size: 16px; line-height: 1.25; text-decoration: none;
  }
  .uws-www-mobile-nav__row > .uws-www-mobile-nav__link,
  .uws-www-mobile-nav__row > .uws-www-mobile-nav__text { grid-column: 1; grid-row: 1; }
  .uws-www-mobile-nav__link:hover { color: #fff; background: #003d7c; text-decoration: underline; }
  .uws-www-mobile-nav__branch-toggle { grid-column: 2; grid-row: 1; min-width: 52px; min-height: 52px; border: 0; color: #003d7c; background: #eef3f8 !important; cursor: pointer; }
  .uws-www-mobile-nav__branch-toggle::before { display: inline-block; border: solid currentColor; border-width: 0 2px 2px 0; padding: 4px; content: ""; transform: rotate(45deg) translateY(-2px); }
  .uws-www-mobile-nav__item--open > .uws-www-mobile-nav__row .uws-www-mobile-nav__branch-toggle::before { transform: rotate(-135deg) translate(-2px, -2px); }
  .uws-www-mobile-nav__sub { padding-left: 16px !important; background: #f4f7fa; }
  .uws-www-mobile-nav__sub .uws-www-mobile-nav__link,
  .uws-www-mobile-nav__sub .uws-www-mobile-nav__text { min-height: 48px; font-size: 15px; }
}

@media (prefers-reduced-motion: no-preference) {
  .uws-www-mobile-nav__icon,
  .uws-www-mobile-nav__icon::before,
  .uws-www-mobile-nav__icon::after { transition: transform .16s ease, top .16s ease, background-color .16s ease; }
}
