/* ==========================================================================
   1. GLOBALNE / TYPOGRAFIA (Zwiększona specyficzność przez body)
   ========================================================================== */
   
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Syne:wght@400;500;600;700;800&display=swap');
   
body, 
body p, 
body span, 
body li, 
body input, 
body textarea, 
body select, 
body button {
    font-family: 'Inter', sans-serif !important;
}

body h1, body h2, body h3, body h4, body h5, body h6,
body .h1, body .h2, body .h3, body .h4, body .h5, body .h6,
body .title, body .page-title, body .blog-tag,
body .featured-products__title, body .product-miniature__title {
    font-family: 'Syne', sans-serif !important;
    font-weight: 700;
}

body h2, body .h2 {
    font-family: 'Syne', sans-serif !important;
    font-weight: 700;
    font-size: 42px;
}

.featured-products-title__accent {
    font-family: 'Syne', sans-serif !important;
    display: block;
    color: #006CFF;
}

.featured-products-title__line {
    font-family: 'Syne', sans-serif !important;
    display: block;
}

body material-icons,
body .material-symbols-outlined {
    font-family: 'Material Icons';
    font-weight: normal;
    font-style: normal;
}

body {
    overflow-y: scroll;
    overflow-x: hidden;
}

/* ==========================================================================
   2. UKŁAD / KONTENERY
   ========================================================================== */
.l-main {
    overflow-x: hidden;
}

#ph_simpleblog,
.cards-section-wrapper {
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
}

@media (min-width: 768px) {
    body .container,
    body .container-sm,
    body .container-md,
    body .container-lg,
    body .container-xl,
    body .container-xxl {
        max-width: 1400px;
    }
}

/* ==========================================================================
   3. HERO / SLIDER (.pi- prefixes zapewniają unikalność)
   ========================================================================== */
.pi-banner {
    margin-top: 0;
    padding-top: 0;
}

/*body .pi-slider {*/
/*    width: 100vw;*/
/*    margin-left: calc(50% - 50vw);*/
/*    margin-right: calc(50% - 50vw);*/
/*    position: relative;*/
/*    background: #f7f8fa;*/
/*    border-radius: 0;*/
/*    overflow: hidden;*/
/*    padding: 80px 70px;*/
/*}*/

/*.pi-slider::before {*/
/*    content: "";*/
/*    position: absolute;*/
/*    inset: 0;*/
/*    background: url('/testowa/img/cms/background.png') center center / cover no-repeat;*/
/*    opacity: .25;*/
/*    z-index: 0;*/
/*}*/

body .pi-slider__content {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 420px;
    gap: 70px;
    align-items: center;
    z-index: 5;
    max-width: 1400px;
    margin: 0 auto;
    padding: 80px 80px 0 80px;
}

body .pi-slider__right {
    display: flex;
    justify-content: center;
    align-items: center;
}

body .pi-pirate-img {
    max-width: 390px;
    width: 100%;
    height: auto;
    display: block;
}

body .pi-slider h1 {
    font-family: 'Syne', sans-serif;
    font-size: 70px;
    line-height: .92;
    font-weight: 700;
}

body .pi-slider h1 span {
    font-family: 'Syne', sans-serif !important;
    color: #64A1F4;
}

.pi-slider__eyebrow {
    color: #006CFF;
    text-transform: uppercase;
}

body .pi-slider__cta {
    display: flex;
    gap: 16px;
    margin: 30px 0;
}

.pi-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    height: 48px;
    padding: 0 22px;
    font-size: 17px;
    font-weight: 500;
    text-decoration: none;
    border-radius: 8px;
    transition: background 0.2s ease, color 0.2s ease;
}

.pi-btn--primary {
    background: #005A9C;
    color: #fff;
    border: 1px solid #005A9C;
}

body .pi-btn--outline {
    background: transparent;
    color: #005A9C;
    border: 1px solid #005A9C;
}

.pi-btn:hover {
    background: #acd6f2;
    color: #000;
}

.pi-platforms {
    display: flex;
    align-items: center;
    gap: 40px;
    margin-top: 40px;
}

.pi-platforms img {
    height: 36px;
    width: auto;
    object-fit: contain;
}


/* ==========================================================================
   5. SEKCCJA KART Z IKONAMI (.cards-icons-section)
   ========================================================================== */
/* ==========================================================================
   SEKCJA USŁUG
   ========================================================================== */

.pi-services {
    position: relative;

    width: 100%;
    max-width: 1440px;

    margin: 80px auto;
    padding: 72px 54px 82px;

    background: #fff;

    box-sizing: border-box;
    overflow: hidden;
}

.pi-services__inner {
    position: relative;
    z-index: 2;

    width: 100%;
    max-width: 1320px;

    margin: 0 auto;
}


/* ==========================================================================
   DEKORACJE
   ========================================================================== */

.pi-services__decoration {
    position: absolute;
    z-index: 1;

    display: block;
    height: auto;

    pointer-events: none;
    user-select: none;
}

.pi-services__decoration--left {
    top: 45px;
    left: 42px;

    width: 150px;
}

.pi-services__decoration--right {
    top: 25px;
    right: 36px;

    width: 330px;
}


/* ==========================================================================
   NAGŁÓWEK
   ========================================================================== */

.pi-services__header {
    margin: 115px 0 68px;
}

.pi-services__heading {
    display: flex;
    flex-direction: column;
    align-items: flex-start;

    margin: 0;
    padding: 0;

    font-family: 'Syne', sans-serif !important;
    font-size: clamp(42px, 4vw, 62px);
    font-weight: 600;
    line-height: .96;
    letter-spacing: -.04em;

    color: #292929;
    text-align: left;
}

.pi-services__heading span {
    display: block;
    font-family: 'Syne', sans-serif !important;
}

.pi-services__heading strong {
    font-weight: inherit;
    color: #006cff;
    font-family: 'Syne', sans-serif !important;
}


/* ==========================================================================
   SIATKA
   ========================================================================== */

.pi-services__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));

    column-gap: 68px;
    row-gap: 64px;

    width: 100%;
}


/* ==========================================================================
   POJEDYNCZA USŁUGA
   ========================================================================== */

.pi-service {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);

    column-gap: 18px;

    min-width: 0;
    margin: 0;
    padding: 0;
}

.pi-service__icon {
    display: flex;
    align-items: flex-start;
    justify-content: center;

    width: 46px;
    height: 46px;
}

.pi-service__icon img {
    display: block;

    width: 44px;
    height: 44px;

    object-fit: contain;
}

.pi-service__content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;

    min-width: 0;
    height: 100%;
}

.pi-service__title {
    margin: 0 0 14px;
    padding: 0;

    font-family: 'Syne', sans-serif;
    font-size: clamp(21px, 1.65vw, 27px);
    font-weight: 600;
    line-height: 1.12;
    letter-spacing: -.025em;

    color: #006cff;
}

.pi-service__description {
    margin: 0 0 18px;

    font-family: 'Inter', sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.45;

    color: #303030;
}

.pi-service__link {
    display: inline-block;

    margin-top: auto;
    padding-bottom: 3px;

    font-family: 'Inter', sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.2;

    color: #64a1f4;
    text-decoration: none;

    border-bottom: 1px solid rgba(100, 161, 244, .75);

    transition:
        color .2s ease,
        border-color .2s ease,
        transform .2s ease;
}

.pi-service__link:hover,
.pi-service__link:focus-visible {
    color: #006cff;
    border-color: #006cff;

    transform: translateX(3px);
}


/* ==========================================================================
   TABLET
   ========================================================================== */

@media (max-width: 1199px) {

    .pi-services {
        margin: 60px auto;
        padding: 62px 34px 66px;
    }

    .pi-services__decoration--left {
        top: 35px;
        left: 26px;

        width: 120px;
    }

    .pi-services__decoration--right {
        top: 20px;
        right: 20px;

        width: 245px;
    }

    .pi-services__header {
        margin-top: 100px;
        margin-bottom: 54px;
    }

    .pi-services__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));

        column-gap: 52px;
        row-gap: 52px;
    }
}


