/*BY SIPLEX*/
/* SIPLEX - odwzorowanie widoku artykułu ze starej templatki Transpro/Helix dla Joomla 6 Cassiopeia */

/* Tło sekcji treści jak w starej templatce */
body.com_content section#sp-main-body,
body.com-content section#sp-main-body,
body.view-article main {
    background: #fafafa;
}

/* Karta pojedynczego artykułu */
body.view-article article.item.item-page,
body.view-article article.item-page {
    max-width: 1110px;
    margin: 70px auto 80px !important;
    padding: 30px !important;
    background: #fff !important;
    box-shadow: 1px 2px 7.28px 0.72px rgba(0,0,0,0.08) !important;
    overflow: hidden;
}

/* Nagłówek artykułu */
body.view-article article.item.item-page .page-header,
body.view-article article.item.item-page .entry-header {
    margin-bottom: 30px;
}

body.view-article article.item.item-page h1,
body.view-article article.item.item-page h2,
body.view-article article.item-page h1,
body.view-article article.item-page h2 {
    color: #023669;
    font-weight: 700;
    line-height: 1.2;
}

/* Obrazek główny - odpowiednik starego .entry-image.full-image */
body.view-article article.item.item-page figure.item-image,
body.view-article article.item-page figure.item-image,
body.view-article article.item.item-page .entry-image,
body.view-article article.item-page .entry-image {
    float: none !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 30px 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    clear: both !important;
}

/* Zdjęcie na pełną szerokość kontenera artykułu */
body.view-article article.item.item-page figure.item-image img,
body.view-article article.item-page figure.item-image img,
body.view-article article.item.item-page .entry-image img,
body.view-article article.item-page .entry-image img {
    display: block !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
}

/* Metadane jak w starym szablonie */
body.view-article article.item.item-page .article-info,
body.view-article article.item-page .article-info {
    line-height: 1.2;
    margin: 0 0 24px 0;
    padding: 0;
}

body.view-article article.item.item-page .article-info > dd,
body.view-article article.item-page .article-info > dd,
body.view-article article.item.item-page .article-info li,
body.view-article article.item-page .article-info li {
    display: inline-block;
    font-size: 12px;
    color: #666;
    text-transform: uppercase;
    margin: 0;
    padding: 0 8px;
    border-right: 1px solid #ddd;
}

body.view-article article.item.item-page .article-info > dd:last-child,
body.view-article article.item-page .article-info > dd:last-child,
body.view-article article.item.item-page .article-info li:last-child,
body.view-article article.item-page .article-info li:last-child {
    border-right: none;
}

/* Treść pod zdjęciem */
body.view-article article.item.item-page .com-content-article__body,
body.view-article article.item-page .com-content-article__body {
    clear: both !important;
    font-size: 17px;
    line-height: 1.7;
    color: #1d1d1d;
}

/* Obrazki w treści/grafiki galerii nie mogą wychodzić poza artykuł */
body.view-article article.item.item-page .com-content-article__body img,
body.view-article article.item-page .com-content-article__body img {
    max-width: 100%;
    height: auto;
}

/* Nawigacja poprzedni/następny jak w starym szablonie */
body.view-article ul.pagenav li a,
body.view-article .pagenavigation a {
    border: 2px solid #023669;
    font-size: 14px;
    font-weight: 600;
    line-height: 18px;
    margin: 10px 0 0;
    border-radius: 30px;
    color: #023669;
    padding: 8px 35px;
    background: transparent;
    text-decoration: none;
}

body.view-article ul.pagenav li a:hover,
body.view-article .pagenavigation a:hover {
    background: #023669;
    color: #fff;
}

/* Mobile */
@media (max-width: 768px) {
    body.view-article article.item.item-page,
    body.view-article article.item-page {
        margin: 30px 15px 50px !important;
        padding: 18px !important;
    }

    body.view-article article.item.item-page h1,
    body.view-article article.item.item-page h2,
    body.view-article article.item-page h1,
    body.view-article article.item-page h2 {
        font-size: 26px;
    }

    body.view-article article.item.item-page .com-content-article__body,
    body.view-article article.item-page .com-content-article__body {
        font-size: 16px;
        line-height: 1.65;
    }
}

/* Pojedynczy artykuł - karta jak w starej Joomli */
body.view-article .com-content-article.item-page {
    padding: 40px 50px;
    background: #fff;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.08);
}

/* Mobile */
@media (max-width: 768px) {
    body.view-article .com-content-article.item-page {
        padding: 24px 18px;
    }
}

/* Ukrycie dodatkowego nagłówka "Home" w pojedynczych wpisach artykułów */
body.view-article .com-content-article.item-page > .page-header:first-of-type {
    display: none !important;
}

