/* ===== Categories Bar ===== */
.mp-catsbar{
  width:100%;
  background:#fff;
  border-top:1px solid rgba(0,0,0,.06);
  border-bottom:1px solid rgba(0,0,0,.06);
  position:relative;
  z-index:9998;
}

.mp-catsbar__row{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  min-height:54px;
}

.mp-catsbar__toggle{
  display:inline-flex;
  align-items:center;
  gap:10px;
  background:#0b57d0;
  color:#fff;
  border:0;
  padding:10px 14px;
  border-radius:12px;
  cursor:pointer;
  font-weight:800;
}

.mp-catsbar__toggle .mp-ico--burger{ width:20px; height:20px; }

/* ===== Dropdown menu (DESKTOP) ===== */
.mp-cat-menu{
  position:absolute;
  top:100%;
  left:0;
  right:0;
  background:#fff;
  border-top:1px solid rgba(0,0,0,.08);
  box-shadow:0 18px 50px rgba(0,0,0,.12);
  z-index:9999;
  padding:10px 0 16px;
}

.mp-cat-menu[hidden]{ display:none !important; }

/* WYMUSZAMY KOLORY (to naprawia “białe na białym”) */
.mp-cat-menu,
.mp-cat-menu a,
.mp-cat-menu button{
  color:#0b1a33 !important;
}

.mp-cat-menu__list{ list-style:none; margin:0; padding:0; }

/* level 0: poziomo na całej linii */
@media (min-width: 992px){
  .mp-cat-menu__list--lvl0{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    padding:10px 0 0;
    align-items:flex-start;
  }

  .mp-cat-menu__item.is-parent{ display:flex; flex-direction:column; }

  .mp-cat-menu__itemRow{
    display:flex;
    align-items:center;
    gap:8px;
    padding:10px 12px;
    border-radius:14px;
    background:rgba(0,0,0,.03);
  }

  .mp-cat-menu__link{
    text-decoration:none;
    font-weight:900;
    white-space:nowrap;
  }

  .mp-cat-menu__item:hover .mp-cat-menu__itemRow{
    background:rgba(11,87,208,.08);
  }

  .mp-cat-menu__expand{
    border:0;
    background:transparent;
    cursor:pointer;
    width:34px;
    height:34px;
    border-radius:10px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }
  .mp-cat-menu__expand:hover{ background:rgba(0,0,0,.06); }
  .mp-ico--chev{ width:20px; height:20px; transition:transform .15s ease; }

  /* children jako bloczek pod rodzicem */
  .mp-cat-menu__children{
    padding:8px 0 0;
  }

  .mp-cat-menu__list--lvl1{
    margin-top:8px;
    padding:10px 12px;
    border-radius:14px;
    background:rgba(0,0,0,.03);
    min-width:240px;
  }

  .mp-cat-menu__list--lvl1 .mp-cat-menu__link{
    font-weight:650;
    white-space:normal;
  }

  .mp-cat-menu__list--lvl2,
  .mp-cat-menu__list--lvl3{
    margin-top:6px;
    padding-left:10px;
    border-left:2px solid rgba(11,87,208,.18);
  }
}

/* ===== MOBILE: full screen panel ===== */
@media (max-width: 991px){
  .mp-cat-menu{
    position:fixed;
    left:0;
    right:0;
    top:var(--mp-cats-top, 0px);
    bottom:0;
    overflow:auto;
    padding:8px 0 22px;
    box-shadow:none;
    border-top:1px solid rgba(0,0,0,.10);
  }

  .mp-cat-menu .mp-container{ padding:10px 16px; }

  .mp-cat-menu__list--lvl0 .mp-cat-menu__itemRow{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:14px 10px;
    border-bottom:1px solid rgba(0,0,0,.06);
  }

  .mp-cat-menu__link{
    text-decoration:none;
    font-weight:900;
  }

  .mp-cat-menu__expand{
    border:0;
    background:rgba(0,0,0,.05);
    cursor:pointer;
    width:40px;
    height:40px;
    border-radius:12px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
  }

  .mp-cat-menu__children{
    padding:6px 0 10px 12px;
    border-left:2px solid rgba(11,87,208,.18);
    margin-left:10px;
  }

  body.mp-cat-open{ overflow:hidden; }
}

/* overlay */
.mp-cat-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.35);
  z-index:9997;
}
.mp-cat-overlay[hidden]{ display:none !important; }

/* rotate chevron */
.mp-cat-menu__expand[aria-expanded="true"] .mp-ico--chev{
  transform:rotate(180deg);
}

/* === FIX: header nie może ucinać dropdown === */
.mp-header,
.support.sticky-menu,
.support.sticky-menu *{
  overflow: visible !important;
}

/* warstwy ponad resztą */
.mp-header{ position:relative; z-index:9998; }
.mp-catsbar{ position:relative; z-index:9998; }