/* ==========================================================================
   TELEFON
   ========================================================================== */

@media (max-width: 767px) {

    .pi-services {
        margin: 45px auto;
        padding: 40px 18px 48px;
    }

    .pi-services__decoration--left {
        top: 20px;
        left: 12px;

        width: 78px;
    }

    .pi-services__decoration--right {
        top: 15px;
        right: 8px;

        width: 142px;
    }

    .pi-services__header {
        margin-top: 105px;
        margin-bottom: 40px;
    }

    .pi-services__heading {
        font-size: clamp(36px, 10.5vw, 50px);
        line-height: .98;
    }

    .pi-services__grid {
        grid-template-columns: 1fr;
        row-gap: 42px;
    }

    .pi-service {
        grid-template-columns: 42px minmax(0, 1fr);
        column-gap: 15px;
    }

    .pi-service__icon {
        width: 42px;
        height: 42px;
    }

    .pi-service__icon img {
        width: 40px;
        height: 40px;
    }

    .pi-service__title {
        font-size: 21px;
    }

    .pi-service__description {
        font-size: 15px;
    }
}

/* ==========================================================================
   6. PRODUKTY / SKLEP
   ========================================================================== */
.cart-grid {
    gap: 16px;
}

.cart-grid .card-body:last-child {
    text-align: center;
}
   
.cart-grid .card-header {
    background-color: #306487;
    transition: 0.3s;
}

body .product__description,
body .product__description .rich-text,
body .product__extra-accordion,
body .product__extra-accordion .accordion-item,
body .product__extra-accordion .accordion-body {
    width: 100%;
    max-width: 100%;
    flex: 0 0 100%;
}

@media (min-width: 992px) {
    body .page-product .product__bottom {
        display: block;
        grid-template-columns: none;
    }

    body .page-product .product__bottom-left,
    body .page-product .product__bottom-right,
    body .page-product .product__bottom-left > *,
    body .page-product .product__bottom-right > * {
        width: 100%;
        max-width: 100%;
    }
}

/* ==========================================================================
   PRZYCISK DODAJ DO KOSZYKA W MINIATURZE — SVG
   ========================================================================== */

.product-miniature {
    position: relative;
}

html body .product-miniature__add-to-cart {
    all: unset;

    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 30;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 55px;
    height: 55px;

    cursor: pointer;
    border-radius: 50%;

    background: transparent;
    transition: transform .25s ease;
}

/* Ukrycie starej ikony Material Icons */
html body .product-miniature__add-to-cart .material-icons {
    display: none;
}

/* Twoja ikona SVG */
html body .product-miniature__add-to-cart::before {
    content: "";

    display: block;

    width: 55px;
    height: 55px;

    background-image:
        url('/themes/hummingbird/assets/img-dist/product-plus.svg');

    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;

    transition:
        filter .25s ease,
        transform .25s ease;
}

/* Wyłączenie globalnej strzałki przycisków */
html body .product-miniature__add-to-cart::after {
    content: none;
    display: none;
}

/* Hover */
html body .product-miniature__add-to-cart:hover {
    transform: scale(1.06);
}
/* ==========================================================================
   7. BLOG
   ========================================================================== */
/* ==========================================================================
   BLOG — KARTY POZIOME
   ========================================================================== */

/*.blog-tag {*/
/*    margin-left: 7%;*/
/*}*/
body .block-categories > h2.blog-tag {
    grid-column: 1 / -1;

    margin: 0 0 10px;

    font-family: 'Syne', sans-serif;
    font-size: 42px;
    font-weight: 600;
    line-height: 1.1;

    color: #222;
}

.block-categories.hidden-sm-down,
body .block-categories {
    position: relative;

    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 24px;
    row-gap: 24px;

    width: 100%;
    max-width: 1400px;

    margin: 0 auto;
    padding: 20px 12px;
}

/* Pojedyncza karta */
body .block-categories .blog-post {
    position: relative;

    display: grid;
    grid-template-columns: minmax(0, 44%) minmax(0, 56%);
    min-height: 225px;

    width: 100%;
    max-width: none;
    height: auto;

    margin: 0;
    padding: 0;

    overflow: hidden;

    background: #fff;
    border: 1px solid #edf0f4;
    border-radius: 20px;

    box-shadow: 0 10px 22px rgba(21, 36, 55, .11);
}

/* Lewa część tekstowa */
body .block-categories .blog-post .content-blog {
    position: relative;

    display: flex;
    flex-direction: column;

    min-width: 0;
    height: 100%;

    padding: 22px 20px 18px;
}


/* ==========================================================================
   TYTUŁ SEKCJI BLOGA
   ========================================================================== */

body .block-categories .blog-tag {
    /* tytuł zajmuje całą szerokość grida */
    grid-column: 1 / -1;

    margin: 0 0 34px;
    padding: 0;

    font-family: 'Syne', sans-serif !important;
    font-size: clamp(42px, 4vw, 64px);
    font-weight: 600;
    line-height: .92;
    letter-spacing: -.04em;

    color: #222;
    text-align: left;
}

body .block-categories .blog-tag__line {
    font-family: 'Syne', sans-serif !important;
    display: block;
}

body .block-categories .blog-tag__accent {
    color: #0b69f6;
    font-family: 'Syne', sans-serif !important;
}

body .block-categories .blog-tag__normal {
    color: #222;
    font-family: 'Syne', sans-serif !important;
}
/* Tytuł */
body .block-categories .blog-post p.title-blog {
    display: -webkit-box;

    margin: 0 0 18px;
    padding: 18px;

    overflow: hidden;

    font-family: 'Syne', sans-serif;
    font-size: 17px;
    font-weight: 500;
    line-height: 1.08;

    color: #111;
    text-align: left;

    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
}

/* Opis wpisu ukrywamy */
body .block-categories .blog-post .content-blog > p:not(.title-blog),
body .block-categories .blog-post .content-blog .blog-description {
    display: none;
}

/* Kategoria/tag */
body .block-categories .blog-post .blog-tag {
    order: 2;

    margin: auto 0 0;
    padding: 0;

    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.3;

    color: #444;
    text-align: left;
}

/* Data */
body .block-categories .blog-post .date-blog,
body .block-categories .blog-post .blog-date,
body .block-categories .blog-post time {
    display: block;
    order: 3;

    margin-top: 3px;

    font-size: 14px;
    font-weight: 400;
    line-height: 1.3;

    color: #555;
}

/* Zdjęcie po prawej */
body .block-categories .blog-post img.thumb-blog,
body .block-categories .blog-post img {
    position: static;

    grid-column: 2;
    grid-row: 1;

    width: 100%;
    height: 100%;
    min-height: 225px;

    object-fit: cover;
    object-position: center;

    transform: none;
    border-radius: 18px;
}

/* Jeżeli zdjęcie jest opakowane w link */
body .block-categories .blog-post > a:has(img),
body .block-categories .blog-post .blog-image,
body .block-categories .blog-post .thumb-container {
    position: relative;

    grid-column: 2;
    grid-row: 1;

    display: block;
    width: 100%;
    height: 100%;
    min-height: 225px;

    overflow: hidden;
    border-radius: 18px;
}

/* Strzałka na zdjęciu */
/*body .block-categories .blog-post > a:has(img)::after,*/
/*body .block-categories .blog-post .blog-image::after,*/
/*body .block-categories .blog-post .thumb-container::after {*/
/*    content: "→";*/

/*    position: absolute;*/
/*    top: 18px;*/
/*    right: 18px;*/
/*    z-index: 3;*/

/*    display: flex;*/
/*    align-items: center;*/
/*    justify-content: center;*/

/*    width: 54px;*/
/*    height: 54px;*/

/*    font-family: Arial, sans-serif;*/
/*    font-size: 29px;*/
/*    font-weight: 300;*/
/*    line-height: 1;*/

