.elementor-49 .elementor-element.elementor-element-d4caeff{--display:flex;--position:fixed;--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;--justify-content:flex-end;--align-items:stretch;--margin-top:35px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;top:0px;--z-index:1;}body:not(.rtl) .elementor-49 .elementor-element.elementor-element-d4caeff{right:0px;}body.rtl .elementor-49 .elementor-element.elementor-element-d4caeff{left:0px;}.elementor-49 .elementor-element.elementor-element-e1092b4{--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;--justify-content:flex-end;--align-items:stretch;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:1;}body:not(.rtl) .elementor-49 .elementor-element.elementor-element-a3b24ad{left:310px;}body.rtl .elementor-49 .elementor-element.elementor-element-a3b24ad{right:310px;}.elementor-49 .elementor-element.elementor-element-a3b24ad{top:0px;}.elementor-49 .elementor-element.elementor-element-010fabc{--display:flex;--position:fixed;--min-height:100vh;--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:solid;--border-style:solid;border-width:0px 1px 0px 0px;--border-top-width:0px;--border-right-width:1px;--border-bottom-width:0px;--border-left-width:0px;border-color:#D3D3D347;--border-color:#D3D3D347;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:25px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;top:0px;--z-index:999;}.elementor-49 .elementor-element.elementor-element-010fabc:not(.elementor-motion-effects-element-type-background), .elementor-49 .elementor-element.elementor-element-010fabc > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-49 .elementor-element.elementor-element-010fabc.e-con{--align-self:flex-start;}body:not(.rtl) .elementor-49 .elementor-element.elementor-element-010fabc{left:0px;}body.rtl .elementor-49 .elementor-element.elementor-element-010fabc{right:0px;}.elementor-49 .elementor-element.elementor-element-5807e08{--display:flex;--min-height:15vh;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:15px;--padding-bottom:15px;--padding-left:15px;--padding-right:15px;}.elementor-49 .elementor-element.elementor-element-5807e08.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-49 .elementor-element.elementor-element-310f44a{width:100%;max-width:100%;margin:30px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;text-align:center;}.elementor-49 .elementor-element.elementor-element-310f44a.elementor-element{--align-self:center;}.elementor-49 .elementor-element.elementor-element-310f44a img{width:100%;max-width:100%;}.elementor-49 .elementor-element.elementor-element-812ef8d{--display:flex;--min-height:70vh;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:-25px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.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-49 .elementor-element.elementor-element-e4577c8{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--e-nav-menu-horizontal-menu-item-margin:calc( 15px / 2 );--nav-menu-icon-size:0px;}.elementor-49 .elementor-element.elementor-element-e4577c8.elementor-element{--align-self:flex-start;}.elementor-49 .elementor-element.elementor-element-e4577c8 .elementor-menu-toggle{margin:0 auto;border-width:0px;}.elementor-49 .elementor-element.elementor-element-e4577c8 .elementor-nav-menu .elementor-item{font-family:"Cormorant Garamond", Sans-serif;font-size:14px;font-weight:700;text-transform:uppercase;}.elementor-49 .elementor-element.elementor-element-e4577c8 .elementor-nav-menu--main .elementor-item{color:#000000;fill:#000000;}.elementor-49 .elementor-element.elementor-element-e4577c8 .elementor-nav-menu--main .elementor-item:hover,
					.elementor-49 .elementor-element.elementor-element-e4577c8 .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-49 .elementor-element.elementor-element-e4577c8 .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-49 .elementor-element.elementor-element-e4577c8 .elementor-nav-menu--main .elementor-item:focus{color:#2C677E;fill:#2C677E;}.elementor-49 .elementor-element.elementor-element-e4577c8 .elementor-nav-menu--main:not(.elementor-nav-menu--layout-horizontal) .elementor-nav-menu > li:not(:last-child){margin-bottom:15px;}.elementor-49 .elementor-element.elementor-element-e4577c8 .elementor-nav-menu--dropdown a, .elementor-49 .elementor-element.elementor-element-e4577c8 .elementor-menu-toggle{color:#010101;fill:#010101;}.elementor-49 .elementor-element.elementor-element-e4577c8 .elementor-nav-menu--dropdown{background-color:#FFFFFF00;}.elementor-49 .elementor-element.elementor-element-e4577c8 .elementor-nav-menu--dropdown .elementor-item, .elementor-49 .elementor-element.elementor-element-e4577c8 .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:"Rufina", Sans-serif;font-size:14px;font-weight:400;}.elementor-49 .elementor-element.elementor-element-e4577c8 .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-nav-menu--dropdown, .elementor-49 .elementor-element.elementor-element-e4577c8 .elementor-nav-menu__container.elementor-nav-menu--dropdown{margin-top:0px !important;}.elementor-49 .elementor-element.elementor-element-cbf5478{--grid-template-columns:repeat(0, auto);text-align:center;width:var( --container-widget-width, 68% );max-width:68%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 9px;padding:0px 0px 0px 0px;--container-widget-width:68%;--container-widget-flex-grow:0;--grid-column-gap:5px;--grid-row-gap:0px;}.elementor-49 .elementor-element.elementor-element-cbf5478.elementor-element{--align-self:flex-start;}.elementor-49 .elementor-element.elementor-element-cbf5478 .elementor-social-icon{background-color:#FFFFFF00;}.elementor-49 .elementor-element.elementor-element-cbf5478 .elementor-social-icon i{color:var( --e-global-color-secondary );}.elementor-49 .elementor-element.elementor-element-cbf5478 .elementor-social-icon svg{fill:var( --e-global-color-secondary );}.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-49 .elementor-element.elementor-element-d4caeff{--width:35%;}.elementor-49 .elementor-element.elementor-element-e1092b4{--width:35%;}.elementor-49 .elementor-element.elementor-element-010fabc{--width:300px;}.elementor-49 .elementor-element.elementor-element-5807e08{--width:89.967%;}}/* Start custom CSS for html, class: .elementor-element-fe34f29 *//* Kontener układu — spójne marginesy z widgetem godzin */
.elementor-49 .elementor-element.elementor-element-fe34f29 .bb-header-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 28px !important;
    padding: 30px 40px !important;
}


/* SEARCH — collapsed, ikona jak reszta */
.elementor-49 .elementor-element.elementor-element-fe34f29 .bb-action-search {
    display: inline-flex !important;
    align-items: center !important;
    height: 24px !important;
    overflow: hidden !important;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
    width: 24px !important;
}

/* Otwarty stan — rozwija się w glass pole */
.elementor-49 .elementor-element.elementor-element-fe34f29 .bb-action-search.bb-search--open {
    width: 240px !important;
    height: 40px !important;
    background: rgba(255, 255, 255, 0.65) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border: 1px solid rgba(255, 255, 255, 0.7) !important;
    border-radius: 100px !important;
    padding: 0 16px !important;
    box-shadow: 
        0 4px 16px rgba(0, 0, 0, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.8) !important;
}

/* Przycisk lupy */
.elementor-49 .elementor-element.elementor-element-fe34f29 .bb-search-toggle {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    height: 24px !important;
    color: #000 !important;
    flex-shrink: 0 !important;
    transition: opacity 0.3s ease, transform 0.3s ease !important;
    filter: drop-shadow(0px 2px 10px rgba(255, 255, 255, 1)) !important;
}

.elementor-49 .elementor-element.elementor-element-fe34f29 .bb-search-toggle:hover {
    opacity: 0.55 !important;
    transform: translateY(-2px) !important;
}

.elementor-49 .elementor-element.elementor-element-fe34f29 .bb-search-icon {
    width: 22px !important;
    height: 22px !important;
    color: #000 !important;
}

/* Input — ukryty domyślnie */
.elementor-49 .elementor-element.elementor-element-fe34f29 .bb-search-input {
    font-family: 'Cormorant Garamond', serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: #000 !important;
    background: transparent !important;
    border: none !important;
    outline: none !important;
    padding: 0 0 0 12px !important;
    width: 0 !important;
    opacity: 0 !important;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.elementor-49 .elementor-element.elementor-element-fe34f29 .bb-action-search.bb-search--open .bb-search-input {
    width: 100% !important;
    opacity: 1 !important;
    flex: 1 !important;
}

.elementor-49 .elementor-element.elementor-element-fe34f29 .bb-search-input::placeholder {
    color: rgba(0, 0, 0, 0.4) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    font-size: 12px !important;
    font-weight: 500 !important;
}

/* W otwartym stanie ikona lupy nie ma drop-shadow (jest już wewnątrz glass boxa) */
.elementor-49 .elementor-element.elementor-element-fe34f29 .bb-action-search.bb-search--open .bb-search-toggle {
    filter: none !important;
    opacity: 0.6 !important;
}
/* ==========================================
   DIVIDER między search a ikonami
   ========================================== */
.elementor-49 .elementor-element.elementor-element-fe34f29 .bb-divider {
    width: 1px !important;
    height: 22px !important;
    background: rgba(0, 0, 0, 0.15) !important;
}

/* ==========================================
   IKONY — cienkie, eleganckie linie
   ========================================== */
.elementor-49 .elementor-element.elementor-element-fe34f29 .bb-action-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    height: 24px !important;
    color: #000 !important; 
    text-decoration: none !important;
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease !important;
    filter: drop-shadow(0px 2px 10px rgba(255, 255, 255, 0.9)) !important;
}

.elementor-49 .elementor-element.elementor-element-fe34f29 .bb-action-icon svg {
    width: 100% !important;
    height: 100% !important;
    stroke: currentColor !important;
    fill: none !important;
}

.elementor-49 .elementor-element.elementor-element-fe34f29 .bb-action-icon:hover {
    opacity: 0.55 !important;
    transform: translateY(-2px) !important;
}

/* ==========================================
   Moduł językowy
   ========================================== */
.elementor-49 .elementor-element.elementor-element-fe34f29 .bb-action-lang {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important; 
    color: #000 !important;
    text-decoration: none !important;
    transition: opacity 0.3s ease !important;
    filter: drop-shadow(0px 2px 10px rgba(255, 255, 255, 0.9)) !important;
    padding-left: 4px !important;
}

.elementor-49 .elementor-element.elementor-element-fe34f29 .bb-lang-text {
    font-family: 'Cormorant Garamond', serif !important; 
    font-size: 14px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.15em !important;
}

.elementor-49 .elementor-element.elementor-element-fe34f29 .bb-chevron {
    width: 12px !important;
    height: 12px !important;
    stroke: currentColor !important;
    fill: none !important;
    opacity: 0.6 !important;
}

.elementor-49 .elementor-element.elementor-element-fe34f29 .bb-action-lang:hover {
    opacity: 0.55 !important;
}

/* Responsywnie */
@media (max-width: 768px) {
    .elementor-49 .elementor-element.elementor-element-fe34f29 .bb-header-actions {
        gap: 18px !important;
        padding: 20px !important;
    }
    
    .elementor-49 .elementor-element.elementor-element-fe34f29 .bb-action-search {
        min-width: 160px !important;
    }
    
    .elementor-49 .elementor-element.elementor-element-fe34f29 .bb-action-search:focus-within {
        min-width: 200px !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d4caeff */.elementor-49 .elementor-element.elementor-element-d4caeff {
    background: transparent !important; /* Całkowita przezroczystość */
    background-color: transparent !important;
    box-shadow: none !important; /* Usuwamy wszelkie cienie, które mogłyby odcinać boks */
    border: none !important; /* Usuwamy ramki */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e1092b4 */.elementor-49 .elementor-element.elementor-element-e1092b4 {
    background: transparent !important; /* Całkowita przezroczystość */
    background-color: transparent !important;
    box-shadow: none !important; /* Usuwamy wszelkie cienie, które mogłyby odcinać boks */
    border: none !important; /* Usuwamy ramki */
}/* End custom CSS */
/* Start custom CSS for nav-menu, class: .elementor-element-e4577c8 *//* ==========================================================================
   1. UKŁAD I POZYCJONOWANIE POZYCJI GŁÓWNYCH (KONTEKST 300PX)
   ========================================================================== */

.elementor-49 .elementor-element.elementor-element-e4577c8 .elementor-nav-menu {
    width: 100% !important;
    position: relative !important;
}

.elementor-49 .elementor-element.elementor-element-e4577c8 .elementor-nav-menu > li {
    position: relative !important;
    width: 100% !important;
}

.elementor-49 .elementor-element.elementor-element-e4577c8 .elementor-nav-menu > li:first-child a.elementor-item,
.elementor-49 .elementor-element.elementor-element-e4577c8 .elementor-nav-menu > li:first-child a {
    font-weight: 900 !important;
}

.elementor-49 .elementor-element.elementor-element-e4577c8 .elementor-nav-menu > li:nth-child(1) {
    margin-bottom: 45px !important;
}

.elementor-49 .elementor-element.elementor-element-e4577c8 .elementor-nav-menu > li:nth-child(3) {
    margin-bottom: 45px !important;
}

.elementor-49 .elementor-element.elementor-element-e4577c8 .elementor-nav-menu > li:nth-child(4),
.elementor-49 .elementor-element.elementor-element-e4577c8 .elementor-nav-menu > li:nth-child(5) {
    margin-bottom: 12px !important;
}


/* ==========================================================================
   2. PANCERNY HOVER: FIZYCZNY MOST ŁĄCZĄCY KOLUMNY
   ========================================================================== */

.elementor-49 .elementor-element.elementor-element-e4577c8 .elementor-nav-menu > li:hover::after {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    right: -50px !important;
    width: 50px !important;
    height: 100vh !important;
    background: transparent !important;
    z-index: 998 !important;
}


/* ==========================================================================
   3. UKRYWANIE, WYSUWANIE I WYRÓWNANIE PODMENU (POZIOM 2)
   Animacja: panel wysuwa się od lewej (translateX) z jednoczesnym fade-in.
   Pozycje wewnętrzne wjeżdżają kaskadowo z delikatnym opóźnieniem.
   ========================================================================== */

.elementor-49 .elementor-element.elementor-element-e4577c8 .elementor-nav-menu ul.sub-menu {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    
    /* Startowa pozycja: cofnięty o 30px w lewo */
    transform: translateX(-30px) !important;
    
    /* Płynna tranzycja z cubic-bezier dla premium feel */
    transition: 
        opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1),
        visibility 0.35s cubic-bezier(0.16, 1, 0.3, 1),
        transform 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
    
    position: absolute !important;
    top: 0 !important;
    left: 300px !important;
    
    width: max-content !important;
    min-width: 300px !important;
    
    z-index: 999 !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
    background-color: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
    border-left: 1px solid #eaeaea !important;
    border-right: 1px solid #eaeaea !important;
}

/* Stan aktywny: panel wjeżdża na miejsce */
.elementor-49 .elementor-element.elementor-element-e4577c8 .elementor-nav-menu > li:hover > ul.sub-menu {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateX(0) !important;
}

.elementor-49 .elementor-element.elementor-element-e4577c8 .elementor-nav-menu ul.sub-menu:hover {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateX(0) !important;
}

/* Kaskadowe wjazdy pozycji – każda następna z lekkim opóźnieniem */
.elementor-49 .elementor-element.elementor-element-e4577c8 .elementor-nav-menu ul.sub-menu li {
    opacity: 0 !important;
    transform: translateX(-15px) !important;
    transition: 
        opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1),
        transform 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.elementor-49 .elementor-element.elementor-element-e4577c8 .elementor-nav-menu ul.sub-menu li:nth-child(1) { transition-delay: 0.05s !important; }
.elementor-49 .elementor-element.elementor-element-e4577c8 .elementor-nav-menu ul.sub-menu li:nth-child(2) { transition-delay: 0.10s !important; }
.elementor-49 .elementor-element.elementor-element-e4577c8 .elementor-nav-menu ul.sub-menu li:nth-child(3) { transition-delay: 0.15s !important; }
.elementor-49 .elementor-element.elementor-element-e4577c8 .elementor-nav-menu ul.sub-menu li:nth-child(4) { transition-delay: 0.20s !important; }
.elementor-49 .elementor-element.elementor-element-e4577c8 .elementor-nav-menu ul.sub-menu li:nth-child(5) { transition-delay: 0.25s !important; }
.elementor-49 .elementor-element.elementor-element-e4577c8 .elementor-nav-menu ul.sub-menu li:nth-child(6) { transition-delay: 0.30s !important; }
.elementor-49 .elementor-element.elementor-element-e4577c8 .elementor-nav-menu ul.sub-menu li:nth-child(7) { transition-delay: 0.35s !important; }

/* Gdy podmenu aktywne — pozycje wjeżdżają na miejsce */
.elementor-49 .elementor-element.elementor-element-e4577c8 .elementor-nav-menu > li:hover > ul.sub-menu li,
.elementor-49 .elementor-element.elementor-element-e4577c8 .elementor-nav-menu ul.sub-menu:hover li {
    opacity: 1 !important;
    transform: translateX(0) !important;
}


/* ==========================================================================
   4. MONOLITYCZNE TŁO NA PEŁNĄ WYSOKOŚĆ
   ========================================================================== */

.elementor-49 .elementor-element.elementor-element-e4577c8 .elementor-nav-menu ul.sub-menu::before {
    content: "" !important;
    position: absolute !important;
    top: -200vh !important;
    bottom: -200vh !important;
    left: -50px !important;
    right: 0 !important;
    background-color: #ffffff !important;
    z-index: -1 !important;
}

.elementor-49 .elementor-element.elementor-element-e4577c8 .elementor-nav-menu--main .elementor-nav-menu .sub-menu {
    margin-top: 0 !important;
}


 /* ==========================================================================
   5. SPÓJNOŚĆ TYPOGRAFII DRUGIEGO POZIOMU
   ========================================================================== */

.elementor-49 .elementor-element.elementor-element-e4577c8 .elementor-nav-menu ul.sub-menu li a.elementor-sub-item,
.elementor-49 .elementor-element.elementor-element-e4577c8 .elementor-nav-menu ul.sub-menu li a {
    font-family: 'Cormorant Garamond', serif !important;
    font-size: 14px !important;            /* Taki sam jak poziom 1 */
    text-transform: uppercase !important;
    font-weight: 500 !important;
    letter-spacing: 0.15em !important;
    line-height: 1.3 !important;
    color: #000000 !important;
    
    padding: 16px 40px 16px 25px !important;
    background: transparent !important;
    display: block !important;
    white-space: nowrap !important;
    
    /* Podkreślenie — zaczyna od zera i rośnie przy hover */
    position: relative !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* Linia pod pozycją — pseudo-element */
.elementor-49 .elementor-element.elementor-element-e4577c8 .elementor-nav-menu ul.sub-menu li a.elementor-sub-item::after,
.elementor-49 .elementor-element.elementor-element-e4577c8 .elementor-nav-menu ul.sub-menu li a::after {
    content: "" !important;
    position: absolute !important;
    bottom: 10px !important;
    left: 25px !important;              /* Wyrównanie z paddingiem tekstu */
    width: 0 !important;               /* Startuje od zera */
    height: 1px !important;
    background-color: #000000 !important;
    transition: width 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* Hover — linia wysuwa się od lewej */
.elementor-49 .elementor-element.elementor-element-e4577c8 .elementor-nav-menu ul.sub-menu li a.elementor-sub-item:hover::after,
.elementor-49 .elementor-element.elementor-element-e4577c8 .elementor-nav-menu ul.sub-menu li a:hover::after {
    width: calc(100% - 65px) !important;  /* Pełna szerokość minus paddingi */
}

/* Hover — lekkie przyciemnienie tekstu zamiast opacity */
.elementor-49 .elementor-element.elementor-element-e4577c8 .elementor-nav-menu ul.sub-menu li a.elementor-sub-item:hover,
.elementor-49 .elementor-element.elementor-element-e4577c8 .elementor-nav-menu ul.sub-menu li a:hover {
    color: #000000 !important;
    opacity: 1 !important;
    background: transparent !important;
    padding-left: 25px !important;        /* Bez przesunięcia — linia robi robotę */
}
/* ==========================================================================
   6. PODKREŚLENIE HOVER DLA POZIOMU 1
   ========================================================================== */

.elementor-49 .elementor-element.elementor-element-e4577c8 .elementor-nav-menu > li > a.elementor-item {
    position: relative !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.elementor-49 .elementor-element.elementor-element-e4577c8 .elementor-nav-menu > li > a.elementor-item::after {
    content: "" !important;
    position: absolute !important;
    bottom: -2px !important;
    left: 0 !important;
    width: 0 !important;
    height: 1px !important;
    background-color: #000000 !important;
    transition: width 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* Hover na samym linku, nie na li — znika gdy kursor przejdzie do podmenu */
.elementor-49 .elementor-element.elementor-element-e4577c8 .elementor-nav-menu > li > a.elementor-item:hover::after {
    width: 100% !important;
}
 
 body.bb-menu-active::before {
  content: "";
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.08);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  z-index: 997;
  pointer-events: none;
}/* End custom CSS */