/* menu musi być nad treścią */
.mp-cat-menu{
  position:absolute !important;
  left:0; right:0; top:100%;
  background:#fff !important;
  z-index:9999 !important;
  border-top:1px solid rgba(0,0,0,.12);
  box-shadow:0 18px 50px rgba(0,0,0,.12);
}

.mp-cat-menu[hidden]{ display:none !important; }

/* WYMUSZAMY KOLOR (żeby nie było białe na białym) */
.mp-cat-menu,
.mp-cat-menu a,
.mp-cat-menu button{
  color:#0b1a33 !important;
}

/* overlay */
.mp-cat-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.35);
  z-index:9997;
}
.mp-cat-overlay[hidden]{ display:none !important; }

/* mobile panel */
@media (max-width: 991px){
  .mp-cat-menu{
    position:fixed !important;
    top:var(--mp-cats-top, 0px);
    bottom:0;
    overflow:auto;
    box-shadow:none;
  }
  body.mp-cat-open{ overflow:hidden; }
}


/* ===========================
   MP Categories (separate css)
   =========================== */

/* FIX: dropdown często jest ucinany przez wrappery headera */
.mp-header,
.support.sticky-menu{
  overflow: visible !important;
}

/* Warstwy */
.mp-header{ position:relative; z-index:9998; }
.mp-catsbar{ position:relative; z-index:9998; width:100%; background:#fff; border-top:1px solid rgba(0,0,0,.06); border-bottom:1px solid rgba(0,0,0,.06); }
.mp-catsbar__row{ display:flex; align-items:center; justify-content:flex-start; min-height:54px; }

/* Toggle */
.mp-catsbar__toggle{
  display:inline-flex;
  align-items:center;
  gap:10px;
  border:0;
  background:transparent;
  padding:10px 0;
  font-weight:800;
  cursor:pointer;
  color:inherit;
}
.mp-catsbar__toggle .mp-ico--burger{ width:22px; height:22px; }

/* Menu panel (desktop dropdown) */
.mp-cat-menu{
  position:absolute;
  top:100%;
  left:0;
  right:0;
  width:100%;
  background:#fff;
  border-top:1px solid rgba(0,0,0,.10);
  box-shadow:0 18px 50px rgba(0,0,0,.12);
  z-index:9999;
  padding:10px 0 16px;
}
.mp-cat-menu[hidden]{ display:none !important; }

/* WYMUSZENIE KOLORU (żeby nie dziedziczyło białego z headera) */
.mp-cat-menu,
.mp-cat-menu a,
.mp-cat-menu button{
  color:#0b1a33 !important;
}

/* List reset */
.mp-cat-menu__list{ list-style:none; margin:0; padding:0; }
.mp-cat-menu__item{ margin:0; padding:0; }

/* top level: poziomo, pełna linia */
.mp-cat-menu__list--lvl0{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  align-items:stretch;
  padding:12px 0;
}

/* rodzic jako kolumna (żeby dzieci wskakiwały pod nim) */
.mp-cat-menu__item.is-parent{ display:flex; flex-direction:column; }

/* wiersz elementu */
.mp-cat-menu__itemRow{ display:flex; align-items:center; gap:8px; }

/* link */
.mp-cat-menu__link{
  display:inline-flex;
  align-items:center;
  padding:10px 12px;
  border-radius:10px;
  text-decoration:none;
  font-weight:800;
}
.mp-cat-menu__link:hover{ background:rgba(0,0,0,.05); }

/* expand */
.mp-cat-menu__expand{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:10px;
  border:0;
  background:rgba(0,0,0,.05);
  cursor:pointer;
}
.mp-cat-menu__expand .mp-ico--chev{
  width:18px;
  height:18px;
  transition:transform .15s ease;
}
.mp-cat-menu__expand[aria-expanded="true"] .mp-ico--chev{ transform:rotate(180deg); }

/* children: blok pod rodzicem */
.mp-cat-menu__children{ width:100%; padding:10px 0 6px; }

/* kolejne poziomy jako wrap */
.mp-cat-menu__list--lvl1,
.mp-cat-menu__list--lvl2,
.mp-cat-menu__list--lvl3{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  padding:8px 0;
  border-top:1px dashed rgba(0,0,0,.10);
}

.mp-cat-menu__list--lvl1 .mp-cat-menu__link,
.mp-cat-menu__list--lvl2 .mp-cat-menu__link,
.mp-cat-menu__list--lvl3 .mp-cat-menu__link{
  font-weight:650;
  padding:8px 10px;
}

/* Overlay */
.mp-cat-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.35);
  z-index:9997;
}
.mp-cat-overlay[hidden]{ display:none !important; }

/* MOBILE: full-screen panel pod headerem */
@media (max-width: 991px){
  .mp-cat-menu{
    position:fixed;
    left:0;
    right:0;
    top:var(--mp-cats-top, 0px);
    bottom:0;
    overflow:auto;
    box-shadow:none;
    padding:8px 0 22px;
  }

  body.mp-cat-open{ overflow:hidden; }

  .mp-cat-menu__list--lvl0{ gap:10px; padding:10px 0; }
  .mp-cat-menu__link{ padding:10px; }
}

