.elementor-kit-8{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#CB5498;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-color-f6d0200:#FFE4F0;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-8 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:auto;}.e-con{--container-max-width:auto;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */.scroll-to-top::after{
   color:#CB5498
}
.scroll-to-top .scroll-top-inner path {
    stroke:#CB5498
}

/* ========= DESKTOP: typografia i wygląd menu ========= */
.custom-sticky-header .elementor-nav-menu--main .elementor-item,
.custom-sticky-header .elementor-nav-menu--main .elementor-sub-item {
  font-family: 'Outfit', sans-serif !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  letter-spacing: 0.2px;
  text-transform: none;
  color: #111 !important;
}

.custom-sticky-header .elementor-nav-menu--layout-horizontal .elementor-item {
  padding: 12px 18px !important;
}

.custom-sticky-header .elementor-nav-menu--main .elementor-item:hover,
.custom-sticky-header .elementor-nav-menu--main .elementor-item.elementor-item-active {
  color: #0d0d0d !important;
}

.custom-sticky-header .elementor-nav-menu--dropdown .elementor-sub-item {
  font-family: 'Outfit', sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
}

.custom-sticky-header .elementor-nav-menu--main .elementor-item {
  text-transform: none !important;
  letter-spacing: initial;
}

/* Linki menu – reset dolnych kresek i baza */
#siteHeader .elementor-nav-menu--main .elementor-item {
  border: none !important;
  box-shadow: none !important;
  text-decoration: none !important;
  position: relative;
}

/* Pasek u góry (rozsuwa się od środka) */
#siteHeader .elementor-nav-menu--main .elementor-item::before {
  content: "";
  position: absolute;
  top: -23px;             /* dopasuj do padding-top headera */
  left: 0;
  width: 100%;
  height: 4px;
  background: #CB5498;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .5s ease;
}

/* Hover / Active */
#siteHeader .elementor-nav-menu--main .elementor-item:hover::before,
#siteHeader .elementor-nav-menu--main .elementor-item.elementor-item-active::before,
#siteHeader .elementor-nav-menu--main .current-menu-item > .elementor-item::before {
  transform: scaleX(1);
}
#siteHeader .elementor-nav-menu--main .elementor-item:hover,
#siteHeader .elementor-nav-menu--main .elementor-item.elementor-item-active,
#siteHeader .elementor-nav-menu--main .current-menu-item > .elementor-item {
  color: #CB5498 !important;
}

/* Header bez zbędnych odstępów */
#siteHeader {
  margin-top: 0 !important;
  padding-top: 0 !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Lista menu – desktop layout */
#siteHeader .elementor-nav-menu--main {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 32px;
}

/* Linki menu – desktop typografia */
#siteHeader .elementor-nav-menu--main li a {
  font-family: 'Outfit', sans-serif;
  font-size: 18px;
  font-weight: 500;
  color: #000;
  text-decoration: none;
  position: relative;
  display: inline-block;
  padding: 0;
  transition: color 0.3s ease;
}

/* Pasek nad tekstem (desktop) */
#siteHeader .elementor-nav-menu--main li a::before {
  content: "";
  position: absolute;
  top: -35px;           /* wysokość paska względem tekstu */
  left: 0;
  width: 100%;
  height: 4px;
  background: #CB5498;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .5s ease;
}
#siteHeader .elementor-nav-menu--main li a:hover,
#siteHeader .elementor-nav-menu--main li.current-menu-item > a {
  color: #CB5498 !important;
}
#siteHeader .elementor-nav-menu--main li a:hover::before,
#siteHeader .elementor-nav-menu--main li.current-menu-item > a::before {
  transform: scaleX(1);
}

/* Dystanse między pozycjami menu (desktop) */
#siteHeader .elementor-nav-menu--main li { margin: 0 15px; }
#siteHeader .elementor-nav-menu--main li a { padding: 0 18px; }