/*    color: #fff;*/
/*    background: #0b69f6;*/
/*    border-radius: 50%;*/

/*    transition:*/
/*        background-color .2s ease,*/
/*        transform .2s ease;*/
/*}*/

/*body .block-categories .blog-post > a:has(img):hover::after,*/
/*body .block-categories .blog-post .blog-image:hover::after,*/
/*body .block-categories .blog-post .thumb-container:hover::after {*/
/*    background: #2468bd;*/
/*    transform: translateX(3px);*/
/*}*/

/* Ukrycie obecnych przycisków w każdej karcie */
body .block-categories .blog-post .url-blog {
    display: none;
}

@media (max-width: 1199px) {
    body .block-categories {
        grid-template-columns: 1fr;
        max-width: 760px;
    }
}

@media (max-width: 575px) {
    body .block-categories {
        margin-top: 40px;
        padding: 0 16px 90px;
    }

    body .block-categories .blog-post {
        display: flex;
        flex-direction: column-reverse;
    }

    body .block-categories .blog-post .content-blog {
        width: 100%;
        padding: 20px;
    }

    body .block-categories .blog-post > a:has(img),
    body .block-categories .blog-post .blog-image,
    body .block-categories .blog-post .thumb-container {
        width: 100%;
        min-height: 210px;
    }

    body .block-categories .blog-post img {
        min-height: 210px;
    }

    .blog-section-cta {
        right: 16px;
    }
}

/* Formularz wyszukiwania */
.search-form__btn {
    bottom: 0;
    color: rgba(0, 20, 41, 0.49);
    line-height: 1;
    padding: 0 20px;
    position: absolute;
    right: 0;
    top: 0;
}

.search-form__form-group {
    opacity: .5;
}

body .js-search-result {
    border-top: none;
}

/* ==========================================================================
   FOOTER — NAPRAWA UKŁADU
   Wkleić na samym końcu CSS
   ========================================================================== */

/* ==========================================================================
   FOOTER — TŁO I USUNIĘCIE LINII NA KRAWĘDZI
   ========================================================================== */

body #footer {
    position: relative;

    display: block;

    width: 100%;
    margin: 0 !important;
    padding: 0 !important;

    background: #0056cb !important;

    border: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;

    overflow: hidden;
}


/* ==========================================================================
   BANNER Z PIRATEM — BIAŁE TŁO
   ========================================================================== */

body #footer .footer__before {
    position: relative;

    display: block;

    width: 100%;
    margin: 0 !important;
    padding: 0 !important;

    background: #fff !important;
    background-image: none !important;

    border: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}


/* ==========================================================================
   GŁÓWNA STOPKA
   ========================================================================== */

body #footer .footer__main.pi-footer {
    position: relative;

    display: block;

    width: 100%;
    margin: 0 !important;
    padding: 62px 0 20px;

    color: #fff;

    background: linear-gradient(
        180deg,
        #006cff 0%,
        #0056cb 100%
    ) !important;

    background-clip: border-box;

    border: 0 !important;
    border-bottom: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;

    overflow: hidden;
    isolation: isolate;


    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}


/* ==========================================================================
   KONTENER TREŚCI
   ========================================================================== */

body #footer .pi-footer__container {
    position: relative;
    z-index: 3;

    width: calc(100% - 64px);
    max-width: 1360px;

    margin: 0 auto;
    padding-right: 0;
    padding-left: 0;

    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}


/* ==========================================================================
   USUNIĘCIE DODATKOWYCH ELEMENTÓW MOTYWU POD STOPKĄ
   ========================================================================== */

body #footer .footer__after,
body #footer .footer-container {
    margin: 0 !important;
    padding: 0 !important;

    background: #0056cb !important;

    border: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}


/* Pseudoelementy nie mogą rysować linii */

body #footer::before,
body #footer::after,
body #footer .footer__main.pi-footer::before,
body #footer .footer__main.pi-footer::after,
body #footer .footer__after::before,
body #footer .footer__after::after {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}


/* ==========================================================================
   LEWA CZĘŚĆ + SUPPORT PO PRAWEJ
   ========================================================================== */

body #footer .pi-footer__top {
    display: grid !important;

    grid-template-columns:
        minmax(0, 1fr)
        300px !important;

    align-items: start;
    gap: clamp(55px, 6vw, 110px);

    width: 100%;
}

body #footer .pi-footer__left {
    min-width: 0;
}


/* ==========================================================================
   KONTAKT NAD LINKAMI
   ========================================================================== */

body #footer .pi-footer__contact {
    display: grid !important;

    grid-template-columns:
        minmax(250px, 300px)
        minmax(220px, 1fr);

    align-items: start;
    gap: clamp(45px, 5vw, 75px);

    width: 100%;
    margin: 0 0 42px;
}

body #footer .pi-footer__contact-title {
    margin: 0;
    padding: 0;

    font-family: 'Syne', sans-serif !important;
    font-size: 29px !important;
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: -.025em;

    color: #fff !important;
    opacity: 1 !important;
}

body #footer .pi-footer__contact-data {
    display: flex !important;
    flex-direction: column;
    align-items: flex-start;

    gap: 8px;
    padding-top: 7px;
}

body #footer .pi-footer__contact-data a {
    display: block !important;

    width: fit-content;

    font-family: 'Syne', sans-serif !important;
    font-size: 18px !important;
    font-weight: 600;
    line-height: 1.3;

    color: #fff !important;
    opacity: 1 !important;
    visibility: visible !important;
    text-decoration: none !important;
}

body #footer .pi-footer__contact-data a:hover {
    color: #fff !important;
    text-decoration: underline !important;
}


/* ==========================================================================
   KOLUMNY GENEROWANE PRZEZ displayFooter
   ========================================================================== */

body #footer .pi-footer__modules {
    display: grid !important;

    grid-template-columns:
        repeat(4, minmax(0, 1fr)) !important;

    gap: 36px clamp(28px, 3.5vw, 58px);

    width: 100%;

    margin: 0 !important;
    padding: 0 !important;
}

/* Usuwa szerokości Bootstrap z modułów */
body #footer .pi-footer__modules > * {
    float: none !important;
    flex: none !important;

    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
}

/* Nagłówki kolumn */
body #footer .pi-footer__modules .h3,
body #footer .pi-footer__modules .h4,
body #footer .pi-footer__modules .title,
body #footer .pi-footer__modules .block-contact-title,
body #footer .pi-footer__modules .blockcms-title,
body #footer .pi-footer__modules .links .h3 {
    margin: 0 0 15px !important;
    padding: 0 !important;

    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;

    color: #fff !important;
    opacity: 1 !important;
    text-transform: none;
}

/* Listy */
body #footer .pi-footer__modules ul {
    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}

body #footer .pi-footer__modules li {
    margin: 0 0 8px !important;
    padding: 0 !important;
}

/* Linki */
body #footer .pi-footer__modules a {
    display: inline-block;

    font-family: 'Inter', sans-serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;

    color: #fff !important;
    opacity: 1 !important;
    text-decoration: none !important;

    transition:
        opacity .2s ease,
        transform .2s ease;
}

body #footer .pi-footer__modules a:hover,
body #footer .pi-footer__modules a:focus-visible {
    color: #fff !important;
    opacity: .72 !important;

    transform: translateX(3px);
}

/* Tekst modułu kontaktowego */
body #footer .pi-footer__modules p,
body #footer .pi-footer__modules address,
body #footer .pi-footer__modules span {
    color: #fff !important;
}

body #footer .pi-footer__modules p,
body #footer .pi-footer__modules address {
    margin: 0 0 8px;

    font-family: 'Inter', sans-serif;
    font-size: 15px;
    font-style: normal;
    line-height: 1.45;
}

body #footer .pi-footer__modules .material-icons,
body #footer .pi-footer__modules i {
    color: #fff !important;
}

/* Listy zawsze otwarte na desktopie */
@media (min-width: 768px) {
    body #footer .pi-footer__modules .collapse {
        display: block !important;

        height: auto !important;
        visibility: visible !important;
    }
}