/* ===========================
   MP Categories - BLUE THEME
   (override - paste at end)
   =========================== */

/* tło paska kategorii */
.mp-catsbar{
  background: linear-gradient(180deg, #0b57d0 0%, #0a4fbe 100%) !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
}

/* przycisk "Kategorie" */
.mp-catsbar__toggle{
  color:#fff !important;
}
.mp-catsbar__toggle:hover{
  opacity:.95;
}

/* panel menu - taki sam klimat jak góra */
.mp-cat-menu{
  background: linear-gradient(180deg, #0b57d0 0%, #0a4fbe 100%) !important;
  border-top: 1px solid rgba(255,255,255,.15) !important;
  box-shadow: 0 18px 50px rgba(0,0,0,.18) !important;
}

/* UWAGA: wcześniej wymuszaliśmy ciemny kolor - tu go nadpisujemy */
.mp-cat-menu,
.mp-cat-menu a,
.mp-cat-menu button{
  color:#fff !important;
}

/* kafelki top-level */
.mp-cat-menu__link{
  background: rgba(255,255,255,.12) !important;
  color:#fff !important;
  font-weight: 800 !important;
}
.mp-cat-menu__link:hover{
  background: rgba(255,255,255,.18) !important;
}

/* expand (strzałka) */
.mp-cat-menu__expand{
  background: rgba(255,255,255,.16) !important;
  color:#fff !important;
}
.mp-cat-menu__expand:hover{
  background: rgba(255,255,255,.22) !important;
}

/* sekcja dzieci - delikatna linia */
.mp-cat-menu__list--lvl1,
.mp-cat-menu__list--lvl2,
.mp-cat-menu__list--lvl3{
  border-top: 1px dashed rgba(255,255,255,.25) !important;
}

/* linki niższych poziomów */
.mp-cat-menu__list--lvl1 .mp-cat-menu__link,
.mp-cat-menu__list--lvl2 .mp-cat-menu__link,
.mp-cat-menu__list--lvl3 .mp-cat-menu__link{
  background: rgba(255,255,255,.10) !important;
  font-weight: 650 !important;
}
.mp-cat-menu__list--lvl1 .mp-cat-menu__link:hover,
.mp-cat-menu__list--lvl2 .mp-cat-menu__link:hover,
.mp-cat-menu__list--lvl3 .mp-cat-menu__link:hover{
  background: rgba(255,255,255,.16) !important;
}

/* Mobile: panel też niebieski */
@media (max-width: 991px){
  .mp-cat-menu{
    background: linear-gradient(180deg, #0b57d0 0%, #0a4fbe 100%) !important;
  }
}


/* ===== SUBCATEGORIES TOGGLE (important) ===== */
/* domyślnie ukryj dzieci, JS ustawia hidden=false gdy otwarte */
.mp-cat-menu__children[hidden],
.mp-cat-menu__item ul.mp-cat-menu__list--lvl1[hidden],
.mp-cat-menu__item ul.mp-cat-menu__list--lvl2[hidden],
.mp-cat-menu__item ul.mp-cat-menu__list--lvl3[hidden]{
  display:none !important;
}

/* gdy otwarte - lekki odstęp */
.mp-cat-menu__children.is-open,
.mp-cat-menu__item ul.is-open{
  display:flex !important;
}

/* AJAX children UL */
.mp-cat-menu__list--ajax[hidden]{ display:none !important; }
.mp-cat-menu__list--ajax{
  margin-top:10px;
  padding-top:10px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  border-top:1px dashed rgba(255,255,255,.25);
}

/* loading na strzałce */
.mp-cat-menu__expand.is-loading{
  opacity:.65;
  pointer-events:none;
}

.mp-cat-menu__children[hidden]{ display:none !important; }

/* FIX: wrapper children nie może być flex */
.mp-cat-menu__children.is-open{
  display:block !important;
}

/* i pilnujemy, że hidden zawsze chowa */
.mp-cat-menu__children[hidden]{
  display:none !important;
}

.mp-cat-menu__children.is-open{ display:block !important; }
.mp-cat-menu__children[hidden]{ display:none !important; }


/* FIX: głębsze poziomy mają być blokami (a nie flex), żeby było "wysuwanie" */
.mp-cat-menu__list--lvl2,
.mp-cat-menu__list--lvl3{
  display:block !important;
  padding-left:14px !important;
  margin-top:8px !important;
  border-left:2px solid rgba(255,255,255,.25) !important; /* przy niebieskim motywie */
}

/* elementy głębszych poziomów jeden pod drugim */
.mp-cat-menu__list--lvl2 > .mp-cat-menu__item,
.mp-cat-menu__list--lvl3 > .mp-cat-menu__item{
  display:block !important;
}


/* ===========================
   MP MENU FIX (paste at very end)
   - lvl1/lvl2/lvl3 zawsze jako BLOCK (nie flex)
   - hidden zawsze chowa
   - is-open zawsze pokazuje
   =========================== */

/* 1) hidden ma zawsze chować */
.mp-cat-menu__children[hidden],
.mp-cat-menu__list--lvl1[hidden],
.mp-cat-menu__list--lvl2[hidden],
.mp-cat-menu__list--lvl3[hidden]{
  display:none !important;
}

/* 2) is-open ma zawsze pokazać */
.mp-cat-menu__children.is-open,
.mp-cat-menu__list--lvl1.is-open,
.mp-cat-menu__list--lvl2.is-open,
.mp-cat-menu__list--lvl3.is-open{
  display:block !important;
}

/* 3) lvl1/lvl2/lvl3 MUSZĄ być blokami (nie flex), żeby 3 poziom "wysuwał się" pod spodem */
.mp-cat-menu__list--lvl1,
.mp-cat-menu__list--lvl2,
.mp-cat-menu__list--lvl3{
  display:block !important;
  flex-wrap:initial !important;
  gap:0 !important;
}

/* 4) wcięcia + separator żeby było widać poziomy */
.mp-cat-menu__list--lvl1{ margin-top:8px !important; padding-top:8px !important; }
.mp-cat-menu__list--lvl2,
.mp-cat-menu__list--lvl3{
  margin-top:8px !important;
  padding-left:14px !important;
  border-left:2px solid rgba(255,255,255,.25) !important; /* pod niebieski motyw */
}

/* 5) elementy niższych poziomów jeden pod drugim */
.mp-cat-menu__list--lvl1 > .mp-cat-menu__item,
.mp-cat-menu__list--lvl2 > .mp-cat-menu__item,
.mp-cat-menu__list--lvl3 > .mp-cat-menu__item{
  display:block !important;
  margin:6px 0 !important;
}

/* 6) linki w niższych poziomach - pełna szerokość, żeby wyglądało jak lista */
.mp-cat-menu__list--lvl1 .mp-cat-menu__link,
.mp-cat-menu__list--lvl2 .mp-cat-menu__link,
.mp-cat-menu__list--lvl3 .mp-cat-menu__link{
  display:block !important;
  width:100% !important;
  white-space:normal !important;
}


/* ===========================
   MP CATEGORIES BAR + MENU
   (FULL CSS – supports lvl0..lvlN)
   =========================== */

/* Fix: header/wrappery nie mogą ucinać dropdown */
.mp-header,
.support.sticky-menu,
.support.sticky-menu *{
  overflow: visible !important;
}

/* Warstwy */
.mp-header{ position:relative; z-index:9998; }
.mp-catsbar{ position:relative; z-index:9998; width:100%; }

/* ===== Categories Bar ===== */
.mp-catsbar{
  background: linear-gradient(180deg, #0b57d0 0%, #0a4fbe 100%);
  border-top: 0;
  border-bottom: 0;
}

.mp-catsbar__row{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  min-height:54px;
  padding: 8px 0;
}

.mp-catsbar__toggle{
  display:inline-flex;
  align-items:center;
  gap:10px;
  background: rgba(255,255,255,.10);
  color:#fff;
  border:0;
  padding:10px 14px;
  border-radius:12px;
  cursor:pointer;
  font-weight:800;
}

.mp-catsbar__toggle:hover{ background: rgba(255,255,255,.16); }
.mp-catsbar__toggle .mp-ico--burger{ width:20px; height:20px; }

/* ===== Menu container ===== */
.mp-cat-menu{
  position:absolute;
  top:100%;
  left:0;
  right:0;
  width:100%;
  z-index:9999;
  background: linear-gradient(180deg, #0b57d0 0%, #0a4fbe 100%);
  border-top: 1px solid rgba(255,255,255,.15);
  box-shadow: 0 18px 50px rgba(0,0,0,.18);
  padding: 12px 0 16px;
}

.mp-cat-menu[hidden]{ display:none !important; }

/* Wymuszamy kolor w menu */
.mp-cat-menu,
.mp-cat-menu a,
.mp-cat-menu button{
  color:#fff !important;
}

/* ===== Overlay ===== */
.mp-cat-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.35);
  z-index:9997;
}
.mp-cat-overlay[hidden]{ display:none !important; }

/* ===== Mobile bar inside menu ===== */
.mp-cat-menu__mobilebar{
  display:none;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding: 8px 0 14px;
}
.mp-cat-menu__title{
  font-weight:900;
  font-size:18px;
}
.mp-cat-menu__close{
  border:0;
  background: rgba(255,255,255,.16);
  color:#fff;
  border-radius:12px;
  padding:10px 12px;
  cursor:pointer;
}
.mp-cat-menu__close:hover{ background: rgba(255,255,255,.22); }

/* ===== Lists reset ===== */
.mp-cat-menu__list{
  list-style:none;
  margin:0;
  padding:0;
}

/* Item row */
.mp-cat-menu__itemRow{
  display:flex;
  align-items:center;
  gap:8px;
}

/* Link base */
.mp-cat-menu__link{
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  padding:10px 12px;
  border-radius:12px;
  background: rgba(255,255,255,.12);
  font-weight:800;
}
.mp-cat-menu__link:hover{ background: rgba(255,255,255,.18); }

/* Expand button */
.mp-cat-menu__expand{
  border:0;
  background: rgba(255,255,255,.16);
  cursor:pointer;
  width:36px;
  height:36px;
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
}
.mp-cat-menu__expand:hover{ background: rgba(255,255,255,.22); }
.mp-ico--chev{ width:20px; height:20px; transition:transform .15s ease; }
.mp-cat-menu__expand[aria-expanded="true"] .mp-ico--chev{ transform:rotate(180deg); }

/* ===========================
   DESKTOP layout
   =========================== */
@media (min-width: 992px){

  /* lvl0: kafelki w rzędzie */
  .mp-cat-menu__list--lvl0{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    align-items:flex-start;
    padding: 8px 0 0;
  }

  /* parent jako kolumna – dzieci spadają pod niego */
  .mp-cat-menu__item.is-parent{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
  }

  /* wrapper dzieci (pod rodzicem) */
  .mp-cat-menu__children{
    width:100%;
    padding: 10px 0 0;
  }

  /* ===== KLUCZ: lvl1/lvl2/lvl3 jako BLOCK (NIE FLEX) ===== */
  .mp-cat-menu__list--lvl1,
  .mp-cat-menu__list--lvl2,
  .mp-cat-menu__list--lvl3{
    display:block !important;
    flex-wrap: initial !important;
    gap: 0 !important;
    margin-top: 10px;
    padding: 10px 12px;
    border-radius: 14px;
    background: rgba(255,255,255,.08);
    border-top: 1px dashed rgba(255,255,255,.22);
    min-width: 260px;
  }

  /* elementy jeden pod drugim */
  .mp-cat-menu__list--lvl1 > .mp-cat-menu__item,
  .mp-cat-menu__list--lvl2 > .mp-cat-menu__item,
  .mp-cat-menu__list--lvl3 > .mp-cat-menu__item{
    display:block !important;
    margin: 8px 0;
  }

  /* linki niższych poziomów na pełną szerokość */
  .mp-cat-menu__list--lvl1 .mp-cat-menu__link,
  .mp-cat-menu__list--lvl2 .mp-cat-menu__link,
  .mp-cat-menu__list--lvl3 .mp-cat-menu__link{
    display:flex !important;
    width:100% !important;
    justify-content:space-between;
    white-space:normal;
    font-weight:650;
    background: rgba(255,255,255,.10);
    padding: 10px 12px;
  }
  .mp-cat-menu__list--lvl1 .mp-cat-menu__link:hover,
  .mp-cat-menu__list--lvl2 .mp-cat-menu__link:hover,
  .mp-cat-menu__list--lvl3 .mp-cat-menu__link:hover{
    background: rgba(255,255,255,.16);
  }

  /* wcięcia dla głębszych poziomów */
  .mp-cat-menu__list--lvl2,
  .mp-cat-menu__list--lvl3{
    margin-left: 12px;
    border-left: 2px solid rgba(255,255,255,.22);
  }
}

/* ===========================
   MOBILE layout (fullscreen panel)
   =========================== */
@media (max-width: 991px){

  .mp-cat-menu{
    position:fixed;
    left:0;
    right:0;
    top:var(--mp-cats-top, 0px);
    bottom:0;
    overflow:auto;
    padding: 10px 0 22px;
    box-shadow:none;
  }

  body.mp-cat-open{ overflow:hidden; }

  .mp-cat-menu__mobilebar{
    display:flex;
  }

  /* lvl0 jako lista */
  .mp-cat-menu__list--lvl0 .mp-cat-menu__itemRow{
    justify-content:space-between;
    gap:12px;
    padding: 12px 0;
    border-bottom: 1px solid rgba(255,255,255,.14);
  }

  .mp-cat-menu__link{
    background: transparent;
    padding: 10px 6px;
    border-radius: 10px;
  }

  /* wrapper dzieci na mobile */
  .mp-cat-menu__children{
    padding: 8px 0 10px 12px;
    margin-left: 8px;
    border-left: 2px solid rgba(255,255,255,.22);
  }

  /* ===== KLUCZ: lvl1/lvl2/lvl3 jako BLOCK (NIE FLEX) ===== */
  .mp-cat-menu__list--lvl1,
  .mp-cat-menu__list--lvl2,
  .mp-cat-menu__list--lvl3{
    display:block !important;
    padding: 6px 0;
    margin-top: 6px;
  }

  .mp-cat-menu__list--lvl1 > .mp-cat-menu__item,
  .mp-cat-menu__list--lvl2 > .mp-cat-menu__item,
  .mp-cat-menu__list--lvl3 > .mp-cat-menu__item{
    display:block !important;
    margin: 6px 0;
  }

  .mp-cat-menu__list--lvl1 .mp-cat-menu__link,
  .mp-cat-menu__list--lvl2 .mp-cat-menu__link,
  .mp-cat-menu__list--lvl3 .mp-cat-menu__link{
    display:block !important;
    width:100% !important;
    background: rgba(255,255,255,.10);
    padding: 10px 10px;
  }
}

/* ===========================
   SUBMENU visibility rules
   (works with hidden + is-open)
   =========================== */
.mp-cat-menu__children[hidden]{ display:none !important; }
.mp-cat-menu__children.is-open{ display:block !important; }

/* jeśli kiedyś dodasz hidden na UL, to też działa */
.mp-cat-menu__list--lvl1[hidden],
.mp-cat-menu__list--lvl2[hidden],
.mp-cat-menu__list--lvl3[hidden]{
  display:none !important;
}
.mp-cat-menu__list--lvl1.is-open,
.mp-cat-menu__list--lvl2.is-open,
.mp-cat-menu__list--lvl3.is-open{
  display:block !important;
}

/* Anty-skok przy fokusie w menu */
.mp-cat-menu button:focus,
.mp-cat-menu a:focus{
  scroll-margin-top: 120px;
}

/* ===== FIX: menu nie może wychodzić poza ekran ===== */
#mp-cat-menu,
#mp-cat-menu .mp-container{
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

/* menu pełna szerokość tła, ale zawartość ograniczona */
#mp-cat-menu{
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  overflow-x: hidden !important; /* ucina wychodzące elementy */
}

/* elementy list nie mogą wymuszać szerokości */
#mp-cat-menu *{
  box-sizing: border-box;
  max-width: 100%;
}

/* ===== FIX: lvl0 nie może rozpychać ===== */
@media (min-width: 992px){
  #mp-cat-menu .mp-cat-menu__list--lvl0{
    display:flex;
    flex-wrap:wrap;
    align-items:flex-start;
    gap:12px;
    width:100%;
    max-width:100%;
  }

  /* Rodzic nie może mieć minimalnej szerokości, która wypycha */
  #mp-cat-menu .mp-cat-menu__item.is-parent{
    max-width: 100%;
  }

  /* listy dzieci nie mogą mieć sztywnego min-width (to często powoduje wyjazd) */
  #mp-cat-menu .mp-cat-menu__list--lvl1,
  #mp-cat-menu .mp-cat-menu__list--lvl2,
  #mp-cat-menu .mp-cat-menu__list--lvl3{
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;  /* dzieci w kolumnie pod rodzicem */
  }
}


