.elementor-11 .elementor-element.elementor-element-0042f70{--display:flex;--min-height:30px;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-11 .elementor-element.elementor-element-0042f70:not(.elementor-motion-effects-element-type-background), .elementor-11 .elementor-element.elementor-element-0042f70 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFD63F;}.elementor-widget-icon-box.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon-box.elementor-view-framed .elementor-icon, .elementor-widget-icon-box.elementor-view-default .elementor-icon{fill:var( --e-global-color-primary );color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon-box .elementor-icon-box-title, .elementor-widget-icon-box .elementor-icon-box-title a{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-icon-box .elementor-icon-box-title{color:var( --e-global-color-primary );}.elementor-widget-icon-box:has(:hover) .elementor-icon-box-title,
					 .elementor-widget-icon-box:has(:focus) .elementor-icon-box-title{color:var( --e-global-color-primary );}.elementor-widget-icon-box .elementor-icon-box-description{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-11 .elementor-element.elementor-element-fe728b0{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-11 .elementor-element.elementor-element-fe728b0 .elementor-icon-box-wrapper{align-items:center;text-align:center;gap:12px;}.elementor-11 .elementor-element.elementor-element-fe728b0.elementor-view-stacked .elementor-icon{background-color:#000000;}.elementor-11 .elementor-element.elementor-element-fe728b0.elementor-view-framed .elementor-icon, .elementor-11 .elementor-element.elementor-element-fe728b0.elementor-view-default .elementor-icon{fill:#000000;color:#000000;border-color:#000000;}.elementor-11 .elementor-element.elementor-element-fe728b0 .elementor-icon{font-size:14px;}.elementor-11 .elementor-element.elementor-element-fe728b0 .elementor-icon-box-title, .elementor-11 .elementor-element.elementor-element-fe728b0 .elementor-icon-box-title a{font-family:"Nunito", Sans-serif;font-size:15px;font-weight:700;}.elementor-11 .elementor-element.elementor-element-fe728b0 .elementor-icon-box-title{-webkit-text-stroke-color:#000;stroke:#000;color:#000000;}.elementor-11 .elementor-element.elementor-element-fe728b0:has(:hover) .elementor-icon-box-title,
					 .elementor-11 .elementor-element.elementor-element-fe728b0:has(:focus) .elementor-icon-box-title{color:#000000;}.elementor-11 .elementor-element.elementor-element-fe728b0 .elementor-icon-box-description{font-family:"Roboto", Sans-serif;font-weight:400;}.elementor-11 .elementor-element.elementor-element-45f2bea0{--display:flex;--min-height:120px;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overlay-opacity:1;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-11 .elementor-element.elementor-element-45f2bea0:not(.elementor-motion-effects-element-type-background), .elementor-11 .elementor-element.elementor-element-45f2bea0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#1F212400;}.elementor-11 .elementor-element.elementor-element-45f2bea0::before, .elementor-11 .elementor-element.elementor-element-45f2bea0 > .elementor-background-video-container::before, .elementor-11 .elementor-element.elementor-element-45f2bea0 > .e-con-inner > .elementor-background-video-container::before, .elementor-11 .elementor-element.elementor-element-45f2bea0 > .elementor-background-slideshow::before, .elementor-11 .elementor-element.elementor-element-45f2bea0 > .e-con-inner > .elementor-background-slideshow::before, .elementor-11 .elementor-element.elementor-element-45f2bea0 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#393185;--background-overlay:'';}.elementor-11 .elementor-element.elementor-element-29f4e272{--display:flex;--justify-content:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:10px;--padding-left:0px;--padding-right:0px;}.elementor-11 .elementor-element.elementor-element-29f4e272.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-widget-theme-site-logo .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-11 .elementor-element.elementor-element-3016e07b{text-align:center;}.elementor-11 .elementor-element.elementor-element-3016e07b img{width:100%;}.elementor-11 .elementor-element.elementor-element-47202567{--display:flex;--justify-content:center;--align-items:flex-end;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title, .elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container, .elementor-widget-mega-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container > span{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-mega-menu{--n-menu-divider-color:var( --e-global-color-text );}.elementor-11 .elementor-element.elementor-element-c698277{--display:flex;}.elementor-11 .elementor-element.elementor-element-b392bb1{--display:flex;}.elementor-11 .elementor-element.elementor-element-9ffafed{--display:flex;}.elementor-11 .elementor-element.elementor-element-4c2b6c4{--display:flex;}.elementor-11 .elementor-element.elementor-element-cd151cf{--display:flex;}.elementor-11 .elementor-element.elementor-element-6077ba6e{--n-menu-dropdown-content-max-width:fit-content;--n-menu-heading-justify-content:initial;--n-menu-title-flex-grow:initial;--n-menu-title-justify-content:initial;--n-menu-title-justify-content-mobile:initial;--n-menu-heading-wrap:wrap;--n-menu-heading-overflow-x:initial;--n-menu-title-distance-from-content:0px;--n-menu-open-animation-duration:500ms;--n-menu-toggle-icon-wrapper-animation-duration:500ms;--n-menu-title-space-between:0px;--n-menu-title-font-size:17px;--n-menu-title-color-normal:#FFFFFF;--n-menu-title-transition:300ms;--n-menu-icon-size:16px;--n-menu-icon-gap:0px;--n-menu-toggle-icon-size:20px;--n-menu-toggle-icon-color:#FFFFFF;--n-menu-toggle-icon-hover-duration:500ms;--n-menu-toggle-icon-distance-from-dropdown:0px;}.elementor-11 .elementor-element.elementor-element-6077ba6e > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title, .elementor-11 .elementor-element.elementor-element-6077ba6e > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container, .elementor-11 .elementor-element.elementor-element-6077ba6e > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container > span{font-family:"Nunito", Sans-serif;font-weight:700;}.elementor-11 .elementor-element.elementor-element-6077ba6e {--n-menu-title-color-hover:#FFD63F;--n-menu-title-color-active:#FFFFFF;}.elementor-11 .elementor-element.elementor-element-c4a625a{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-11 .elementor-element.elementor-element-33a7cc26 .elementor-button{background-color:#FFD63F;font-family:"Nunito", Sans-serif;font-size:16px;font-weight:700;fill:#000000;color:#000000;box-shadow:0px 7px 11px -6px #000000;border-radius:10px 10px 10px 10px;padding:17px 25px 17px 25px;}.elementor-11 .elementor-element.elementor-element-33a7cc26 .elementor-button:hover, .elementor-11 .elementor-element.elementor-element-33a7cc26 .elementor-button:focus{background-color:#FFD63F;color:#000000;}.elementor-11 .elementor-element.elementor-element-33a7cc26 .elementor-button:hover svg, .elementor-11 .elementor-element.elementor-element-33a7cc26 .elementor-button:focus svg{fill:#000000;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(min-width:768px){.elementor-11 .elementor-element.elementor-element-0042f70{--content-width:1600px;}.elementor-11 .elementor-element.elementor-element-45f2bea0{--content-width:1600px;}.elementor-11 .elementor-element.elementor-element-29f4e272{--width:28%;}.elementor-11 .elementor-element.elementor-element-47202567{--width:67%;}.elementor-11 .elementor-element.elementor-element-c4a625a{--width:15%;}}@media(max-width:1024px) and (min-width:768px){.elementor-11 .elementor-element.elementor-element-29f4e272{--width:80%;}.elementor-11 .elementor-element.elementor-element-47202567{--width:20%;}}@media(max-width:1024px){.elementor-11 .elementor-element.elementor-element-45f2bea0{--padding-top:0px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}.elementor-11 .elementor-element.elementor-element-47202567{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-11 .elementor-element.elementor-element-6077ba6e{--n-menu-heading-wrap:wrap;--n-menu-heading-overflow-x:initial;--n-menu-icon-size:0px;--n-menu-toggle-icon-size:33px;}}@media(max-width:767px){.elementor-11 .elementor-element.elementor-element-45f2bea0{--min-height:120px;--padding-top:0px;--padding-bottom:0px;--padding-left:10px;--padding-right:10px;}.elementor-11 .elementor-element.elementor-element-29f4e272{--width:85%;}.elementor-11 .elementor-element.elementor-element-47202567{--width:15%;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-11 .elementor-element.elementor-element-6077ba6e{--n-menu-heading-justify-content:center;--n-menu-title-flex-grow:initial;--n-menu-title-justify-content:initial;--n-menu-title-justify-content-mobile:center;--n-menu-heading-wrap:wrap;--n-menu-heading-overflow-x:initial;--n-menu-toggle-icon-size:26px;}}/* Start custom CSS for container, class: .elementor-element-45f2bea0 *//* =========================================================
   GLOBAL
   ========================================================= */

/* Domyślnie ukryj przycisk kontaktu (pokażemy go na mobile) */
#kontakt-przycisk{
  display: none !important;
}


/* =========================================================
   MOBILE (<= 767px) – pełnoekranowe menu + płynne submenu
   ========================================================= */
@media (max-width: 767px){

  /* Usuń tło tytułu w dropdown */
  .elementor-widget-n-menu .e-n-menu[data-layout="dropdown"] .e-n-menu-title{
    background: none !important;
  }

  /* ---------------------------------------------------------
     Toggle (X / hamburger) – zawsze na wierzchu
     --------------------------------------------------------- */
  .e-n-menu .e-n-menu-toggle{
    z-index: 1000005 !important;
  }

  .e-n-menu .e-n-menu-toggle[aria-expanded="true"]{
    position: fixed !important;
    top: 16px !important;
    right: 16px !important;
    left: auto !important;
    bottom: auto !important;
    z-index: 1000006 !important;
  }

  /* ---------------------------------------------------------
     Wrapper – pełnoekranowy panel tylko gdy menu jest OTWARTE
     (ważne: nie rób fixed stale, bo wtedy menu może blokować stronę)
     --------------------------------------------------------- */
  .e-n-menu .e-n-menu-toggle[aria-expanded="true"] + .e-n-menu-wrapper,
  .e-n-menu .e-n-menu-toggle[aria-expanded="true"] + #menubar-246.e-n-menu-wrapper{
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;

    height: 100vh !important;   /* fallback */
    height: 100dvh !important;  /* nowocześniejsze na mobile */

    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;

    z-index: 1000000 !important;

    /* tło overlay */
    background: #393185;

    /* żeby treść nie wchodziła pod X */
    padding-top: 64px !important;
    box-sizing: border-box;
  }

  /* Lekki odstęp na górze menu */
  .elementor-widget-n-menu .e-n-menu-heading{
    margin-top: 20px !important;
  }

  /* Kontener treści – poprawka: nie nadpisuj margin-block-start margin:auto */
  .elementor-widget-n-menu .e-n-menu[data-layout="dropdown"] .e-n-menu-content > .e-con{
    margin-block-start: var(--n-menu-title-distance-from-content, 16px);
    margin-inline: auto;
    width: var(--width, 100%);
    max-width: 75%;
    text-align: center;
    box-sizing: border-box;
  }

  /* =========================================================
     PŁYNNE ROZWIJANIE SUBMENU
     =========================================================
     Problem #1 w Elementorze: stan "otwarte" bywa na:
       - .e-n-menu-item.e-active  (rodzic)
       - .e-n-menu-content.e-active (content)
       - aria-expanded="true" na .e-n-menu-title
     Dlatego obsługujemy WSZYSTKIE warianty.
  */

  /* Stan zamknięty */
  .e-n-menu-item > .e-n-menu-content{
    display: block !important;     /* obejście ewentualnych display:none */
    overflow: hidden;

    max-height: 0;
    opacity: 0;
    transform: translateY(-8px);
    visibility: hidden;
    pointer-events: none;

    transition:
      max-height .35s ease,
      opacity .20s ease,
      transform .20s ease,
      visibility 0s linear .35s;

    will-change: max-height, opacity, transform;
  }

  /* Jeśli Elementor chowa wewnętrzny kontener, wymuś jego widoczność */
  .e-n-menu-item > .e-n-menu-content > .elementor-element.e-con,
  .e-n-menu-item > .e-n-menu-content > .e-con{
    display: block !important;
  }

  /* Stan otwarty (łapiemy różne "flagi" aktywności) */
  .e-n-menu-item.e-active > .e-n-menu-content,
  .e-n-menu-item > .e-n-menu-content.e-active,
  .e-n-menu-title[aria-expanded="true"] + .e-n-menu-content{
    max-height: 2000px;            /* duży zapas */
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
    pointer-events: auto;

    transition:
      max-height .35s ease,
      opacity .20s ease .05s,
      transform .20s ease .05s,
      visibility 0s;

    margin-top: 10px;
  }

  /* (Opcjonalnie) wyłącz animate.css jeśli miesza w animacji */
  .e-n-menu-item > .e-n-menu-content .animated{
    animation: none !important;
  }

  /* ---------------------------------------------------------
     Przycisk kontaktu na mobile
     --------------------------------------------------------- */
  #kontakt-przycisk{
    display: flex !important;
    justify-content: center;
    align-items: center;
    gap: .5rem;

    width: min(40%, 320px);
    margin: 24px auto 16px;
    padding: 12px 18px;

    border-radius: 25px;
    background: #003E85 !important;
    box-sizing: border-box;
  }

  #kontakt-przycisk span{
    color: #fff !important;
  }

  /* Jeśli przycisk jest W ŚRODKU wrappera menu – przyklej go na dół podczas scrolla */
  .e-n-menu .e-n-menu-toggle[aria-expanded="true"] + .e-n-menu-wrapper #kontakt-przycisk,
  .e-n-menu .e-n-menu-toggle[aria-expanded="true"] + #menubar-246.e-n-menu-wrapper #kontakt-przycisk{
    position: sticky;
    bottom: 16px;
    z-index: 1000002;
  }

  /* ---------------------------------------------------------
     Blokada scrolla strony gdy menu otwarte
     Uwaga: :has() działa w nowoczesnych przeglądarkach (Safari/Chrome/Edge).
     --------------------------------------------------------- */
  html:has(.e-n-menu .e-n-menu-toggle[aria-expanded="true"]),
  body:has(.e-n-menu .e-n-menu-toggle[aria-expanded="true"]){
    overflow: hidden !important;
    height: 100% !important;
  }
}


/* =========================================================
   TABLET (768–1024px) – nie rób overlay, tylko normalne menu
   + opcjonalnie płynne rozwijanie submenu
   ========================================================= */
@media (min-width: 768px) and (max-width: 1024px){

  .e-n-menu-heading{
    --position: static;
    --width: 100%;
  }

  .e-n-menu-heading .e-n-menu-content,
  .e-n-menu-heading .e-n-menu-content > *,
  .e-n-menu-heading .e-n-menu-content .e-con{
    position: static !important;
    width: 100% !important;
  }

  /* (Opcjonalnie) płynne submenu także na tabletach */
  .e-n-menu-item > .e-n-menu-content{
    display: block !important;
    overflow: hidden;

    max-height: 0;
    opacity: 0;
    transform: translateY(-6px);
    visibility: hidden;
    pointer-events: none;

    transition:
      max-height .30s ease,
      opacity .20s ease,
      transform .20s ease,
      visibility 0s linear .30s;
  }

  .e-n-menu-item.e-active > .e-n-menu-content,
  .e-n-menu-item > .e-n-menu-content.e-active,
  .e-n-menu-title[aria-expanded="true"] + .e-n-menu-content{
    max-height: 2000px;
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
    pointer-events: auto;

    transition:
      max-height .30s ease,
      opacity .20s ease .05s,
      transform .20s ease .05s,
      visibility 0s;
  }
}


/* =========================================================
   Dostępność: redukcja ruchu
   ========================================================= */
@media (prefers-reduced-motion: reduce){
  .e-n-menu-item > .e-n-menu-content{
    transition: none !important;
    transform: none !important;
  }
}
/* Normalnie (nie-sticky) */
.elementor-11 .elementor-element.elementor-element-45f2bea0{
  --min-height: 120px !important;
}

/* Sticky (przyklejony) – żeby też nie wracało 120px */
.elementor-11 .elementor-element.elementor-element-45f2bea0.elementor-sticky--active{
  --min-height: 80px !important;
}/* End custom CSS */