/* Burger ukryty na desktopie */
.mobile-burger { display: none; }

/* Na wszelki wypadek: brak poziomego scrolla */
html, body { overflow-x: hidden; }

/* ========= MOBILE (≤1024px): jedna linia: logo | języki | burger ========= */
@media (max-width: 1024px) {
  /* Wiersz headera: jedna linia, bez sztucznego pozycjonowania */
  #siteHeader .elementor-container,
  #siteHeader .elementor-row,
  #siteHeader .e-con,
  #siteHeader .e-con-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important; /* logo po lewej */
    gap: 12px;
  }
  
  .sidebar-page-container {
    padding: 10px;
  }

  /* Burger – ładny, w przepływie, zaraz za switcherem */
  .mobile-burger {
    display: inline-flex !important;
    align-items: center; justify-content: center;
    width: 44px; height: 44px; padding: 0;
    border: 1px solid #e5e7eb; border-radius: 10px;
    background: #fff; box-shadow: 0 2px 8px rgba(0,0,0,.06);
    text-indent: -9999px; overflow: hidden;
    position: relative;           /* kontekst dla pseudo-elementów */
    margin-left: 8px;             /* odstęp od switchera */
  }
  /* Ikona – 3 paski + animacja do X */
  .mobile-burger::before,
  .mobile-burger::after {
    content:"";
    position:absolute;
    left:12px; right:12px;
    height:2px;
    background:#111;
    border-radius:2px;
    transition: transform .25s ease, opacity .25s ease, top .25s ease;
  }
  .mobile-burger::before {
    top:50%;
    transform: translateY(-50%);           /* środkowy pasek */
    box-shadow: 0 -8px 0 #111, 0 8px 0 #111;/* górny i dolny jako cienie */
  }
  .mobile-burger::after { opacity:0; }

  /* Menu mobilne – ukryte domyślnie */
  #siteHeader .elementor-nav-menu--main {
    display: none !important;
  }

  /* Menu mobilne – panel po otwarciu */
  #siteHeader.menu-open .elementor-nav-menu--main {
    display: flex !important;
    position: fixed;
    left: 0; right: 0;
    top: var(--menu-top, 60px);   /* JS uzupełnia realną pozycję tuż pod headerem */
    width: 100%;
    margin: 0;
    padding: 12px 0;
    padding-left: max(16px, env(safe-area-inset-left));
    padding-right: max(16px, env(safe-area-inset-right));
    background: #fff;
    border-top: 1px solid #eee;
    box-sizing: border-box;
    flex-direction: column;
    z-index: 1000;
    max-width: 100vw;
  }
  #siteHeader.menu-open .elementor-nav-menu--main li {
    margin: 0;
    border-bottom: 1px solid #f1f1f1;
  }
  #siteHeader.menu-open .elementor-nav-menu--main li:last-child { border-bottom: none; }
  #siteHeader.menu-open .elementor-nav-menu--main li a {
    display: block;
    padding: 16px 20px;
    font-family: 'Outfit', sans-serif;
    font-size: 17px;
    font-weight: 500;
    color: #000;
    text-decoration: none;
  }

  /* Na mobile nie rysujemy paska hover nad linkiem */
  #siteHeader .elementor-nav-menu--main li a::before { content: none !important; }

  /* Burger → animacja do X gdy menu otwarte */
  #siteHeader.menu-open .mobile-burger::before { box-shadow:none; transform:translateY(-50%) rotate(45deg); }
  #siteHeader.menu-open .mobile-burger::after  { opacity:1; top:50%; transform:translateY(-50%) rotate(-45deg); }
}