/* Korekta górnego odstępu */
body.view-article .com-content-article.item-page {
    padding-top: 35px !important;
}

/* Pojedynczy wpis - obraz główny na całą szerokość z zaokrągleniem */
body.view-article .com-content-article.item-page figure.item-image {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 32px 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: 10px !important;
}

body.view-article .com-content-article.item-page figure.item-image img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    border-radius: 10px !important;
}

/* HOME - lista wpisów jako równe kafelki */
body.itemid-101 .blog-items {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 42px 34px !important;
    align-items: stretch !important;
}

/* Pojedynczy kafelek */
body.itemid-101 .blog-item,
body.itemid-101 article.item {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    background: #fff !important;
}

/* Obrazek główny wpisu - zawsze taka sama wysokość */
body.itemid-101 .blog-item figure.item-image,
body.itemid-101 article.item figure.item-image {
    width: 100% !important;
    margin: 0 0 18px 0 !important;
    overflow: hidden !important;
    border-radius: 10px !important;
}

body.itemid-101 .blog-item figure.item-image img,
body.itemid-101 article.item figure.item-image img {
    display: block !important;
    width: 100% !important;
    height: 300px !important;
    object-fit: cover !important;
    object-position: center center !important;
    border-radius: 10px !important;
}

/* Tytuły wpisów - wyrównana wysokość */
body.itemid-101 .blog-item h2,
body.itemid-101 article.item h2 {
    min-height: 78px !important;
    margin: 0 0 10px 0 !important;
    font-size: 28px !important;
    line-height: 1.15 !important;
}

/* Linki tytułów */
body.itemid-101 .blog-item h2 a,
body.itemid-101 article.item h2 a {
    color: #003b70 !important;
    text-decoration: none !important;
}

/* Data */
body.itemid-101 .article-info {
    margin-bottom: 16px !important;
    min-height: 24px !important;
}

/* Treść zajawki - zawsze ta sama wysokość */
body.itemid-101 .blog-item .item-content,
body.itemid-101 article.item .item-content,
body.itemid-101 .blog-item .com-content-article__body,
body.itemid-101 article.item .com-content-article__body {
    max-height: 170px !important;
    overflow: hidden !important;
}

/* Same akapity w zajawce */
body.itemid-101 .blog-item p,
body.itemid-101 article.item p {
    display: -webkit-box !important;
    -webkit-line-clamp: 5 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    margin-bottom: 0.8rem !important;
}

/* Ukrycie galerii na stronie głównej / liście wpisów */
body.itemid-101 .blog-item .sigProContainer,
body.itemid-101 article.item .sigProContainer,
body.itemid-101 .blog-item .gallery,
body.itemid-101 article.item .gallery,
body.itemid-101 .blog-item div[class*="gallery"],
body.itemid-101 article.item div[class*="gallery"] {
    display: none !important;
}

/* Czytaj więcej zawsze niżej / równo */
body.itemid-101 .readmore,
body.itemid-101 .com-content-readmore {
    margin-top: auto !important;
    padding-top: 18px !important;
}

/* Mobile */
@media (max-width: 768px) {
    body.itemid-101 .blog-items {
        grid-template-columns: 1fr !important;
        gap: 32px !important;
    }

    body.itemid-101 .blog-item figure.item-image img,
    body.itemid-101 article.item figure.item-image img {
        height: auto !important;
    }

    body.itemid-101 .blog-item h2,
    body.itemid-101 article.item h2 {
        min-height: 0 !important;
        font-size: 24px !important;
    }

    body.itemid-101 .blog-item .item-content,
    body.itemid-101 article.item .item-content,
    body.itemid-101 .blog-item .com-content-article__body,
    body.itemid-101 article.item .com-content-article__body {
        max-height: none !important;
    }
}



/* =========================================================
   HEADER / TOPBAR - adres + Facebook
   Dopisane: bez <i> Font Awesome, bo Joomla wycina tagi w edytorze.
   Ikona FB generowana przez CSS ::before.
========================================================= */

/* pełna szerokość górnego paska Cassiopei */
.container-topbar {
    background: #ffffff !important;
    border-bottom: 1px solid #e6e6e6 !important;
    padding: 0 !important;
}

/* moduł w pozycji topbar */
.container-topbar .mod-custom.custom,
.container-topbar .mod-custom {
    width: 100% !important;
    background: transparent !important;
}

/* wrapper wspólny - wyrównanie do treści poniżej */
.stow-wrap {
    max-width: 1320px;
    margin: 0 auto;
    padding-left: 1rem;
    padding-right: 1rem;
    box-sizing: border-box;
}

/* zawartość topbara */
.stow-topbar-custom {
    width: 100%;
    background: #ffffff !important;
    color: #111111 !important;
}

