/* Fix: legacy opinie CSS nadpisuje globalną siatkę (.row itd.) i rozjeżdża header.
   Scope: tylko nagłówek głównego serwisu (.header-main). */

/* Megamenu full-bleed (base) */
:where(.header-main) .dropdown-menu.megamenu {
  /* Full-bleed dropdown:
     Na stronach opinii potrafi wygrać legacy CSS albo inline styles z Poppera (inset/transform).
     Dlatego wymuszamy szerokość i resetujemy inset w scope headera. */
  left: 0 !important;
  right: auto !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  inset: auto !important;
}

@supports (width: 100dvw) {
  :where(.header-main) .dropdown-menu.megamenu {
    width: 100dvw !important;
    max-width: 100dvw !important;
    margin-left: calc(50% - 50dvw) !important;
  }
}

@media (min-width: 992px) {
  :where(.header-main) .dropdown-menu.megamenu.show {
    /* Najbardziej odporne: liczymy od viewportu, nie od kontenera */
    position: fixed !important;
    inset: var(--uczelnie-header-main-h, 64px) 0 auto 0 !important;
    margin: 0 !important;
    width: auto !important;
    max-width: none !important;
    transform: none !important;
    z-index: 2000 !important;
  }
}

:where(.header-main) .row {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--bs-gutter-y));
  margin-right: calc(-0.5 * var(--bs-gutter-x));
  margin-left: calc(-0.5 * var(--bs-gutter-x));
}

:where(.header-main) .row > * {
  padding-right: calc(0.5 * var(--bs-gutter-x));
  padding-left: calc(0.5 * var(--bs-gutter-x));
  margin-top: var(--bs-gutter-y);
}

:where(.header-main) .container,
:where(.header-main) .container-lg,
:where(.header-main) .container-fluid {
  width: 100%;
  padding-right: calc(var(--bs-gutter-x, 1.5rem) / 2);
  padding-left: calc(var(--bs-gutter-x, 1.5rem) / 2);
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 992px) {
  :where(.header-main) .container-lg {
    max-width: 960px;
  }
}

@media (min-width: 1200px) {
  :where(.header-main) .container-lg {
    max-width: 1140px;
  }
}

@media (min-width: 1400px) {
  :where(.header-main) .container-lg {
    max-width: 1320px;
  }
}