/* ===========================
   FIX: menu ma max 1200px i jest wyśrodkowane
   =========================== */

/* TYLKO DESKTOP (żeby mobile dalej był fullscreen) */
@media (min-width: 992px){

  /* menu jako "panel" max 1200 */
  #mp-cat-menu{
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: min(1200px, calc(100vw - 40px)) !important; /* 20px marginesu z każdej strony */
    max-width: 1200px !important;
    overflow-x: hidden !important;
    border-radius: 18px !important;
  }

  /* w środku nie ograniczamy już drugi raz kontenerem */
  #mp-cat-menu .mp-container{
    max-width: none !important;
    width: 100% !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}


/* ===========================
   MP MENU – STYL POD TEN DOM
   lvl1 = kafle (kolumny)
   lvl2 = lista pod kaflem
   =========================== */

@media (min-width: 992px){

  /* menu jako panel max 1200, wyśrodkowany */
  #mp-cat-menu{
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: min(1200px, calc(100vw - 40px)) !important;
    max-width: 1200px !important;
    overflow-x: hidden !important;
    border-radius: 18px !important;
  }
  #mp-cat-menu .mp-container{
    max-width: none !important;
    width: 100% !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  /* lvl0 w wierszu (główne kategorie) */
  #mp-cat-menu .mp-cat-menu__list--lvl0{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    align-items:flex-start;
    width:100%;
    max-width:100%;
  }

  /* wrapper dzieci lvl1 nie może rozpychać */
  #mp-cat-menu .mp-cat-menu__children{
    width:100%;
    max-width:100%;
    overflow:hidden;
  }

  /* ===== L V L 1  =====
     Zamiast block listy – robimy GRID kafelków (kolumny) */
  #mp-cat-menu .mp-cat-menu__list--lvl1{
    display:grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important; /* 4 kolumny */
    gap:14px !important;
    padding:14px !important;
    margin-top:12px !important;

    border-radius:16px !important;
    background: rgba(255,255,255,.08) !important;
    border-top: 1px dashed rgba(255,255,255,.22) !important;

    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  /* na mniejszych desktopach 3/2 kolumny */
  @media (max-width: 1200px){
    #mp-cat-menu .mp-cat-menu__list--lvl1{
      grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
  }
  @media (max-width: 1024px){
    #mp-cat-menu .mp-cat-menu__list--lvl1{
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
  }

  /* element lvl1 jako karta/kolumna */
  #mp-cat-menu .mp-cat-menu__list--lvl1 > .mp-cat-menu__item{
    display:block !important;
    margin:0 !important;
    min-width:0 !important;
    max-width:100% !important;
  }

  /* górny pasek karty lvl1 (link + strzałka) */
  #mp-cat-menu .mp-cat-menu__list--lvl1 > .mp-cat-menu__item > .mp-cat-menu__itemRow{
    display:flex !important;
    align-items:center !important;
    gap:10px !important;

    background: rgba(255,255,255,.10) !important;
    border-radius:14px !important;
    padding:10px 10px !important;
  }

  /* link lvl1 na pełną szerokość */
  #mp-cat-menu .mp-cat-menu__list--lvl1 > .mp-cat-menu__item > .mp-cat-menu__itemRow > .mp-cat-menu__link{
    display:block !important;
    width:100% !important;
    background: transparent !important;
    padding:8px 10px !important;
    border-radius:10px !important;
    white-space:normal !important;
    font-weight:800 !important;
  }

  /* strzałka w lvl1 */
  #mp-cat-menu .mp-cat-menu__list--lvl1 > .mp-cat-menu__item > .mp-cat-menu__itemRow > .mp-cat-menu__expand{
    width:38px !important;
    height:38px !important;
    border-radius:12px !important;
    flex:0 0 auto !important;
  }

  /* ===== L V L 2  =====
     lista pod kartą (pionowo) */
  #mp-cat-menu .mp-cat-menu__list--lvl1 > .mp-cat-menu__item > .mp-cat-menu__children{
    margin-top:10px !important;
    padding-left:12px !important;
    border-left:2px solid rgba(255,255,255,.22) !important;
  }

  #mp-cat-menu .mp-cat-menu__list--lvl2{
    display:block !important;
    padding:0 !important;
    margin:0 !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    background: transparent !important;
    border:0 !important;
  }

  #mp-cat-menu .mp-cat-menu__list--lvl2 > .mp-cat-menu__item{
    display:block !important;
    margin:8px 0 !important;
  }

  #mp-cat-menu .mp-cat-menu__list--lvl2 .mp-cat-menu__itemRow{
    background: rgba(255,255,255,.08) !important;
    border-radius:12px !important;
    padding:8px 10px !important;
  }

  #mp-cat-menu .mp-cat-menu__list--lvl2 .mp-cat-menu__link{
    display:block !important;
    width:100% !important;
    background: transparent !important;
    padding:6px 8px !important;
    border-radius:10px !important;
    white-space:normal !important;
    font-weight:650 !important;
  }
}