/* adres po lewej, Facebook po prawej */
.stow-topbar-custom .stow-wrap {
    min-height: 44px;
    padding-top: 8px;
    padding-bottom: 8px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    font-size: 18px;
    line-height: 1.35;
}

/* tekst adresu */
.stow-topbar-custom .stow-wrap > div:first-child {
    color: #111111 !important;
    font-weight: 400;
}

/* boks Facebook */
.stow-topbar-facebook {
    margin-left: auto;
    line-height: 1;
}

/* link Facebook - pusty w HTML, ikona z ::before */
.stow-topbar-facebook a {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    color: #777777 !important;
    text-decoration: none !important;
    line-height: 1;
}

/* Próba użycia Font Awesome Brands, z fallbackiem do litery f */
.stow-topbar-facebook a::before {
    content: "\f39e";
    font-family: "Font Awesome 6 Brands", "Font Awesome 5 Brands", "FontAwesome", Arial, sans-serif;
    font-weight: 400;
    font-size: 18px;
    line-height: 1;
}

/* Gdyby Font Awesome Brands nie był ładowany, odkomentuj ten blok i zakomentuj blok powyżej:
.stow-topbar-facebook a::before {
    content: "f";
    font-family: Arial, sans-serif;
    font-weight: 700;
    font-size: 20px;
    line-height: 1;
}
*/

.stow-topbar-facebook a:hover {
    color: #009fe3 !important;
}

/* wyłączenie granatowego tła Cassiopei na samym topbarze */
.container-header .container-topbar,
.container-header .container-topbar * {
    box-shadow: none !important;
}

/* mobile */
@media (max-width: 768px) {
    .stow-topbar-custom .stow-wrap {
        min-height: auto;
        flex-direction: row;
        align-items: center;
        font-size: 14px;
        padding-top: 8px;
        padding-bottom: 8px;
    }

    .stow-topbar-facebook a {
        width: 26px;
        height: 26px;
    }
}

/* =========================
   HEADER - logo + kontakt
========================= */

.stow-header-info {
    background: #ffffff !important;
    border-bottom: 1px solid #e6e6e6;
    padding: 22px 0 18px;
}

.stow-header-info-inner {
    display: grid;
    grid-template-columns: 220px 1fr;
    align-items: center;
    gap: 40px;
}

.stow-header-logo img {
    display: block;
    max-width: 110px;
    height: auto;
}

.stow-header-contact {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 70px;
}

.stow-contact-item {
    position: relative;
    padding-left: 58px;
    color: #111111;
    font-size: 16px;
    line-height: 1.35;
    min-height: 46px;
}

.stow-contact-item strong {
    font-weight: 700;
}

.stow-contact-item::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 44px;
    height: 44px;
    transform: translateY(-50%);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

