:root{
  --topbar-bg:#215e33;
  --topbar-link:#e5e7eb;
  --topbar-link-hover:#fff;
  --topbar-underline:#93c5fd;
  --topbar-border:rgba(255,255,255,.08);
}
:root[data-theme="dark"]{
  --topbar-bg:#0f1620;
  --topbar-link:#d1d5db;
  --topbar-link-hover:#fff;
  --topbar-underline:#8ee5b0;
  --topbar-border:rgba(255,255,255,.12);
}

/* Pasek */
.school-toolbar{
  background:var(--topbar-bg);
  color:var(--topbar-link);
  border-bottom:1px solid var(--topbar-border);
}
.school-toolbar .pf-c-masthead__content{
  max-width:1200px;
  margin:0 auto;
}

/* ===== DESKTOP ===== */
.school-topnav .pf-c-nav__list{
  display:grid;
  grid-template-columns:repeat(7,minmax(110px,1fr));
  gap:.5rem;
  margin:0;
  padding:.35rem .5rem;
}
@media (max-width:1200px){
  .school-topnav .pf-c-nav__list{ grid-template-columns:repeat(6,minmax(110px,1fr)); }
}
@media (max-width:992px){
  .school-topnav .pf-c-nav__list{ grid-template-columns:repeat(4,minmax(110px,1fr)); }
}

.school-topnav .pf-c-nav__item{ list-style:none; position:relative; }
.school-topnav .pf-c-nav__link{
  display:block; text-align:center;
  padding:.45rem .6rem; border-radius:.35rem;
  color:var(--topbar-link); text-decoration:none;
  transition:background .15s,color .15s;
}
.school-topnav .pf-c-nav__link:hover{
  color:var(--topbar-link-hover);
  background:rgba(255,255,255,.06);
}
.school-topnav .pf-c-nav__link::after{
  content:""; display:block; height:2px; width:0;
  margin:4px auto 0; background:var(--topbar-underline);
  transition:width .15s;
}
.school-topnav .pf-c-nav__item.pf-m-current .pf-c-nav__link{
  color:var(--topbar-link-hover);
  background:rgba(255,255,255,.08);
}
.school-topnav .pf-c-nav__item.pf-m-current .pf-c-nav__link::after{ width:26px; }

/* Dropdown */
.school-topnav .school-submenu{
  position:absolute; top:100%; left:0;
  min-width:220px; margin:0; padding:.4rem 0;
  background:var(--topbar-bg);
  border:1px solid var(--topbar-border);
  border-radius:.5rem;
  box-shadow:0 12px 30px rgba(0,0,0,.35);
  z-index:2000;
}
.school-topnav .school-submenu[hidden]{ display:none; }
.school-topnav .school-submenu li{ list-style:none; }
.school-topnav .school-submenu a{
  display:block; padding:.55rem .9rem; white-space:nowrap;
  color:var(--topbar-link); text-decoration:none; text-align:left;
}
.school-topnav .school-submenu a:hover{
  color:var(--topbar-link-hover);
  background:rgba(255,255,255,.06);
}

/* Desktop: pokaż submenu na hover/focus */
@media (pointer:fine){
  .school-topnav .has-submenu:hover > .school-submenu[hidden],
  .school-topnav .has-submenu:focus-within > .school-submenu[hidden]{
    display:block !important;
  }
}

/* ===== MOBILE (≤768px) ===== */
.topbar-toggle{ display:none; }

@media (max-width:768px){
  .topbar-toggle{
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    padding:.45rem .7rem;
    border:1px solid var(--topbar-border);
    background:transparent;
    color:var(--topbar-link);
    border-radius:.4rem;
    cursor:pointer;
    font:inherit;
  }
  .topbar-toggle:focus-visible{
    outline:2px solid var(--topbar-underline); outline-offset:2px;
  }

  .school-topnav .pf-c-nav__list{
    display:none !important;
    margin:0; padding:0;
  }
  .school-topnav.is-open .pf-c-nav__list{
    display:flex !important;
    flex-direction:column;
    gap:.25rem;
    padding:.5rem 0 .75rem;
    width:100%;
  }
  .school-topnav .pf-c-nav__link{ text-align:left; width:100%; }

  .school-topnav .has-submenu{ position:static; }
  .school-topnav .school-submenu{
    position:static;
    min-width:0;
    margin:.25rem 0 .35rem;
    padding:.4rem 0;
    border:1px solid var(--topbar-border);
    border-radius:.4rem;
    background:var(--topbar-bg);
    box-shadow:none;
  }
  .school-topnav .school-submenu[hidden]{ display:none !important; }
}

/* Dostępność: focus */
.school-topnav .pf-c-nav__link:focus-visible,
.school-topnav .school-submenu a:focus-visible{
  outline:2px solid var(--topbar-underline);
  outline-offset:2px;
  border-radius:.35rem;
}

/* --- FALLBACK TYLKO DLA .no-js (gdy JS wyłączony) --- */
.no-js @media (max-width: 768px){
  .school-topnav .pf-c-nav__list{
    display:flex !important;
    flex-direction:column !important;
    gap:.25rem;
    padding:.5rem 0 .75rem;
    width:100%;
  }
  .school-topnav .has-submenu{ position:static !important; }
  .school-topnav .school-submenu{
    position:static !important;
    min-width:0;
    margin:.25rem 0 .35rem;
    padding:.4rem 0;
    border:1px solid var(--topbar-border);
    border-radius:.4rem;
    box-shadow:none;
    background:var(--topbar-bg);
  }
  .topbar-toggle{ display:none !important; }
}
/* Hard override mobilnego układu – gdyby coś jeszcze nadpisywało */
@media (max-width:768px){
  .school-topnav.is-open .pf-c-nav__list{
    display:flex !important;
    flex-direction:column !important;
    flex-wrap:nowrap !important;
    align-items:stretch !important;
    gap:.25rem !important;
  }
  .school-topnav .pf-c-nav__item{ display:block !important; width:100% !important; }
  .school-topnav .pf-c-nav__link{ display:block !important; width:100% !important; }
}