/* MOBILE – zostaw jak masz (tu tylko zabezpieczenie przed poziomym scroll) */
#mp-cat-menu{
  overflow-x:hidden;
}
#mp-cat-menu *{
  max-width:100%;
  box-sizing:border-box;
}


/* ===========================
   MP MENU – MOBILE OVERRIDE
   =========================== */
@media (max-width: 991px){

  /* menu jako pełny panel */
  #mp-cat-menu{
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    top: var(--mp-cats-top, 0px) !important;
    bottom: 0 !important;
    width: 100% !important;
    max-width: none !important;
    transform: none !important;
    border-radius: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    padding: 10px 0 22px !important;
  }

  #mp-cat-menu .mp-container{
    width: 100% !important;
    max-width: none !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  /* mobile header w menu */
  .mp-cat-menu__mobilebar{
    display:flex !important;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding: 8px 0 14px !important;
  }

  /* lvl0 jako normalna lista */
  #mp-cat-menu .mp-cat-menu__list--lvl0{
    display:block !important;
    padding:0 !important;
    margin:0 !important;
  }

  /* elementy list zawsze blokowe */
  #mp-cat-menu .mp-cat-menu__item{
    display:block !important;
    margin:0 !important;
    max-width:100% !important;
  }

  /* wiersz (link + strzałka) */
  #mp-cat-menu .mp-cat-menu__itemRow{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
    padding: 12px 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.14) !important;
    background: transparent !important;
  }

  /* link na full */
  #mp-cat-menu .mp-cat-menu__link{
    display:block !important;
    width:100% !important;
    padding: 10px 8px !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,.10) !important;
    white-space: normal !important;
  }

  /* strzałka */
  #mp-cat-menu .mp-cat-menu__expand{
    width:40px !important;
    height:40px !important;
    border-radius: 12px !important;
    flex:0 0 auto !important;
    background: rgba(255,255,255,.16) !important;
  }

  /* ===== dzieci (lvl1/lvl2/lvl3) – proste wcięcia, bez kafli ===== */
  #mp-cat-menu .mp-cat-menu__children{
    padding: 8px 0 10px 12px !important;
    margin-left: 8px !important;
    border-left: 2px solid rgba(255,255,255,.22) !important;
    background: transparent !important;
  }

  /* UL na mobile ZAWSZE block, bez grid/flex */
  #mp-cat-menu .mp-cat-menu__list--lvl1,
  #mp-cat-menu .mp-cat-menu__list--lvl2,
  #mp-cat-menu .mp-cat-menu__list--lvl3{
    display:block !important;
    grid-template-columns: none !important;
    gap: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
    width:100% !important;
    max-width:100% !important;
  }

  /* odstęp między elementami w podlistach */
  #mp-cat-menu .mp-cat-menu__list--lvl1 > .mp-cat-menu__item,
  #mp-cat-menu .mp-cat-menu__list--lvl2 > .mp-cat-menu__item,
  #mp-cat-menu .mp-cat-menu__list--lvl3 > .mp-cat-menu__item{
    margin: 8px 0 !important;
  }

  /* linki w podlistach – delikatnie mniejsze */
  #mp-cat-menu .mp-cat-menu__list--lvl1 .mp-cat-menu__link,
  #mp-cat-menu .mp-cat-menu__list--lvl2 .mp-cat-menu__link,
  #mp-cat-menu .mp-cat-menu__list--lvl3 .mp-cat-menu__link{
    background: rgba(255,255,255,.10) !important;
    padding: 10px 10px !important;
    font-weight: 650 !important;
  }

  /* anty poziomy scroll */
  #mp-cat-menu *{
    max-width:100% !important;
    box-sizing:border-box !important;
  }
}