/* zegar */
.stow-contact-clock::before {
    background-image: url("data:image/svg+xml,%3Csvg width='44' height='44' viewBox='0 0 44 44' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='22' cy='22' r='17' fill='none' stroke='%23009fe3' stroke-width='3'/%3E%3Cpath d='M22 11v12l8 5' fill='none' stroke='%23009fe3' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* koperta */
.stow-contact-mail::before {
    background-image: url("data:image/svg+xml,%3Csvg width='48' height='44' viewBox='0 0 48 44' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='6' y='12' width='36' height='24' rx='2' fill='none' stroke='%23009fe3' stroke-width='3'/%3E%3Cpath d='M8 14l16 13 16-13' fill='none' stroke='%23009fe3' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

@media (max-width: 768px) {
    .stow-header-info-inner {
        grid-template-columns: 1fr;
        text-align: center;
        gap: 18px;
    }

    .stow-header-logo img {
        margin: 0 auto;
        max-width: 95px;
    }

    .stow-header-contact {
        flex-direction: column;
        justify-content: center;
        gap: 16px;
    }

    .stow-contact-item {
        text-align: left;
    }
}

/* =========================
   POPRAWKA HEADERA - LOGO + KONTAKT
========================= */

/* całe tło headera Cassiopei na biało */
.container-header {
    background: #ffffff !important;
    background-image: none !important;
    box-shadow: none !important;
}

/* ukrycie domyślnego napisu CASSIOPEIA */
.container-header .navbar-brand,
.container-header .brand-logo,
.container-header .site-description {
    display: none !important;
}

/* sekcja z logo i kontaktem */
.container-below-top {
    background: #ffffff !important;
    border-bottom: 1px solid #e6e6e6;
    padding: 0 !important;
}

/* moduł wewnątrz below-top */
.container-below-top .mod-custom,
.container-below-top .mod-custom.custom {
    width: 100% !important;
    max-width: none !important;
    background: #ffffff !important;
}

/* sam pasek logo + kontakt */
.stow-header-info {
    background: #ffffff !important;
    padding: 10px 0 10px !important;
}

/* wspólny kontener - równo z treścią niżej */
.stow-wrap {
    max-width: 1320px;
    width: 100%;
    margin: 0 auto;
    padding-left: 1rem;
    padding-right: 1rem;
    box-sizing: border-box;
}

/* układ logo + dane */
.stow-header-info-inner {
    display: grid !important;
    grid-template-columns: 210px 1fr;
    align-items: center;
    gap: 40px;
}

/* logo */
.stow-header-logo img {
    display: block;
    max-width: 110px;
    height: auto;
}

/* kontakt po prawej */
.stow-header-contact {
    display: flex !important;
    justify-content: flex-end;
    align-items: center;
    gap: 70px;
}

/* pojedynczy element kontaktowy */
.stow-contact-item {
    position: relative;
    padding-left: 58px;
    min-height: 46px;
    color: #111111;
    font-size: 16px;
    line-height: 1.35;
}

.stow-contact-item strong {
    font-weight: 700;
}

/* ikonka przed elementem */
.stow-contact-item::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 44px;
    height: 44px;
    transform: translateY(-50%);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

/* zegar */
.stow-contact-clock::before {
    background-image: url("data:image/svg+xml,%3Csvg width='44' height='44' viewBox='0 0 44 44' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='22' cy='22' r='17' fill='none' stroke='%23009fe3' stroke-width='3'/%3E%3Cpath d='M22 11v12l8 5' fill='none' stroke='%23009fe3' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* koperta */
.stow-contact-mail::before {
    background-image: url("data:image/svg+xml,%3Csvg width='48' height='44' viewBox='0 0 48 44' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='6' y='12' width='36' height='24' rx='2' fill='none' stroke='%23009fe3' stroke-width='3'/%3E%3Cpath d='M8 14l16 13 16-13' fill='none' stroke='%23009fe3' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* =========================
   MENU POD HEADEREM - NA BIAŁO
========================= */

.container-header .container-nav {
    background: #ffffff !important;
    border-top: 1px solid #eeeeee;
    border-bottom: 1px solid #eeeeee;
    padding: 0 !important;
}

/* menu równo z headerem */
.container-header .container-nav > .container,
.container-header .container-nav > .grid-child {
    max-width: 1320px !important;
    margin: 0 auto !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
}

/* lista menu */
.container-header .metismenu.mod-menu,
.container-header .mod-menu {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

/* linki menu */
.container-header .metismenu.mod-menu > li > a,
.container-header .metismenu.mod-menu > li > button,
.container-header .mod-menu > li > a,
.container-header .mod-menu > li > span {
    display: block !important;
    padding: 18px 12px !important;
    color: #003b70 !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    background: transparent !important;
    border: 0 !important;
    text-transform: lowercase;
}

/* aktywna pozycja */
.container-header .metismenu.mod-menu > li.active > a,
.container-header .metismenu.mod-menu > li.current > a,
.container-header .mod-menu > li.active > a {
    color: #003b70 !important;
    border-bottom: 3px solid #009fe3;
}

/* mobile */
@media (max-width: 991px) {
    .stow-header-info-inner {
        grid-template-columns: 1fr;
        text-align: center;
        gap: 18px;
    }

    .stow-header-logo img {
        margin: 0 auto;
        max-width: 95px;
    }

    .stow-header-contact {
        flex-direction: column;
        justify-content: center;
        gap: 16px;
    }

    .stow-contact-item {
        text-align: left;
    }

    .container-header .metismenu.mod-menu,
    .container-header .mod-menu {
        flex-direction: column !important;
        align-items: stretch !important;
    }
}

/* =========================
   NAPRAWA MENU GŁÓWNEGO
========================= */

/* pasek menu */
.container-header .container-nav {
    background: #ffffff !important;
    border-top: 1px solid #eeeeee;
    border-bottom: 1px solid #eeeeee;
    padding: 0 !important;
}

/* kontener menu równo z headerem */
.container-header .container-nav > .container,
.container-header .container-nav > .grid-child {
    max-width: 1320px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    box-sizing: border-box;
}

/* główna lista menu */
.container-header .metismenu.mod-menu,
.container-header .mod-menu {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

/* pojedyncze pozycje menu */
.container-header .metismenu.mod-menu > li,
.container-header .mod-menu > li {
    position: relative !important;
    flex: 0 0 auto !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* linki głównego menu */
.container-header .metismenu.mod-menu > li > a,
.container-header .metismenu.mod-menu > li > button,
.container-header .mod-menu > li > a,
.container-header .mod-menu > li > span {
    display: flex !important;
    align-items: center !important;
    gap: 6px;
    padding: 18px 12px !important;
    color: #003b70 !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    background: transparent !important;
    border: 0 !important;
    text-transform: lowercase;
    white-space: nowrap;
}

/* hover */
.container-header .metismenu.mod-menu > li > a:hover,
.container-header .metismenu.mod-menu > li > button:hover,
.container-header .mod-menu > li > a:hover {
    color: #009fe3 !important;
}

/* aktywna pozycja */
.container-header .metismenu.mod-menu > li.active > a,
.container-header .metismenu.mod-menu > li.current > a,
.container-header .mod-menu > li.active > a {
    color: #003b70 !important;
    border-bottom: 3px solid #009fe3 !important;
}

/* ważne: podmenu ma być absolutne, a nie element flexa */
.container-header .metismenu.mod-menu > li > ul,
.container-header .metismenu.mod-menu > li > .mm-collapse,
.container-header .mod-menu > li > ul {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    z-index: 9999 !important;
    min-width: 240px !important;
    margin: 0 !important;
    padding: 8px 0 !important;
    background: #ffffff !important;
    box-shadow: 0 12px 28px rgba(0,0,0,0.16) !important;
    border: 1px solid #eeeeee !important;
}

/* pokazanie podmenu po najechaniu */
.container-header .metismenu.mod-menu > li:hover > ul,
.container-header .metismenu.mod-menu > li:hover > .mm-collapse,
.container-header .mod-menu > li:hover > ul {
    display: block !important;
    height: auto !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* linki w dropdownie */
.container-header .metismenu.mod-menu > li > ul li,
.container-header .mod-menu > li > ul li {
    display: block !important;
    width: 100% !important;
}

.container-header .metismenu.mod-menu > li > ul li a,
.container-header .metismenu.mod-menu > li > ul li button,
.container-header .mod-menu > li > ul li a {
    display: block !important;
    width: 100% !important;
    padding: 10px 16px !important;
    color: #003b70 !important;
    background: #ffffff !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-align: left !important;
    text-decoration: none !important;
    border: 0 !important;
    white-space: normal !important;
}

.container-header .metismenu.mod-menu > li > ul li a:hover,
.container-header .metismenu.mod-menu > li > ul li button:hover,
.container-header .mod-menu > li > ul li a:hover {
    color: #ffffff !important;
    background: #003b70 !important;
}

/* strzałki przy pozycjach z podmenu */
.container-header .metismenu.mod-menu > li.deeper > a::after,
.container-header .metismenu.mod-menu > li.parent > a::after,
.container-header .mod-menu > li.deeper > a::after,
.container-header .mod-menu > li.parent > a::after {
    content: "⌄";
    margin-left: 4px;
    font-size: 14px;
    line-height: 1;
}

/* mobile */
@media (max-width: 991px) {
    .container-header .metismenu.mod-menu,
    .container-header .mod-menu {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .container-header .metismenu.mod-menu > li > ul,
    .container-header .metismenu.mod-menu > li > .mm-collapse,
    .container-header .mod-menu > li > ul {
        position: static !important;
        box-shadow: none !important;
        border: 0 !important;
        padding-left: 16px !important;
    }
}

/* =========================
   MENU - wyrównanie pozycji w jednej linii
========================= */

.container-header .container-nav {
    background: #fff !important;
    border-top: 1px solid #e6e6e6;
    border-bottom: 1px solid #e6e6e6;
}

.container-header .container-nav .mod-menu,
.container-header .container-nav .metismenu.mod-menu {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
    min-height: 62px;
}

.container-header .container-nav .mod-menu > li,
.container-header .container-nav .metismenu.mod-menu > li {
    display: flex !important;
    align-items: center !important;
    position: relative !important;
    flex: 0 0 auto !important;
    height: 62px;
}

.container-header .container-nav .mod-menu > li > a,
.container-header .container-nav .mod-menu > li > span,
.container-header .container-nav .metismenu.mod-menu > li > a,
.container-header .container-nav .metismenu.mod-menu > li > button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 62px !important;
    padding: 0 11px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    color: #003b70 !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    background: transparent !important;
    border: 0 !important;
}

/* strzałka przy pozycjach rozwijanych */
.container-header .container-nav .mod-menu > li.deeper > a::after,
.container-header .container-nav .mod-menu > li.parent > a::after,
.container-header .container-nav .metismenu.mod-menu > li.deeper > a::after,
.container-header .container-nav .metismenu.mod-menu > li.parent > a::after {
    content: "⌄";
    display: inline-block;
    margin-left: 7px;
    font-size: 14px;
    line-height: 1;
    position: relative;
    top: 0;
}

/* aktywna pozycja */
.container-header .container-nav .mod-menu > li.active > a,
.container-header .container-nav .metismenu.mod-menu > li.active > a,
.container-header .container-nav .metismenu.mod-menu > li.current > a {
    border-bottom: 3px solid #009fe3 !important;
}

/* dropdown zostaje pod menu */
.container-header .container-nav .mod-menu > li > ul,
.container-header .container-nav .metismenu.mod-menu > li > ul,
.container-header .container-nav .metismenu.mod-menu > li > .mm-collapse {
    top: 62px !important;
}

/* =========================
   MENU - równe odstępy między pozycjami
========================= */

.container-header .container-nav .mod-menu,
.container-header .container-nav .metismenu.mod-menu {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    gap: 28px !important;
    margin: 0 !important;
    padding: 0 !important;
    min-height: 62px;
}

/* pojedyncza pozycja */
.container-header .container-nav .mod-menu > li,
.container-header .container-nav .metismenu.mod-menu > li {
    display: flex !important;
    align-items: center !important;
    position: relative !important;
    flex: 0 0 auto !important;
    height: 62px;
    margin: 0 !important;
    padding: 0 !important;
}

/* link menu */
.container-header .container-nav .mod-menu > li > a,
.container-header .container-nav .metismenu.mod-menu > li > a {
    display: flex !important;
    align-items: center !important;
    height: 62px !important;
    padding: 0 !important;
    margin: 0 !important;
    white-space: nowrap !important;
    color: #003b70 !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-decoration: none !important;
}

/* przycisk/strzałka podmenu Joomla */
.container-header .container-nav .mod-menu > li > button,
.container-header .container-nav .metismenu.mod-menu > li > button,
.container-header .container-nav .mod-menu .mod-menu__toggle-sub,
.container-header .container-nav .metismenu.mod-menu .mod-menu__toggle-sub {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 14px !important;
    height: 62px !important;
    padding: 0 !important;
    margin: 0 0 0 6px !important;
    border: 0 !important;
    background: transparent !important;
    color: #003b70 !important;
    font-size: 13px !important;
    line-height: 1 !important;
}

/* usuń ewentualne dodatkowe strzałki z pseudo-elementów, jeśli wcześniej były dodane */
.container-header .container-nav .mod-menu > li.deeper > a::after,
.container-header .container-nav .mod-menu > li.parent > a::after,
.container-header .container-nav .metismenu.mod-menu > li.deeper > a::after,
.container-header .container-nav .metismenu.mod-menu > li.parent > a::after {
    content: none !important;
}

/* aktywna pozycja */
.container-header .container-nav .mod-menu > li.active > a,
.container-header .container-nav .metismenu.mod-menu > li.active > a,
.container-header .container-nav .metismenu.mod-menu > li.current > a {
    border-bottom: 3px solid #009fe3 !important;
}

/* =========================
   MOBILE MENU - naprawa
========================= */

@media (max-width: 991px) {

    /* pasek menu na mobile */
    .container-header .container-nav {
        background: #ffffff !important;
        border-top: 1px solid #e6e6e6;
        border-bottom: 1px solid #e6e6e6;
        padding: 0 !important;
    }

    .container-header .container-nav > .container,
    .container-header .container-nav > .grid-child {
        max-width: 100% !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    /* główna lista menu */
    .container-header .container-nav .mod-menu,
    .container-header .container-nav .metismenu.mod-menu {
        display: block !important;
        width: 100% !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 8px 0 !important;
        list-style: none !important;
    }

    /* pojedyncza pozycja */
    .container-header .container-nav .mod-menu > li,
    .container-header .container-nav .metismenu.mod-menu > li {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        position: relative !important;
        border-bottom: 1px solid #eeeeee;
    }

    /* linki główne */
    .container-header .container-nav .mod-menu > li > a,
    .container-header .container-nav .mod-menu > li > span,
    .container-header .container-nav .metismenu.mod-menu > li > a,
    .container-header .container-nav .metismenu.mod-menu > li > button {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        width: 100% !important;
        height: auto !important;
        min-height: 48px !important;
        padding: 13px 0 !important;
        margin: 0 !important;
        color: #003b70 !important;
        font-size: 16px !important;
        font-weight: 700 !important;
        line-height: 1.3 !important;
        text-align: left !important;
        text-decoration: none !important;
        white-space: normal !important;
        background: transparent !important;
        border: 0 !important;
    }

    /* przycisk rozwijania podmenu */
    .container-header .container-nav .mod-menu .mod-menu__toggle-sub,
    .container-header .container-nav .metismenu.mod-menu .mod-menu__toggle-sub {
        position: absolute !important;
        right: 0 !important;
        top: 0 !important;
        width: 44px !important;
        height: 48px !important;
        padding: 0 !important;
        margin: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        border: 0 !important;
        background: transparent !important;
        color: #003b70 !important;
    }

    /* link z podmenu ma mieć miejsce na strzałkę */
    .container-header .container-nav .mod-menu > li.deeper > a,
    .container-header .container-nav .mod-menu > li.parent > a,
    .container-header .container-nav .metismenu.mod-menu > li.deeper > a,
    .container-header .container-nav .metismenu.mod-menu > li.parent > a {
        padding-right: 50px !important;
    }

    /* podmenu na mobile */
    .container-header .container-nav .mod-menu > li > ul,
    .container-header .container-nav .metismenu.mod-menu > li > ul,
    .container-header .container-nav .metismenu.mod-menu > li > .mm-collapse {
        position: static !important;
        display: none;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 0 8px 16px !important;
        background: #ffffff !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    /* gdy Joomla otwiera podmenu */
    .container-header .container-nav .mod-menu > li:hover > ul,
    .container-header .container-nav .metismenu.mod-menu > li:hover > ul,
    .container-header .container-nav .metismenu.mod-menu > li:hover > .mm-collapse,
    .container-header .container-nav .metismenu.mod-menu > li > .mm-collapse.show {
        display: block !important;
        height: auto !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    /* linki w podmenu */
    .container-header .container-nav .mod-menu > li > ul li a,
    .container-header .container-nav .metismenu.mod-menu > li > ul li a,
    .container-header .container-nav .metismenu.mod-menu > li > .mm-collapse li a {
        display: block !important;
        padding: 9px 0 !important;
        color: #003b70 !important;
        font-size: 15px !important;
        font-weight: 600 !important;
        line-height: 1.3 !important;
        text-align: left !important;
        background: transparent !important;
        white-space: normal !important;
    }

    /* aktywna pozycja bez dziwnego podkreślenia na całą szerokość */
    .container-header .container-nav .mod-menu > li.active > a,
    .container-header .container-nav .metismenu.mod-menu > li.active > a,
    .container-header .container-nav .metismenu.mod-menu > li.current > a {
        border-bottom: 0 !important;
        color: #009fe3 !important;
    }
}

/* =========================
   MOBILE TOGGLE MENU
========================= */

@media (min-width: 992px) {
    .mobile-menu-toggle-wrap {
        display: none !important;
    }
}

@media (max-width: 991px) {

    /* lekki odstęp po bokach całego obszaru menu */
    .container-header .container-nav,
    .grid-child.container-nav {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    /* przycisk toggle */
    .mobile-menu-toggle-wrap {
        display: block !important;
        width: 100%;
        margin: 0 0 10px 0 !important;
    }

    .mobile-menu-toggle {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 12px 16px;
        border: 1px solid #d9dfe7;
        background: #ffffff;
        color: #003b70;
        font-size: 16px;
        font-weight: 700;
        line-height: 1.2;
        border-radius: 4px;
        cursor: pointer;
        box-shadow: none;
    }

    .mobile-menu-toggle::after {
        content: "☰";
        font-size: 20px;
        line-height: 1;
    }

    body.mobile-menu-open .mobile-menu-toggle::after {
        content: "✕";
    }

    /* główne menu ukryte domyślnie na mobile */
    .container-header .container-nav .mod-menu,
    .container-header .container-nav .metismenu.mod-menu,
    .grid-child.container-nav .mod-menu,
    .grid-child.container-nav .metismenu.mod-menu {
        display: none !important;
    }

    /* po kliknięciu pokaż */
    body.mobile-menu-open .container-header .container-nav .mod-menu,
    body.mobile-menu-open .container-header .container-nav .metismenu.mod-menu,
    body.mobile-menu-open .grid-child.container-nav .mod-menu,
    body.mobile-menu-open .grid-child.container-nav .metismenu.mod-menu {
        display: block !important;
    }

    /* lista menu */
    .container-header .container-nav .mod-menu,
    .container-header .container-nav .metismenu.mod-menu {
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
        background: #ffffff !important;
        border: 1px solid #e6e6e6;
        border-radius: 4px;
        overflow: hidden;
    }

    /* pozycje główne */
    .container-header .container-nav .mod-menu > li,
    .container-header .container-nav .metismenu.mod-menu > li {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        border-bottom: 1px solid #eeeeee;
        position: relative !important;
    }

    .container-header .container-nav .mod-menu > li:last-child,
    .container-header .container-nav .metismenu.mod-menu > li:last-child {
        border-bottom: 0 !important;
    }

    /* linki główne */
    .container-header .container-nav .mod-menu > li > a,
    .container-header .container-nav .metismenu.mod-menu > li > a,
    .container-header .container-nav .metismenu.mod-menu > li > button {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        width: 100% !important;
        min-height: 48px !important;
        padding: 14px 16px !important; /* odsunięcie od lewej i prawej */
        color: #003b70 !important;
        font-size: 16px !important;
        font-weight: 700 !important;
        line-height: 1.3 !important;
        text-decoration: none !important;
        text-align: left !important;
        white-space: normal !important;
        background: transparent !important;
        border: 0 !important;
    }

    /* strzałka sub-menu */
    .container-header .container-nav .mod-menu .mod-menu__toggle-sub,
    .container-header .container-nav .metismenu.mod-menu .mod-menu__toggle-sub {
        position: absolute !important;
        right: 8px !important;
        top: 8px !important;
        width: 36px !important;
        height: 36px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: transparent !important;
        border: 0 !important;
        color: #003b70 !important;
    }

    .container-header .container-nav .mod-menu > li.deeper > a,
    .container-header .container-nav .mod-menu > li.parent > a,
    .container-header .container-nav .metismenu.mod-menu > li.deeper > a,
    .container-header .container-nav .metismenu.mod-menu > li.parent > a {
        padding-right: 52px !important;
    }

    /* podmenu */
    .container-header .container-nav .mod-menu > li > ul,
    .container-header .container-nav .metismenu.mod-menu > li > ul,
    .container-header .container-nav .metismenu.mod-menu > li > .mm-collapse {
        position: static !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 16px 10px 16px !important; /* odsunięcie od lewej i prawej */
        background: #ffffff !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    .container-header .container-nav .mod-menu > li > ul li a,
    .container-header .container-nav .metismenu.mod-menu > li > ul li a,
    .container-header .container-nav .metismenu.mod-menu > li > .mm-collapse li a {
        display: block !important;
        padding: 10px 0 !important;
        color: #003b70 !important;
        font-size: 15px !important;
        font-weight: 600 !important;
        line-height: 1.35 !important;
        text-decoration: none !important;
        white-space: normal !important;
    }
}

/* =========================
   STOPKA - poprawka układu kolumn
========================= */

.container-footer,
.footer {
    background: #07111a !important;
    background-image: none !important;
    color: #ffffff !important;
    padding: 0 !important;
    margin-top: 60px !important;
}

.container-footer .grid-child,
.footer .grid-child {
    max-width: none !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    display: block !important;
}

.container-footer .mod-custom,
.footer .mod-custom,
.container-footer .custom,
.footer .custom {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* główne tło stopki */
.stow-footer-main {
    width: 100% !important;
    background: #07111a !important;
    color: #ffffff !important;
    padding: 60px 0 50px !important;
}

/* kontener stopki */
.stow-footer-main .stow-wrap,
.stow-footer-grid {
    max-width: 1120px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
}

/* wymuszenie 4 kolumn */
.stow-footer-grid {
    display: grid !important;
    grid-template-columns: 1.2fr 1fr 1.25fr 1fr !important;
    gap: 55px !important;
    align-items: flex-start !important;
}

/* kolumny */
.stow-footer-col {
    display: block !important;
    color: #cfd6dc !important;
}

.stow-footer-col h3 {
    color: #ffffff !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    margin: 0 0 22px !important;
}

.stow-footer-col p {
    color: #cfd6dc !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
    margin: 0 0 10px !important;
}

.stow-footer-col ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.stow-footer-col li {
    margin: 0 0 10px !important;
    padding: 0 !important;
}

.stow-footer-col a {
    color: #cfd6dc !important;
    text-decoration: none !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
}

.stow-footer-col a::before {
    content: "›";
    color: #009fe3;
    margin-right: 8px;
    font-size: 18px;
    line-height: 1;
}

.stow-footer-col a:hover {
    color: #ffffff !important;
}

/* obrazek exlibris */
.stow-footer-exlibris img {
    display: block !important;
    max-width: 170px !important;
    width: 100% !important;
    height: auto !important;
    background: #ffffff !important;
}

/* dolny pasek copyright */
.stow-footer-copy {
    width: 100% !important;
    background: #040a0f !important;
    color: #cfd6dc !important;
    text-align: center !important;
    font-size: 13px !important;
    padding: 18px 15px !important;
    margin: 0 !important;
}

/* mobile */
@media (max-width: 991px) {
    .stow-footer-grid {
        grid-template-columns: 1fr 1fr !important;
        gap: 35px !important;
    }
}

@media (max-width: 600px) {
    .stow-footer-grid {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
    }

    .stow-footer-main {
        padding: 40px 0 35px !important;
    }

    .stow-footer-exlibris img {
        max-width: 150px !important;
    }
}

/* =========================
   BANER STRONA GŁÓWNA - w kontenerze
========================= */

.stow-home-banner {
    width: 100%;
    max-width: 1320px;
    margin: 28px auto 0px;
    padding:0;
    box-sizing: border-box;
}

.stow-home-banner img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 0;
}


/*BY SIPLEX END*/