/* ==========================================================================
   PRESTASHOP EXPERT — PRAWA STRONA
   ========================================================================== */

body #footer .pi-footer__support {
    grid-column: 2;
    grid-row: 1;

    align-self: start;

    display: block !important;

    width: 100%;
    max-width: 300px;

    margin: 0 !important;
    padding: 0 !important;
}

body #footer .pi-footer__expert {
    display: flex !important;
    flex-direction: column;
    align-items: flex-start;

    width: fit-content;

    margin: 0 0 22px;
    padding: 10px 13px;

    color: #111;
    background: #a8e2f2;
}

body #footer .pi-footer__expert strong {
    font-family: Arial, sans-serif;
    font-size: 18px;
    font-weight: 800;
    line-height: 1;

    color: #111 !important;
}

body #footer .pi-footer__expert span {
    margin-top: 7px;
    padding: 3px 7px;

    font-family: Arial, sans-serif;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;

    color: #111 !important;
    background: #fff;
}

body #footer .pi-footer__support h3 {
    margin: 0 0 12px;
    padding: 0;

    font-family: 'Syne', sans-serif !important;
    font-size: 20px !important;
    font-weight: 500;
    line-height: 1.2;

    color: #fff !important;
}

body #footer .pi-footer__support p {
    max-width: 275px;

    margin: 0 0 15px;

    font-family: 'Inter', sans-serif;
    font-size: 14px;
    line-height: 1.55;

    color: #fff !important;
}


/* Przycisk */

body #footer .pi-footer__support-button {
    display: inline-flex !important;
    align-items: center;
    justify-content: space-between;

    width: 220px;
    height: 54px;

    padding: 0 7px 0 27px;

    font-family: 'Inter', sans-serif;
    font-size: 15px;
    font-weight: 600;

    color: #fff !important;
    text-decoration: none !important;

    background: transparent;
    border: 1px solid rgba(255, 255, 255, .9);
    border-radius: 999px;
}

body #footer .pi-footer__support-arrow {
    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 42px;

    width: 42px;
    height: 42px;

    margin-left: 15px;

   background-color: rgb(255 255 255 / .22);
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 12H19' stroke='white' stroke-width='1.6' stroke-linecap='round'/%3E%3Cpath d='M14 7L19 12L14 17' stroke='white' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 24px 24px;
    border-radius: 50%;
}

body #footer .pi-footer__support-button:hover {
    color: #fff !important;
    background: rgba(255, 255, 255, .12);
}


/* ==========================================================================
   TPAY I COPYRIGHT
   ========================================================================== */

body #footer .footer-tpay {
    position: relative;
    z-index: 3;

    display: block;

    width: 100%;
    max-width: 1200px;

    margin: 48px auto 30px;

    overflow: hidden;

    background: #fff;
    border-radius: 18px;
}

body #footer .footer-tpay img {
    display: block;

    width: 100%;
    height: auto;

    margin: 0;
    border: 0;
}

body #footer .pi-footer__copyright {
    position: relative;
    z-index: 3;

    margin-top: 0;

    text-align: center;
}

body #footer .pi-footer__copyright,
body #footer .pi-footer__copyright p,
body #footer .pi-footer__copyright a,
body #footer .pi-footer__copyright span {
    color: #fff !important;
}


/* ==========================================================================
   FALE — ANIMOWANE
   ========================================================================== */

body #footer .footer__main .footer-waves {
    position: absolute;

    right: 0;
    bottom: 0;
    left: 0;
    top: auto;

    z-index: 0;

    display: block;

    width: 100%;
    height: 360px;

    margin: 0;
    padding: 0;

    overflow: hidden;
    pointer-events: none;
}

body #footer .footer__main .wave-svg {
    position: absolute;

    top: 0;
    left: 0;
    bottom: auto;

    display: block;

    width: 300vw;
    max-width: none;
    height: 100%;

    margin: 0;
    padding: 0;

    will-change: transform;
}

body #footer .footer-waves .w1 {
    animation: piWaveLeft 7s linear infinite;
}

body #footer .footer-waves .w2 {
    animation: piWaveRight 10s linear infinite;
}

body #footer .footer-waves .w3 {
    animation: piWaveLeft 13s linear infinite;
}

body #footer .footer-waves .w4 {
    animation: piWaveRight 16s linear infinite;
}

body #footer .footer-waves .w5 {
    animation: piWaveLeft 20s linear infinite;
}

body #footer .footer-waves .w6 {
    animation: piWaveRight 24s linear infinite;
}

body #footer .footer-waves .w7 {
    animation: piWaveLeft 30s linear infinite;
}

@keyframes piWaveLeft {
    from {
        transform: translate3d(0, 0, 0);
    }

    to {
        transform: translate3d(-50%, 0, 0);
    }
}

@keyframes piWaveRight {
    from {
        transform: translate3d(-50%, 0, 0);
    }

    to {
        transform: translate3d(0, 0, 0);
    }
}


/* Cała treść nad falami */
body #footer .pi-footer__container,
body #footer .pi-footer__top,
body #footer .pi-footer__left,
body #footer .pi-footer__modules,
body #footer .pi-footer__support,
body #footer .pi-footer__after,
body #footer .footer-tpay,
body #footer .pi-footer__copyright {
    position: relative;
    z-index: 3;
}


/* ==========================================================================
   TABLET
   ========================================================================== */

@media (max-width: 1199px) {

    body #footer .pi-footer__top {
        grid-template-columns:
            minmax(0, 1fr)
            250px !important;

        gap: 45px;
    }

    body #footer .pi-footer__contact {
        grid-template-columns:
            minmax(210px, 250px)
            minmax(180px, 1fr);

        gap: 32px;
    }

    body #footer .pi-footer__modules {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;
    }

    body #footer .pi-footer__support {
        max-width: 250px;
    }
}


/* ==========================================================================
   MNIEJSZY TABLET
   ========================================================================== */

@media (max-width: 991px) {

    body #footer .pi-footer__container {
        width: calc(100% - 40px);
    }

    body #footer .pi-footer__top {
        grid-template-columns: 1fr !important;

        gap: 48px;
    }

    body #footer .pi-footer__support {
        grid-column: 1;
        grid-row: auto;

        max-width: 420px;
    }

    body #footer .pi-footer__modules {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;
    }

    body #footer .footer__main .footer-waves {
        height: 320px;
    }

    body #footer .footer-tpay {
        width: 100%;
    }
}


/* ==========================================================================
   TELEFON
   ========================================================================== */

@media (max-width: 767px) {

    body #footer .footer__main.pi-footer {
        padding: 42px 0 18px;
    }

    body #footer .pi-footer__container {
        width: calc(100% - 32px);
    }

    body #footer .pi-footer__contact {
        grid-template-columns: 1fr;

        gap: 18px;
        margin-bottom: 38px;
    }

    body #footer .pi-footer__contact-title {
        font-size: 27px !important;
    }

    body #footer .pi-footer__contact-data {
        padding-top: 0;
    }

    body #footer .pi-footer__contact-data a {
        font-size: 16px !important;
    }

    body #footer .pi-footer__modules {
        grid-template-columns: 1fr !important;

        gap: 32px;
    }

    body #footer .footer__main .footer-waves {
        height: 300px;
    }

    body #footer .footer-tpay {
        margin-top: 38px;

        overflow-x: auto;
        border-radius: 14px;
    }

    body #footer .footer-tpay img {
        width: 850px;
        max-width: none;
    }
}







/* Usuwa ramkę focusu dla linków w menu (w tym Blog, Kontakt itp.) */
html body #header .ps-mainmenu__tree-link:focus,
html body #header .ps-mainmenu__tree-link:focus-visible,
html body #header .ps-mainmenu__tree-link:active {
    outline: none;
    box-shadow: none;
}

/* Jeśli to nie zadziała (bo szablon używa innych klas dla elementów menu), 
   możesz rozszerzyć regułę na wszystkie linki wewnątrz struktury menu: */