@media (max-width: 991px){

  /* menu ma być full screen niezależnie od layoutu strony */
  .mp-catsbar,
  #mp-cat-menu{
    width: 100vw !important;
    max-width: 100vw !important;
  }

  /* panel menu ma startować od lewej krawędzi ekranu */
  #mp-cat-menu{
    left: 0 !important;
    right: 0 !important;
    margin: 0 !important;
    transform: none !important;
  }

  /* kontener w środku NIE może ograniczać szerokości */
  #mp-cat-menu .mp-container{
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  /* zabezpieczenie: żadnych poziomych przewijań */
  html, body{ overflow-x: hidden !important; }
  #mp-cat-menu{ overflow-x: hidden !important; }
  #mp-cat-menu *{ max-width: 100% !important; box-sizing: border-box !important; }
}

@media (max-width: 991px){

  /* menu zawsze od dołu paska kategorii */
  #mp-cat-menu{
    top: var(--mp-cats-top, 0px) !important;
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 !important;
    transform: none !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }

  /* kontener w środku nie może zawężać */
  #mp-cat-menu .mp-container{
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  /* ===== WCIĘCIA: limitujemy, żeby lvl4 się mieścił ===== */

  /* bazowe wcięcie dla dzieci */
  #mp-cat-menu .mp-cat-menu__children{
    margin-left: 8px !important;
    padding-left: 10px !important;
    border-left: 2px solid rgba(255,255,255,.20) !important;
  }

  /* lvl3+ już NIE zwiększa wcięcia – zostaje podobne */
  #mp-cat-menu .mp-cat-menu__list--lvl3,
  #mp-cat-menu .mp-cat-menu__list--lvl4,
  #mp-cat-menu .mp-cat-menu__list--lvl5{
    padding-left: 0 !important;
    margin-left: 0 !important;
  }

  /* linki na głębszych poziomach trochę mniejsze, żeby się mieściły */
  #mp-cat-menu .mp-cat-menu__list--lvl3 .mp-cat-menu__link,
  #mp-cat-menu .mp-cat-menu__list--lvl4 .mp-cat-menu__link,
  #mp-cat-menu .mp-cat-menu__list--lvl5 .mp-cat-menu__link{
    font-size: 13px !important;
    padding: 9px 10px !important;
    border-radius: 12px !important;
  }

  /* anty poziomy scroll */
  html, body{ overflow-x: hidden !important; }
  #mp-cat-menu *{ max-width: 100% !important; box-sizing: border-box !important; }
}

@media (max-width: 991px){
  #mp-cat-menu{
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    transform: none !important;
    margin: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  /* menu ma własny nagłówek (Kategorie + Zamknij) zawsze widoczny */
  #mp-cat-menu .mp-cat-menu__mobilebar{
    position: sticky !important;
    top: 0 !important;
    z-index: 10 !important;
    background: linear-gradient(180deg, #0b57d0 0%, #0a4fbe 100%) !important;
    padding: 12px 0 12px !important;
    border-bottom: 1px solid rgba(255,255,255,.14) !important;
  }
}