/* ===== DESKTOP: menu zawsze w 1 linii, bez zawijania ===== */
@media (min-width: 1025px) {
  /* 1) absolutnie bez zawijania */
  #siteHeader .elementor-nav-menu--main {
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
  }
  #siteHeader .elementor-nav-menu--main li,
  #siteHeader .elementor-nav-menu--main a {
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }
}
  /* 2) kiedy robi się ciaśniej – stopniowo ściskamy odstępy zamiast łamać wiersz */
  @media (max-width: 1280px) {
    #siteHeader .elementor-nav-menu--main { gap: 24px; }
    #siteHeader .elementor-nav-menu--main li { margin: 0 12px; }
    #siteHeader .elementor-nav-menu--main li a { padding: 0 14px; }
  }
  @media (max-width: 1150px) {
    #siteHeader .elementor-nav-menu--main { gap: 16px; }
    #siteHeader .elementor-nav-menu--main li { margin: 0 8px; }
    #siteHeader .elementor-nav-menu--main li a { padding: 0 10px; }
  }

  /* 3) awaryjnie – gdyby mimo wszystko zabrakło miejsca, włącz delikatny h-scroll UL zamiast zawijać */
  @media (max-width: 1080px) {
    #siteHeader .elementor-nav-menu--main {
      overflow-x: auto;
      scrollbar-width: thin;              /* Firefox */
    }
    #siteHeader .elementor-nav-menu--main::-webkit-scrollbar { height: 6px; }
    #siteHeader .elementor-nav-menu--main::-webkit-scrollbar-thumb { background: rgba(0,0,0,.15); border-radius: 4px; }
  }
  
  /* === MOBILE: wyrównanie pionowe logo / switchera / burgera === */
@media (max-width: 1024px) {
  /* wiersz nagłówka – wszystko w jednej linii i w pionie na środku */
  #siteHeader .elementor-container,
  #siteHeader .elementor-row,
  #siteHeader .e-con,
  #siteHeader .e-con-inner {
    display: flex !important;
    align-items: center !important;   /* klucz */
    justify-content: flex-start !important;
    gap: 12px;
    padding-top: 6px;                 /* lekki oddech (opcjonalnie) */
    padding-bottom: 6px;
  }

  /* logo – stała wysokość obrazka, bez dodatkowego baseline’u */
  #siteHeader .elementor-widget-image img {
    display: block;   
    margin-top: 12px;/* usuwa baseline */
    height: 36px;                     /* dopasuj 32–36px jeśli trzeba */
    width: auto;
  }

  /* language switcher – wszystko w jednej linii i na środku pionowo */
  #siteHeader .lang-switcher {
    margin-left: auto;
    display: flex;
    align-items: center;              /* wyrównanie pionowe */
    line-height: 1;                   /* zero „pływania” tekstu */
  }
  #siteHeader .lang-switcher * {
    line-height: 1;                   /* ujednolicenie w środku */
  }
  #siteHeader .lang-switcher a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 15px;
    font-weight: 500;
    text-decoration: none;
  }

  /* burger – ta sama oś środkowa co reszta */
  .mobile-burger {
    align-self: center;               /* na środku w osi cross */
    width: 40px;                      /* lekko mniejszy = bliżej środka */
    height: 40px;
    margin-left: 8px;
    position: relative;               /* dla pseudo-elementów */
    text-indent: -9999px;
  }
  .mobile-burger::before,
  .mobile-burger::after {
    left: 10px; right: 10px;
    height: 2px;
  }
  .mobile-burger::before {
    top: 50%;
    transform: translateY(-50%);
    box-shadow: 0 -7px 0 #111, 0 7px 0 #111;
  }
}

/* Dropdown języków – jednolite tło i ładny cień, żeby nie „rozpychało” linii */
@media (max-width: 1024px) {
  #siteHeader .lang-switcher { position: relative; z-index: 3001; }
  #siteHeader .lang-switcher ul {
    position: absolute;
    top: calc(100%);
    left: 0;
    list-style: none;
    background: #fff;
    width: max-content;
  }
  #siteHeader .lang-switcher li { margin: 0; }
  #siteHeader .lang-switcher li a {
    padding: 10px 14px;
    white-space: nowrap;
  }
}/* End custom CSS */