html body #header .ps-mainmenu a:focus,
html body #header .ps-mainmenu a:focus-visible,
html body #header .ps-mainmenu a:active {
    outline: none;
    box-shadow: none;
}

html body#header .dropdown-toggle:focus, 
html body#header .dropdown-toggle:focus-visible, 
html body#header .dropdown-toggle:active {
    outline: none;
    box-shadow: none;
}

/* ==========================================================================
   HEADER + MEGA MENU
   ========================================================================== */

@media (min-width: 1200px) {

    /* =========================
       GŁÓWNA BELKA
       ========================= */

    #header .header-bottom {
        position: relative;
        padding: 14px 28px 0;
        background: transparent;
        overflow: visible;
        z-index: 1000;
    }

    #header .header-bottom__row {
    position: fixed;

    left: 50%;
    transform: translateX(-50%);

    width: calc(100% - 56px);
    max-width: 1400px;

    margin: 0;

    height: 80px;
    min-height: 80px;

    padding: 0 20px 0 7px;

    background: #fff;
    border-radius: 42px;
    box-shadow: 0 8px 30px rgba(18, 42, 69, 0.08);
}
    /* =========================
       LOGO
       ========================= */

    #header .header-bottom__logo,
    #header #_desktop_logo {
        order: 1;
        flex: 0 0 230px;

        width: 230px;
        min-width: 230px;

        margin: 0 24px 0 0;
    }

    #header #_desktop_logo img,
    #header .header-bottom__logo img {
        display: block;

        width: auto;
        max-width: 220px;
        max-height: 58px;
    }

    /* =========================
       MENU GŁÓWNE
       ========================= */

    #header .ps-mainmenu--desktop {
        order: 2;
        flex: 1 1 auto;

        width: auto;
        min-width: 0;

        margin: 0;
    }

    #header .ps-mainmenu__desktop,
    #header #top-menu {
        overflow: visible;
    }

    #header .ps-mainmenu__desktop {
        width: 100%;
    }

    #header #top-menu {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        flex-wrap: nowrap;

        gap: 26px;

        width: 100%;
        margin: 0;
        padding: 0 0 0 30px;
    }

    #header #top-menu > li {
        position: static;

        flex: 0 0 auto;
        width: auto;

        margin: 0;
        padding: 0;
    }

    #header #top-menu > li > .ps-mainmenu__tree-item-wrapper {
        display: flex;
        align-items: center;
        height: 80px;
    }

    #header #top-menu > li .ps-mainmenu__tree-link {
        display: flex;
        align-items: center;

        height: 80px;

        margin: 0;
        padding: 0;

        font-family: 'Inter', sans-serif;
        font-size: 15px;
        font-weight: 400;
        line-height: 1;

        color: #333;
        background: transparent;
        text-transform: uppercase;
        white-space: nowrap;
        text-decoration: none;
    }

    #header #top-menu > li .ps-mainmenu__tree-link:hover,
    #header #top-menu > li .ps-mainmenu__tree-link:focus {
        color: #005a9c;
        background: transparent;
    }

    /* Strzałki przy rozwijanych pozycjach */
    #header .ps-mainmenu__tree-dropdown-toggle {
        display: flex;
        align-items: center;
        justify-content: center;

        margin-left: 8px;
        padding: 0;

        color: #006CFF;
        background: transparent;
        border: 0;
    }

    #header .ps-mainmenu__tree-dropdown-toggle::after {
        transition: transform .2s ease;
    }

    #header #top-menu > li:hover
    .ps-mainmenu__tree-dropdown-toggle::after {
        transform: rotate(180deg);
    }
    
    
    #header #top-menu > li[data-id="lnk-kontakt"] .ps-mainmenu__tree-link{
        color: #006CFF;
    }

    /* =========================
       IKONY PO PRAWEJ
       ========================= */

    #header #_desktop_search_widget,
    #header #_desktop_ps_searchbar {
        order: 3;
    }

    #header #_desktop_user_info,
    #header #_desktop_ps_customersignin {
        order: 4;
    }

    #header #_desktop_wishlist,
    #header #_desktop_blockwishlist {
        order: 5;
    }

    #header #_desktop_ps_shoppingcart {
        order: 6;
    }

    #header #_desktop_search_widget,
    #header #_desktop_ps_searchbar,
    #header #_desktop_user_info,
    #header #_desktop_ps_customersignin,
    #header #_desktop_wishlist,
    #header #_desktop_blockwishlist,
    #header #_desktop_ps_shoppingcart {
        flex: 0 0 auto;

        width: auto;
        min-width: 0;

        margin: 0 0 0 10px;
        padding: 16px 0 0 0;
    }

    /* Ukrycie tekstów */
    #header #_desktop_user_info .header-block__title,
    #header #_desktop_ps_customersignin .header-block__title,
    #header #_desktop_ps_shoppingcart .header-block__title,
    #header #_desktop_wishlist .header-block__title,
    #header #_desktop_blockwishlist .header-block__title {
        display: none;
    }

    #header #_desktop_user_info .dropdown-toggle,
    #header #_desktop_ps_customersignin .dropdown-toggle {
        font-size: 0;
    }

    #header #_desktop_user_info .dropdown-toggle .material-icons,
    #header #_desktop_ps_customersignin .dropdown-toggle .material-icons,
    #header #_desktop_user_info .dropdown-toggle .header-block__icon,
    #header #_desktop_ps_customersignin .dropdown-toggle .header-block__icon {
        font-size: 25px;
    }

    /* Okrągłe przyciski */
    #header .header-block__action-btn,
    #header #_desktop_user_info .dropdown-toggle,
    #header #_desktop_ps_customersignin .dropdown-toggle,
    #header .wishlist-button,
    #header .search-widget form button {
        position: relative;

        display: flex;
        align-items: center;
        justify-content: center;

        width: 46px;
        min-width: 46px;
        height: 46px;

        margin: 0;
        padding: 0;

        color: #2d6bb1;
        background: #fff;
        border: 1px solid #b9d0ed;
        border-radius: 50%;

        text-decoration: none;
        box-shadow: 0 2px 6px rgba(45, 107, 177, 0.08);

        transition:
            color .2s ease,
            background-color .2s ease,
            border-color .2s ease,
            transform .2s ease;
    }

    #header .header-block__action-btn:hover,
