.elementor-18 .elementor-element.elementor-element-547b042e{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:-250px;--margin-left:0px;--margin-right:0px;--z-index:10;}.elementor-18 .elementor-element.elementor-element-7ebc9c34{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:48px;--margin-right:0px;}.elementor-18 .elementor-element.elementor-element-7ebc9c34.e-con{--align-self:center;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-18 .elementor-element.elementor-element-1ced2a8d.elementor-element{--align-self:center;}.elementor-18 .elementor-element.elementor-element-1ced2a8d img{width:100%;}.elementor-18 .elementor-element.elementor-element-753b7bdb{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-18 .elementor-element.elementor-element-753b7bdb.e-con{--align-self:center;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before,
					.elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-accent );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-18 .elementor-element.elementor-element-562c8c6c .elementor-menu-toggle{margin:0 auto;}.elementor-18 .elementor-element.elementor-element-562c8c6c{--e-nav-menu-horizontal-menu-item-margin:calc( 10px / 2 );}.elementor-18 .elementor-element.elementor-element-562c8c6c .elementor-nav-menu--main:not(.elementor-nav-menu--layout-horizontal) .elementor-nav-menu > li:not(:last-child){margin-bottom:10px;}.elementor-18 .elementor-element.elementor-element-562c8c6c .elementor-nav-menu--dropdown a, .elementor-18 .elementor-element.elementor-element-562c8c6c .elementor-menu-toggle{color:#000000;fill:#000000;}.elementor-18 .elementor-element.elementor-element-562c8c6c .elementor-nav-menu--dropdown{border-style:none;}.elementor-18 .elementor-element.elementor-element-562c8c6c .elementor-nav-menu--main .elementor-nav-menu--dropdown, .elementor-18 .elementor-element.elementor-element-562c8c6c .elementor-nav-menu__container.elementor-nav-menu--dropdown{box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);}.elementor-18 .elementor-element.elementor-element-562c8c6c .elementor-nav-menu--dropdown li:not(:last-child){border-style:none;border-bottom-width:1px;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:1024px){.elementor-18 .elementor-element.elementor-element-753b7bdb{--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:flex-end;--padding-top:5%;--padding-bottom:5%;--padding-left:0%;--padding-right:0%;}.elementor-18 .elementor-element.elementor-element-753b7bdb.e-con{--align-self:flex-end;}.elementor-18 .elementor-element.elementor-element-562c8c6c{--nav-menu-icon-size:32px;}}@media(max-width:767px){.elementor-18 .elementor-element.elementor-element-547b042e{--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-18 .elementor-element.elementor-element-547b042e.e-con{--align-self:center;}.elementor-18 .elementor-element.elementor-element-7ebc9c34{--width:50%;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-18 .elementor-element.elementor-element-753b7bdb{--width:50%;--min-height:90px;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:flex-end;}.elementor-18 .elementor-element.elementor-element-562c8c6c.elementor-element{--order:-99999 /* order start hack */;}.elementor-18 .elementor-element.elementor-element-562c8c6c .elementor-nav-menu--dropdown{border-radius:10% 10% 10% 10%;}.elementor-18 .elementor-element.elementor-element-562c8c6c .elementor-nav-menu--dropdown li:first-child a{border-top-left-radius:10%;border-top-right-radius:10%;}.elementor-18 .elementor-element.elementor-element-562c8c6c .elementor-nav-menu--dropdown li:last-child a{border-bottom-right-radius:10%;border-bottom-left-radius:10%;}}@media(min-width:768px){.elementor-18 .elementor-element.elementor-element-7ebc9c34{--width:40%;}.elementor-18 .elementor-element.elementor-element-753b7bdb{--width:60%;}}/* Start custom CSS for container, class: .elementor-element-547b042e *//* 0) ZAŁADOWANIE CZCIONKI JOST (Google Fonts) – wklej NA POCZĄTKU */
@import url('https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,300..900;1,300..900&display=swap');

/***************************************************
 * NAGŁÓWEK (Elementor) – PORZĄDKI + RESPONSYWNOŚĆ
 ***************************************************/

/* ----------------------------
   0) ZMIENNE GLOBALNE (BAZY)
   ---------------------------- */
.elementor-18 .elementor-element.elementor-element-547b042e{
  /* Bazowe wysokości logo (przed skalowaniem – głównie dla desktopu) */
  --logoH-desktop: clamp(46px, 4.2vw, 60px);
  --logoH-tablet:  clamp(40px, 6vw, 54px);
  --logoH-mobile:  clamp(34px, 8.2vw, 46px);

  /* Skalowanie logo (większe logo ogólnie, trochę mniejsze w sticky) */
  --scale-normal: 2.70;
  --scale-sticky: 1.55;

  /* Font i rozmiary menu (łatwo korygować) */
  --font-menu: "Jost", ui-sans-serif, system-ui, -apple-system, "Segoe UI",
               Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;

  /* Rozmiary menu (desktop/tablet/mobile) – wyraźnie większe */
  --menu-size-d: clamp(17px, 1.25vw, 21px);
  --menu-size-t: clamp(16px, 2.4vw, 19px);
  --menu-size-m: clamp(16px, 3.9vw, 19px);

  /* Odstępy w linkach menu */
  --menu-pad-x-d: clamp(10px, 1.4vw, 18px);
  --menu-pad-x-t: clamp(10px, 2.4vw, 16px);
  --menu-pad-x-m: clamp(10px, 4vw, 16px);

  /* Kolory stanów (dostępność) */
  --menu-color: #111;
  --menu-hover: #000;
  --menu-active: #000;
  --menu-focus-ring: 2px solid currentColor;
}

/* ----------------------------
   1) NAGŁÓWEK – BAZA
   ---------------------------- */
.elementor-18 .elementor-element.elementor-element-547b042e > .elementor-container{
  display: flex;
  align-items: center;
  gap: clamp(8px, 2vw, 28px);
  padding-block: clamp(10px, 2.6vw, 24px);
  padding-inline: 0 !important;
  transition:
    padding-block .38s cubic-bezier(.22,.61,.36,1),
    background-color .38s ease,
    box-shadow .38s ease,
    backdrop-filter .38s ease;
}

/* Logo – wyrównanie do lewej */
.header-img{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  margin-left: 0 !important;
}

/* ----------------------------
   2) LOGO – WSPÓLNE STYLE
   ---------------------------- */
.header-img img{
  display:block;
  width:auto;
  height:auto;
  max-width: 100%;               /* nie wychodzi poza kontener */
  transform-origin: left center;
  -webkit-user-drag: none;
  image-rendering: auto;
  aspect-ratio: 1970 / 563;      /* proporcje Twojego logo */
  transition:
    height .38s cubic-bezier(.22,.61,.36,1),
    filter .38s ease,
    transform .38s cubic-bezier(.22,.61,.36,1);
  will-change: height, transform;
}

/* ==================================================
   3) TRYB NORMALNY – DESKTOP
   ================================================== */

/* domyślnie (desktop) – kontrola wysokością (szerokość auto) */
.elementor-18 .elementor-element.elementor-element-547b042e:not(.elementor-sticky--effects) .header-img img{
  height: calc(var(--logoH-desktop) * 1.0) !important;
}

/* tablet + mobile mają własne reguły w sekcji 8) i 9) */


/* ==================================================
   4) TRYB STICKY – DESKTOP
   ================================================== */
.elementor-18 .elementor-element.elementor-element-547b042e.elementor-sticky--effects .header-img img{
  height: calc(var(--logoH-desktop) * var(--scale-sticky)) !important;
  filter: saturate(1.05);
}

/* ----------------------------
   5) EFEKT STICKY – TŁO, CIEŃ
   ---------------------------- */
.elementor-18 .elementor-element.elementor-element-547b042e.elementor-sticky--effects{
  background-color: rgba(255,255,255,.92) !important; /* fallback */
  box-shadow: 0 4px 30px rgba(0,0,0,.10) !important;
  z-index: 999;
  transition: background-color .38s ease, box-shadow .38s ease, backdrop-filter .38s ease;
}
@supports ((-webkit-backdrop-filter: blur(8px)) or (backdrop-filter: blur(8px))){
  .elementor-18 .elementor-element.elementor-element-547b042e.elementor-sticky--effects{
    -webkit-backdrop-filter: saturate(180%) blur(8px);
    backdrop-filter: saturate(180%) blur(8px);
  }
}
.elementor-18 .elementor-element.elementor-element-547b042e.elementor-sticky--effects > .elementor-container{
  /* delikatnie mniejszy padding w sticky */
  padding-block: clamp(6px, 1.4vw, 14px) !important;
  background: transparent !important;
  position: relative;
  z-index: 2;
}
.elementor-18 .elementor-element.elementor-element-547b042e.elementor-sticky--effects > .elementor-background-overlay{
  opacity: 1 !important;
  background-color: rgba(255,255,255,.92) !important;
  z-index: 1;
}

/* ----------------------------
   6) MENU – ANTY-ZAWIJANIE + ROZMIARY
   ---------------------------- */
.elementor-18 .elementor-element.elementor-element-547b042e nav.elementor-nav-menu--main > ul.elementor-nav-menu{
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: clamp(6px, 1vw, 14px);
  flex: 1 1 0;
  min-width: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.elementor-18 .elementor-element.elementor-element-547b042e nav.elementor-nav-menu--main > ul.elementor-nav-menu::-webkit-scrollbar{ display:none; }
.elementor-18 .elementor-element.elementor-element-547b042e nav.elementor-nav-menu--main > ul.elementor-nav-menu > li{
  flex:0 0 auto; white-space:nowrap;
}

/* Tekst menu – większy + Jost + stany */
.elementor-18 .elementor-element.elementor-element-547b042e nav.elementor-nav-menu--main > ul.elementor-nav-menu > li > a{
  display:block;
  line-height:1.25;
  padding-inline: var(--menu-pad-x-d);
  font-size: var(--menu-size-d);
  font-family: var(--font-menu);
  font-weight: 600;
  color: var(--menu-color);
  white-space:nowrap;
  text-decoration: none;              /* bez podkreśleń */
  text-underline-offset: .22em;
}
.elementor-18 .elementor-element.elementor-element-547b042e nav.elementor-nav-menu--main > ul.elementor-nav-menu > li > a:hover{
  color: var(--menu-hover);
}
.elementor-18 .elementor-element.elementor-element-547b042e nav.elementor-nav-menu--main > ul.elementor-nav-menu > li.current-menu-item > a,
.elementor-18 .elementor-element.elementor-element-547b042e nav.elementor-nav-menu--main > ul.elementor-nav-menu > li > a.elementor-item-active{
  color: var(--menu-active);
  text-decoration: none;              /* aktywny też bez podkreślenia */
}
.elementor-18 .elementor-element.elementor-element-547b042e nav.elementor-nav-menu--main > ul.elementor-nav-menu > li > a:focus-visible{
  outline: var(--menu-focus-ring);
  outline-offset: 2px;
  border-radius: 6px;
}

/* ----------------------------
   7) GĘSTOŚĆ NA 1440px
   ---------------------------- */
@media (max-width: 1440px){
  .elementor-18 .elementor-element.elementor-element-547b042e nav.elementor-nav-menu--main > ul.elementor-nav-menu{
    gap: clamp(4px, .9vw, 12px);
  }
  .elementor-18 .elementor-element.elementor-element-547b042e nav.elementor-nav-menu--main > ul.elementor-nav-menu > li > a{
    padding-inline: max(8px, .9vw);
    font-size: clamp(16px, 1.15vw, 20px);
    font-weight: 600;
  }
}

/* ----------------------------
   8) TABLET – BAZY + SKALOWANIE
   ---------------------------- */
@media (max-width: 1024px){
  /* Logo: węższe na tabletach, żeby nie zjadało miejsca menu */
  .elementor-18 .elementor-element.elementor-element-547b042e .header-img img{
    width: min(45vw, 300px);      /* mniejsze niż wcześniej */
    height: auto !important;
    aspect-ratio: 1970 / 563;
  }

  /* STICKY: jeszcze odrobinę mniejsze */
  .elementor-18 .elementor-element.elementor-element-547b042e.elementor-sticky--effects .header-img img{
    width: min(40vw, 260px);
    height: auto !important;
  }

  /* menu – większy tekst + Jost */
  .elementor-18 .elementor-element.elementor-element-547b042e nav.elementor-nav-menu--main > ul.elementor-nav-menu > li > a{
    padding-inline: var(--menu-pad-x-t);
    font-size: var(--menu-size-t);
    font-weight: 600;
  }
}

/* ----------------------------
   9) MOBILE – BAZY + SKALOWANIE
   ---------------------------- */
@media (max-width: 767px){
  .elementor-18 .elementor-element.elementor-element-547b042e > .elementor-container{
    padding-block: clamp(8px, 4.2vw, 16px);
    padding-inline: 0 !important;
  }

  /* NORMAL: logo mniejsze – bardziej proporcjonalne do wysokości nagłówka */
  .elementor-18 .elementor-element.elementor-element-547b042e:not(.elementor-sticky--effects) .header-img img{
    width: min(60vw, 210px);      /* było 70vw / 260px – teraz wyraźnie mniejsze */
    height: auto !important;
    aspect-ratio: 1970 / 563;
  }

  /* STICKY: jeszcze kompaktowe */
  .elementor-18 .elementor-element.elementor-element-547b042e.elementor-sticky--effects .header-img img{
    width: min(50vw, 180px);
    height: auto !important;
  }

  /* menu – czytelniejsze i „tap friendly” */
  .elementor-18 .elementor-element.elementor-element-547b042e nav.elementor-nav-menu--main > ul.elementor-nav-menu{
    gap: clamp(6px, 2.2vw, 12px);
  }
  .elementor-18 .elementor-element.elementor-element-547b042e nav.elementor-nav-menu--main > ul.elementor-nav-menu > li > a{
    padding-inline: var(--menu-pad-x-m);
    padding-block: clamp(8px, 2.6vw, 12px); /* wyższy target dotykowy */
    font-size: var(--menu-size-m);
    font-weight: 600;
  }
}

/* ----------------------------
   10) DROPDOWN – RESETY BEZPIECZEŃSTWA + JOST
   ---------------------------- */
.elementor-18 .elementor-element.elementor-element-547b042e .elementor-nav-menu--dropdown ul.elementor-nav-menu{
  display:block !important;
  overflow:visible !important;
  gap:initial !important;
}
.elementor-18 .elementor-element.elementor-element-547b042e .elementor-nav-menu--dropdown a{
  white-space:normal !important;
  font-family: var(--font-menu) !important;
  font-weight: 600 !important;
  font-size: clamp(16px, 3.9vw, 19px) !important;
  line-height: 1.3 !important;
  color: var(--menu-color) !important;
  text-decoration: none !important;    /* dropdown też bez podkreśleń */
}
.elementor-18 .elementor-element.elementor-element-547b042e .elementor-nav-menu--dropdown a:focus-visible{
  outline: var(--menu-focus-ring);
  outline-offset: 2px;
  border-radius: 6px;
}

/* ----------------------------
   11) DOSTĘPNOŚĆ – REDUKCJA RUCHU
   ---------------------------- */
@media (prefers-reduced-motion: reduce){
  .elementor-18 .elementor-element.elementor-element-547b042e, .elementor-18 .elementor-element.elementor-element-547b042e *{ transition: none !important; }
}

/* (Opcjonalnie) zerowanie paddingów kolumn/widgetów:
.elementor-18 .elementor-element.elementor-element-547b042e { padding-left:0 !important; padding-right:0 !important; }
.elementor-18 .elementor-element.elementor-element-547b042e .elementor-column > .elementor-widget-wrap{ padding-left:0 !important; padding-right:0 !important; }
*//* End custom CSS */