#header #_desktop_user_info .dropdown-toggle:hover,
#header #_desktop_ps_customersignin .dropdown-toggle:hover,
#header .wishlist-button:hover {
    color: #fff;
    background: #2d6bb1;
    border-color: #2d6bb1;
    transform: translateY(-2px);
}

    #header .header-block__icon,
    #header .header-block__action-btn .material-icons,
    #header #_desktop_user_info .material-icons,
    #header #_desktop_ps_customersignin .material-icons,
    #header .search-widget .material-icons {
        margin: 0;
        font-size: 25px;
        line-height: 1;
    }

    #header .header-block {
        position: relative;
    }

    #header .header-block__badge {
        position: absolute;
        top: -6px;
        right: -4px;

        display: flex;
        align-items: center;
        justify-content: center;

        width: 19px;

        margin: 0;

        font-size: 11px;
        font-weight: 700;
        line-height: 1;

        color: #fff;
        background: #2d6bb1;
        border: 2px solid #fff;
        border-radius: 50%;
    }

    /* =========================
       MEGA MENU
       ========================= */

    #header,
    #header .header-bottom,
    #header .header-bottom__row,
    #header .ps-mainmenu,
    #header .ps-mainmenu__desktop,
    #header #top-menu {
        overflow: visible;
    }

    #header #top-menu > li.ps-mainmenu__tree-item > .submenu {
        position: absolute;

        top: 80px;
        left: 50%;
        right: auto;

        width: min(1100px, calc(100vw - 70px));
        max-width: 1100px;
        min-width: 0;

        margin: 0;
        padding: 34px 48px 46px;

        transform: translateX(-50%);

        background: #fff;
        border: 0;
        border-radius: 0 0 40px 40px;
        box-shadow: 0 22px 45px rgba(0, 0, 0, 0.14);

        z-index: 9999;
    }

    /* inline display:none z Hummingbirda */
    #header #top-menu > li.ps-mainmenu__tree-item:hover > .submenu,
    #header #top-menu > li.ps-mainmenu__tree-item:focus-within > .submenu {
        display: block !important;
    }

    #header #top-menu > li > .submenu > .container {
        width: 100%;
        max-width: none;
        padding: 0;
    }

    #header #top-menu > li > .submenu .submenu__row {
        display: block;
        margin: 0;
    }

    #header #top-menu > li > .submenu .submenu__left {
        position: relative;

        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));

        gap: 18px 60px;

        width: 100%;
        max-width: none;

        margin: 0;
        padding: 58px 0 0;

        border: 0;
        flex: none;
    }

    #header #top-menu > li > .submenu .submenu__right {
        display: none;
    }

    #header #top-menu > li > .submenu .submenu__left-item {
        display: block;

        width: 100%;
        min-width: 0;

        margin: 0;
        padding: 5px 0;

        font-family: 'Inter', sans-serif;
        font-size: 16px;
        font-weight: 400;
        line-height: 1.35;

        color: #161616;
        background: transparent;

        white-space: normal;
        text-decoration: none;

        transition:
            color .2s ease,
            transform .2s ease;
    }

    #header #top-menu > li > .submenu .submenu__left-item:hover {
        color: #2866a8;
        transform: translateX(4px);
    }

    /* =========================
       TYTUŁY W MEGA MENU
       ========================= */

    #header #top-menu > li > .submenu .submenu__left::before {
        position: absolute;
        top: 0;
        left: 0;

        display: flex;
        align-items: center;

        width: max-content;
        min-width: 208px;
        max-width: 100%;

        padding: 0 42px 12px 0;

        border-bottom: 1px solid #d6e0ec;

        font-family: 'Syne', sans-serif;
        font-size: 18px;
        font-weight: 700;
        line-height: 1.2;

        color: #151515;
        text-transform: uppercase;
        white-space: nowrap;
    }

    #header #top-menu > li[data-id="category-3"]
    > .submenu .submenu__left::before {
        content: "PRESTASHOP  →";
    }

    #header #top-menu > li[data-id="category-6"]
    > .submenu .submenu__left::before {
        content: "WOOCOMMERCE  →";
    }

    #header #top-menu > li[data-id="cms-category-2"]
    > .submenu .submenu__left::before {
        content: "USŁUGI  →";
    }

    #header #top-menu > li[data-id="category-17"]
    > .submenu .submenu__left::before {
        content: "DARMOWE MODUŁY  →";
    }
}

@media (min-width: 1200px) {

    /* Ukrycie wszystkich tekstów w przyciskach konta i koszyka */
    #header #_desktop_user_info a,
    #header #_desktop_user_info button,
    #header #_desktop_ps_customersignin a,
    #header #_desktop_ps_customersignin button,
    #header #_desktop_ps_shoppingcart a,
    #header #_desktop_ps_shoppingcart button {
        font-size: 0;
        line-height: 0;
    }

    /* Ukrycie tekstowych spanów */
    #header #_desktop_user_info span:not(.material-icons):not(.header-block__badge),
    #header #_desktop_ps_customersignin span:not(.material-icons):not(.header-block__badge),
    #header #_desktop_ps_shoppingcart span:not(.material-icons):not(.header-block__badge) {
        display: none;
    }

    /* Przywrócenie ikon */
    #header #_desktop_user_info .material-icons,
    #header #_desktop_user_info .header-block__icon,
    #header #_desktop_ps_customersignin .material-icons,
    #header #_desktop_ps_customersignin .header-block__icon,
    #header #_desktop_ps_shoppingcart .material-icons,
    #header #_desktop_ps_shoppingcart .header-block__icon {
        display: block;
        margin: 0;
        font-size: 25px;
        line-height: 1;
    }

    /* Przywrócenie licznika koszyka */
    #header #_desktop_ps_shoppingcart .header-block__badge {
        display: flex;
        font-size: 11px;
        line-height: 1;
    }

    /* Wyśrodkowanie zawartości kółek */
    #header #_desktop_user_info .header-block__action-btn,
    #header #_desktop_ps_customersignin .header-block__action-btn,
    #header #_desktop_ps_shoppingcart .header-block__action-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0;
    }
}

/* =========================================================
   PS_SEARCHBAR — poprawny wygląd
   ========================================================= */

@media (min-width: 1200px) {

    #header #_desktop_ps_searchbar {
        position: relative;
        flex: 0 0 46px;
        width: 46px;
        min-width: 46px;
        height: 80px;
        margin-left: 10px;
        overflow: visible;
        z-index: 40;
    }

    #header #_desktop_ps_searchbar #ps_searchbar {
    position: absolute;
    top: 40%;
    right: 0;

    width: 46px;
    height: 46px;

    transform: translateY(-50%);
    transition: width .25s ease;
}

    #header #_desktop_ps_searchbar .ps-searchbar__form {
        position: relative;
        width: 100%;
        height: 46px;
        margin: 0;
    }

    #header #_desktop_ps_searchbar .ps-searchbar__input {
        display: block;

        width: 100%;
        height: 46px;

        margin: 0;
        padding: 0 48px 0 46px;

        font-family: 'Inter', sans-serif;
        font-size: 14px;
        line-height: 46px;

        color: #333;
        background: #fff;

        border: 1px solid #b9d0ed;
        border-radius: 999px;

        opacity: 0;
        visibility: hidden;

        outline: none;
        box-shadow: none;

        transition:
            opacity .18s ease,
            visibility .18s ease;
    }

    /* Lupa */
    #header #_desktop_ps_searchbar .ps-searchbar__magnifier {
        position: absolute;
        top: 50%;
        right: 0;
        left: auto;
        z-index: 3;

        display: flex;
        align-items: center;
        justify-content: center;

        width: 46px;
        height: 46px;

        margin: 0;
        padding: 0;

        color: #2d6bb1;
        background: #fff;

        border: 1px solid #b9d0ed;
        border-radius: 50%;

        font-size: 25px;
        line-height: 1;

        cursor: pointer;
        transform: translateY(-50%);

        box-shadow: 0 2px 6px rgba(45, 107, 177, .08);
    }

    /* Przycisk czyszczenia — reset starego stylu */
    #header #_desktop_ps_searchbar .ps-searchbar__clear {
        position: absolute;
        top: 50%;
        right: 42px;
        z-index: 4;

        display: none;

        width: 28px;
        min-width: 28px;
        height: 28px;

        margin: 0;
        padding: 0;

        color: #666;
        background: transparent;

        border: 0;
        border-radius: 50%;

        box-shadow: none;
        transform: translateY(-50%);
    }

    #header #_desktop_ps_searchbar .ps-searchbar__clear::before,
    #header #_desktop_ps_searchbar .ps-searchbar__clear::after {
        content: none;
    }

    #header #_desktop_ps_searchbar .ps-searchbar__clear .material-icons {
        display: block;
        margin: 0;
        font-size: 18px;
        line-height: 1;
    }

    /* Stan otwarty */
    #header #_desktop_ps_searchbar.is-search-open #ps_searchbar {
        width: 304px;
    }

    #header #_desktop_ps_searchbar.is-search-open .ps-searchbar__input {
        opacity: 1;
        visibility: visible;
    }

    #header #_desktop_ps_searchbar.is-search-open .ps-searchbar__magnifier {
        right: 0;
        background: transparent;
        border-color: transparent;
        box-shadow: none;
    }

    /* Pokaż X dopiero gdy input nie jest pusty */
    #header #_desktop_ps_searchbar.is-search-open
    .ps-searchbar__input:not(:placeholder-shown)
    + .ps-searchbar__clear {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    #header #_desktop_ps_searchbar .ps-searchbar__input::placeholder {
        color: #777;
        opacity: 1;
    }

    /* Wyniki */
    #header #_desktop_ps_searchbar .ps-searchbar__dropdown {
        position: absolute;
        top: calc(100% + 10px);
        right: 0;

        width: 420px;
        max-height: 440px;

        overflow-y: auto;

        background: #fff;
        border: 1px solid #e0e5eb;
        border-radius: 16px;
        box-shadow: 0 18px 40px rgba(0, 0, 0, .12);

        z-index: 50;
    }
}



/* ==========================================================================
   HEADER — MNIEJSZY DESKTOP
   ========================================================================== */

@media (min-width: 1200px) and (max-width: 1450px) {

    /* Cała belka zawsze w jednym rzędzie */
    #header .header-bottom__row {
        display: flex;
        align-items: center;
        flex-wrap: nowrap;
    }

    /* Menu zajmuje dostępne miejsce */
    #header .ps-mainmenu--desktop {
        flex: 1 1 auto;
        min-width: 0;
    }

    /* Zagęszczamy tylko menu */
    #header #top-menu {
        gap: 14px;
        padding-left: 0;
    }

    #header #top-menu > li .ps-mainmenu__tree-link {
        font-size: 14px;
        white-space: nowrap;
    }

    /* Strzałki bliżej nazw */
    #header .ps-mainmenu__tree-dropdown-toggle {
        margin-left: 3px;
    }

    /* Prawa część nie może się kurczyć ani zawijać */
    #header #_desktop_ps_searchbar,
    #header #_desktop_user_info,
    #header #_desktop_ps_customersignin,
    #header #_desktop_ps_shoppingcart {
        flex-shrink: 0;
        margin-left: 5px;
    }
}


/* ==========================================================================
   HEADER — BARDZO WĄSKI DESKTOP
   ========================================================================== */

@media (min-width: 1200px) and (max-width: 1300px) {

    #header #top-menu {
        gap: 9px;
    }

    #header #top-menu > li .ps-mainmenu__tree-link {
        font-size: 13px;
    }

    /* Kółka trochę mniejsze */
    #header #_desktop_ps_searchbar,
    #header #_desktop_user_info,
    #header #_desktop_ps_customersignin,
    #header #_desktop_ps_shoppingcart {
        flex: 0 0 40px;
        width: 40px;
        min-width: 40px;
        height: 40px;

        margin-left: 4px;
    }

    #header #_desktop_ps_searchbar .ps-searchbar__magnifier,
    #header #_desktop_user_info .header-block__action-btn,
    #header #_desktop_ps_customersignin .header-block__action-btn,
    #header #_desktop_ps_shoppingcart .cart-preview {
        width: 40px;
        min-width: 40px;
        height: 40px;
    }
}




:root {
    --page-margin: 120px;
}

@media (max-width: 1199px) {
    :root {
        --page-margin: 24px;
    }
}

@media (max-width: 767px) {
    :root {
        --page-margin: 16px;
    }
}


.ps-featuredproducts,
.ps-bestsellers,
.ps-newproducts,
.ps-customtext {
    padding-top: 20px;
    padding-bottom: 20px;
}

.module-products__list {
    padding: 20px 0;
}

/* ==========================================================================
   MOBILE HEADER — JEDNA CZYSTA WERSJA
   ========================================================================== */

.pi-mobile-menu-toggle {
    display: none;
}

@media (max-width: 1199px) {

    /* Główna belka */
    #header .header-bottom {
        width: 100%;
        margin: 0;
        padding: 0;
    }

    #header .header-bottom__container {
        width: 100%;
        max-width: none;

        margin: 0;
        padding: 0 12px;

        box-sizing: border-box;
    }

    #header .header-bottom__row {
        --bs-gutter-x: 0;

        display: flex !important;
        align-items: center !important;
        flex-wrap: nowrap !important;

        width: 100%;
        min-height: 72px;

        margin: 0 !important;
        padding: 8px 10px;

        background: #fff;
        border-radius: 0;

        box-sizing: border-box;
        overflow: visible;
    }

    /* Ukrycie elementów desktopowych */
    #header .ps-mainmenu--desktop,
    #header #_desktop_top_menu,
    #header #_desktop_ps_searchbar,
    #header #_desktop_user_info,
    #header #_desktop_ps_customersignin,
    #header #_desktop_ps_shoppingcart {
        display: none !important;
    }

    /* Prawdziwy hamburger dodawany przez JS */
    #header .pi-mobile-menu-toggle {
        appearance: none;

        order: 1;

        display: flex !important;
        flex-direction: column;
        align-items: center;
        justify-content: center;

        flex: 0 0 42px;

        width: 42px;
        min-width: 42px;
        height: 42px;

        gap: 5px;

        margin: 0 10px 0 0;
        padding: 7px;

        background: transparent;
        border: 0;
        border-radius: 0;

        box-shadow: none;
        cursor: pointer;
    }

    #header .pi-mobile-menu-toggle span {
        display: block;

        width: 26px;
        height: 2px;

        margin: 0;

        background: #222;
        border-radius: 999px;
    }

    /* Logo */
    #header .header-bottom__logo {
        order: 2;

        display: flex !important;
        align-items: center;

        flex: 0 1 auto;

        width: auto;
        min-width: 0;
        max-width: none;

        margin: 0 !important;
        padding: 0;
    }

    #header .header-bottom__h2 {
        margin: 0;
    }

    #header .header-bottom__logo a {
        display: flex;
        align-items: center;

        min-width: 0;
    }

    #header .header-bottom__logo img {
        display: block;

        width: auto;
        height: auto;

        max-width: clamp(120px, 30vw, 180px);
        max-height: 52px;

        margin: 0;
    }

    /* Kolejność ikon */
    #header .ps-searchbar--mobile {
        order: 3;
        margin-left: auto !important;
    }

    #header #_mobile_ps_customersignin,
    #header #_mobile_user_info {
        order: 4;
    }

    #header #_mobile_ps_shoppingcart {
        order: 5;
    }

    /* Kontenery ikon */
    #header .ps-searchbar--mobile,
    #header #_mobile_ps_customersignin,
    #header #_mobile_user_info,
    #header #_mobile_ps_shoppingcart {
        position: relative;

        display: flex !important;
        align-items: center;
        justify-content: center;

        flex: 0 0 42px;

        width: 42px;
        min-width: 42px;
        max-width: 42px;

        height: 42px;
        min-height: 42px;

        margin-top: 0;
        margin-right: 0;
        margin-bottom: 0;
        margin-left: 6px;

        padding: 0 !important;

        overflow: visible;
    }

    /* Wewnętrzne elementy modułów */
    #header .ps-searchbar--mobile .header-block,
    #header #_mobile_ps_customersignin .header-block,
    #header #_mobile_user_info .header-block,
    #header #_mobile_ps_shoppingcart .header-block {
        display: flex;
        align-items: center;
        justify-content: center;

        width: 42px;
        height: 42px;

        margin: 0;
        padding: 0;

        overflow: visible;
    }

    /* Kółka ikon */
    #header .ps-searchbar--mobile .header-block__action-btn,
    #header #_mobile_ps_customersignin .header-block__action-btn,
    #header #_mobile_user_info .header-block__action-btn,
    #header #_mobile_ps_shoppingcart .header-block__action-btn,
    #header #_mobile_ps_shoppingcart .cart-preview {
        position: relative;

        display: flex !important;
        align-items: center;
        justify-content: center;

        width: 42px;
        min-width: 42px;
        height: 42px;
        min-height: 42px;

        margin: 0;
        padding: 0;

        color: #006cff;
        background: #fff;

        border: 1px solid #64a1f4;
        border-radius: 50%;

        box-shadow: none;
        overflow: visible;
    }

    /* Same ikony */
    #header .ps-searchbar--mobile .material-icons,
    #header #_mobile_ps_customersignin .material-icons,
    #header #_mobile_user_info .material-icons,
    #header #_mobile_ps_shoppingcart .material-icons,
    #header .ps-searchbar--mobile .header-block__icon,
    #header #_mobile_ps_customersignin .header-block__icon,
    #header #_mobile_user_info .header-block__icon,
    #header #_mobile_ps_shoppingcart .header-block__icon {
        display: flex !important;
        align-items: center;
        justify-content: center;

        width: auto;
        height: auto;

        margin: 0;

        font-size: 22px !important;
        line-height: 1 !important;

        color: #006cff !important;

        transform: none !important;
    }

    /* Licznik koszyka */
    #header #_mobile_ps_shoppingcart .header-block__badge,
    #header #_mobile_ps_shoppingcart .cart-products-count {
        position: absolute;

        top: -5px;
        right: -5px;
        z-index: 5;

        display: flex;
        align-items: center;
        justify-content: center;

        width: 17px;
        min-width: 17px;
        height: 17px;

        margin: 0;
        padding: 0;

        font-size: 10px;
        font-weight: 700;
        line-height: 1;

        color: #fff;
        background: #006cff;

        border: 2px solid #fff;
        border-radius: 50%;
    }

    /* Istniejące natywne menu Hummingbird */
    #header #mobileMenu {
        --bs-offcanvas-width: min(86vw, 380px);

        width: min(86vw, 380px);
        max-width: 380px;
        height: 100vh;

        color: #222;
        background: #fff !important;

        border: 0;

        z-index: 10050;
    }

    #header #mobileMenu .offcanvas-header {
        display: flex;
        align-items: center;
        justify-content: space-between;

        min-height: 70px;

        padding: 14px 18px;

        border-bottom: 1px solid #edf0f4;
    }

    #header #mobileMenu .offcanvas-body,
    #header #mobileMenu .ps-mainmenu__mobile-menu {
        width: 100%;

        margin: 0;
        padding: 10px 20px 30px;

        overflow-y: auto;
    }

    /* Przycisk zamykania */
    #header #mobileMenu .btn-close {
        position: relative;

        display: flex;
        align-items: center;
        justify-content: center;

        width: 40px;
        min-width: 40px;
        height: 40px;

        margin-left: auto;
        padding: 0;

        font-size: 0;

        background: #fff;
        background-image: none !important;

        border: 1px solid #64a1f4;
        border-radius: 50%;

        opacity: 1;
        box-shadow: none;
    }

    #header #mobileMenu .btn-close::before,
    #header #mobileMenu .btn-close::after {
        content: "";

        position: absolute;

        width: 18px;
        height: 2px;

        background: #006cff;
        border-radius: 999px;
    }

    #header #mobileMenu .btn-close::before {
        transform: rotate(45deg);
    }

    #header #mobileMenu .btn-close::after {
        transform: rotate(-45deg);
    }

    /* Lista menu */
    #header #mobileMenu .top-menu,
    #header #mobileMenu #top-menu {
        display: flex !important;
        flex-direction: column;

        width: 100%;

        gap: 0;
        margin: 0;
        padding: 0;

        list-style: none;
    }

    #header #mobileMenu .top-menu > li {
        display: block;

        width: 100%;

        margin: 0;
        padding: 0;

        border-bottom: 1px solid #edf0f4;
    }

    #header #mobileMenu .top-menu > li > a,
    #header #mobileMenu .ps-mainmenu__tree-link {
        display: flex !important;
        align-items: center;

        width: 100%;
        min-height: 56px;

        margin: 0;
        padding: 0;

        font-family: 'Inter', sans-serif;
        font-size: 16px;
        font-weight: 500;
        line-height: 1.25;

        color: #222;

        text-decoration: none;
        text-transform: none;
        white-space: normal;
    }

    /* Ciemne tło za menu */
    .offcanvas-backdrop {
        z-index: 10040;
    }

    .offcanvas-backdrop.show {
        opacity: .42;
    }
}


/* ==========================================================================
   MAŁE TELEFONY
   ========================================================================== */

@media (max-width: 440px) {

    #header .header-bottom__container {
        padding: 0 5px;
    }

    #header .header-bottom__row {
        padding-left: 3px;
        padding-right: 3px;
    }

    #header .pi-mobile-menu-toggle {
        flex-basis: 36px;

        width: 36px;
        min-width: 36px;
        height: 36px;

        margin-right: 4px;
        padding: 5px;
    }

    #header .pi-mobile-menu-toggle span {
        width: 22px;
    }
}
/* ==========================================================================
   FOOTER — USUNIĘCIE PUSTEGO DISPLAYFOOTERAFTER
   ========================================================================== */

/*
 * Footer Logo & Social Block jest wyłączony,
 * więc ten kontener nie jest potrzebny.
 */
html body #footer .footer__main-bottom,
html body #footer .footer__main-bottom.row {
    display: none !important;

    width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;

    border: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;

    overflow: hidden !important;
}

/* Reset zewnętrznych elementów stopki */

html body #footer,
html body #footer > .footer,
html body #footer > .footer.footer__main,
html body #footer .footer__main.pi-footer {
    margin-bottom: 0 !important;

    border-bottom: 0 !important;
    border-radius: 0 !important;

    box-shadow: none !important;
}

/* Główna stopka musi kończyć się niebieskim tłem */

html body #footer .footer__main.pi-footer {
    padding-bottom: 20px !important;

    background: linear-gradient(
        180deg,
        #006cff 0%,
        #0056cb 100%
    ) !important;
}

/* Kontener wewnętrzny nie może mieć dolnego odstępu */

html body #footer .footer__main.pi-footer > .container,
html body #footer .pi-footer__container {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;

    background: transparent !important;
}

/* Copyright jako ostatni element */

html body #footer .pi-footer__copyright,
html body #footer .pi-footer__copyright p {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}


/* ==========================================================================
   LOGOWANIE — POKAŻ / UKRYJ HASŁO
   ========================================================================== */

body#authentication .password-field {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;

    width: 100% !important;
}


/* INPUT HASŁA */
body#authentication
.password-field
#field-password {
    flex: 1 1 auto !important;

    width: 100% !important;
    min-width: 0 !important;

    height: 44px !important;
    min-height: 44px !important;

    margin: 0 !important;

    border-radius: 12px 0 0 12px !important;
}

body#authentication
#field-email {
    height: 44px !important;
    min-height: 44px !important;
    border-radius: 12px !important;
} 


/* BUTTON OKA */
body#authentication
.password-field
button[data-ps-action="toggle-password"] {
    position: relative !important;

    display: block !important;
    flex: 0 0 54px !important;

    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;

    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;

    margin: 0 !important;
    padding: 0 !important;

    background-color: #fff !important;

    /* własna ikona oka */
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.5 12C4.6 8.7 7.8 6.5 12 6.5C16.2 6.5 19.4 8.7 21.5 12C19.4 15.3 16.2 17.5 12 17.5C7.8 17.5 4.6 15.3 2.5 12Z' stroke='%23086cff' stroke-width='1.7'/%3E%3Ccircle cx='12' cy='12' r='2.7' stroke='%23086cff' stroke-width='1.7'/%3E%3C/svg%3E") !important;

    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 24px 24px !important;

    border: 1px solid #d9dee6 !important;
    border-left: 0 !important;

    border-radius: 0 12px 12px 0 !important;

    box-shadow: none !important;

    color: transparent !important;

    transform: none !important;
}


/* WYŁĄCZ GLOBALNĄ STRZAŁKĘ / KÓŁKO BUTTONA */
body#authentication
.password-field
button[data-ps-action="toggle-password"]::before,
body#authentication
.password-field
button[data-ps-action="toggle-password"]::after {
    content: none !important;
    display: none !important;
}


/* HOVER */
body#authentication
.password-field
button[data-ps-action="toggle-password"]:hover {
    background-color: #f7faff !important;

    border-color: #086cff !important;

    box-shadow: none !important;
    transform: none !important;
}


/* FOCUS */
body#authentication
.password-field
button[data-ps-action="toggle-password"]:focus {
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(8, 108, 255, .10) !important;
}