/* Custom CSS here !! */

/* ==========================================================================
   Header — restyled to match "Modernizacja strony produktowej" reference
   (Strona produktu.dc.html). Built with Creative Elements widgets; classes
   below are the stable custom CSS classes assigned to header elements
   (header-line-first/second/third, ps-navbar, ps-desktop-row, logo-column,
   header-login-register, header-cart-compare-shippingTime, shop-logo).
   Elementor's auto-generated element ids (elementor-element-XXXXXXX) are
   intentionally NOT used as selectors — they are regenerated every time the
   header template is re-saved in the builder.
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&family=Barlow:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap');

#header {
    --ps-red: #c8101f;
    --ps-red-dark: #a80d19;
    --ps-red-light: #e0293a;
    --ps-ink: #24282d;
    --ps-muted: #6b7178;
    --ps-muted-2: #5a6068;
    --ps-border: #eceef1;
    --ps-border-strong: #dfe2e6;
    --ps-pink-bg: #fffaf9;
    --ps-pink-border: #f3e4e2;
    --ps-red-bg: #fdeceb;
    --ps-red-border: #e9d3d4;

    position: relative;
    background: linear-gradient(180deg, var(--ps-pink-bg) 0%, #ffffff 70%);
    font-family: 'Barlow', Helvetica, Arial, sans-serif;
}

/* Top accent bar */
#header::before {
    content: "";
    display: block;
    height: 4px;
    background: linear-gradient(90deg, var(--ps-red-dark) 0%, var(--ps-red) 45%, var(--ps-red-light) 100%);
}

#header a {
    text-decoration: none;
}

#header .elementor-row {
    align-items: center;
}

.header-line-first .elementor-container,
.header-line-second .elementor-container,
.header-line-third .elementor-container {
    max-width: 1360px;
    margin: 0 auto;
}

/* ---------- Row 1: logo / contact / login ---------- */

.header-line-first .elementor-container {
    padding: 18px 32px 14px;
}

.logo-column .elementor-widget-wrap {
    justify-content: flex-start;
}

.shop-logo .elementor-image img {
    height: 54px;
    width: auto;
    max-width: none;
}

.header-line-first .elementor-widget-text-editor .elementor-text-editor p {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px 24px;
    margin: 0;
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 15px;
}

.header-line-first .elementor-widget-text-editor a {
    color: var(--ps-ink);
}

.header-login-register .elementor-widget-wrap {
    display: flex;
    justify-content: flex-end;
}

.header-login-register .elementor-nav {
    display: flex;
    align-items: center;
    gap: 20px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.header-login-register .menu-item-has-children {
    position: relative;
}

.header-login-register .elementor-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: 'Barlow', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: var(--ps-red);
    text-decoration: none;
    transition: color 0.2s ease;
}

.header-login-register .elementor-item i {
    display: none;
}

.header-login-register .menu-item-has-children>.elementor-item i {
    display: inline-block;
    font-size: 13px;
    color: var(--ps-red);
}

.header-login-register .elementor-item:hover,
.header-login-register .menu-item-has-children:hover>.elementor-item {
    color: var(--ps-red-dark);
}

.header-login-register .elementor-item .sub-arrow,
.header-login-register .elementor-item i.fa-caret-down {
    display: inline-block;
    font-size: 11px;
    margin-left: 2px;
    transition: transform 0.25s ease;
}

.header-login-register .elementor-item .sub-arrow:before {
    transition: transform 0.25s ease;
}

.header-login-register .menu-item-has-children:hover>.elementor-item .sub-arrow:before {
    transform: rotate(180deg);
}

.header-login-register .menu-item-has-children:hover>.elementor-item i.fa-caret-down,
.header-login-register .menu-item-has-children:focus-within>.elementor-item .sub-arrow {
    transform: rotate(180deg);
}

/* Rozwijane podmenu dla zalogowanego usera */
.header-login-register ul.sub-menu {
    display: block !important;
    position: absolute;
    top: calc(100% + 4px);
    right: 0;
    left: auto;
    min-width: 220px;
    margin: 0;
    padding: 6px 0;
    list-style: none;
    background: #ffffff;
    border: 1px solid var(--ps-border-strong, rgba(0, 0, 0, 0.08));
    border-radius: 10px;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.04);
    opacity: 0;
    visibility: hidden;
    transform: translateY(6px);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
    pointer-events: none;
    z-index: 1000;
}

/* Niewidzialny bufor (mostek) zapobiegający znikaniu menu przy przejściu kursora */
.header-login-register ul.sub-menu::before {
    content: '';
    position: absolute;
    top: -14px;
    left: -10px;
    right: -10px;
    height: 16px;
    background: transparent;
}

.header-login-register .menu-item-has-children:hover>ul.sub-menu,
.header-login-register .menu-item-has-children:focus-within>ul.sub-menu {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
    pointer-events: auto !important;
}

.header-login-register ul.sub-menu li {
    list-style: none;
    margin: 0;
    padding: 0;
}

.header-login-register ul.sub-menu .elementor-sub-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 9px 16px;
    color: var(--ps-ink, #374151);
    font-family: 'Barlow', sans-serif;
    font-size: 13.5px;
    font-weight: 500;
    text-decoration: none;
    transition: background-color 0.15s ease, color 0.15s ease, padding-left 0.15s ease;
}

.header-login-register ul.sub-menu .elementor-sub-item i {
    display: inline-block;
    width: 18px;
    text-align: center;
    font-size: 14px;
    color: var(--ps-muted, #6b7280);
    transition: color 0.15s ease;
}

.header-login-register ul.sub-menu .elementor-sub-item:hover,
.header-login-register ul.sub-menu .elementor-sub-item:focus {
    background-color: var(--ps-red-bg, #fdeceb);
    color: var(--ps-red, #c8101f) !important;
    padding-left: 19px;
}

.header-login-register ul.sub-menu .elementor-sub-item:hover i,
.header-login-register ul.sub-menu .elementor-sub-item:focus i {
    color: var(--ps-red, #c8101f);
}

/* Separator przed Wyloguj się */
.header-login-register ul.sub-menu li:has(a[href*="logout"]),
.header-login-register ul.sub-menu li.menu-item-account-4 {
    border-top: 1px solid var(--ps-border, #eceef1);
    margin-top: 4px;
    padding-top: 4px;
}

/* ---------- Row 2: search / shipping badge / compare / cart ---------- */

.header-line-second {
    border-bottom: 1px solid var(--ps-pink-border);
}

.header-line-second .elementor-container {
    padding: 4px 32px 22px;
}

.header-line-second .elementor-widget-ajax-search {
    max-width: 620px;
}

.header-line-second .elementor-search__container {
    display: flex;
    align-items: stretch;
    background: #f7f8f9;
    border: 1px solid var(--ps-border-strong);
    border-radius: 4px;
    overflow: hidden;
}

.header-line-second .elementor-search__input {
    flex: 1;
    border: 0;
    background: transparent;
    padding: 13px 18px;
    font-family: 'Barlow', sans-serif;
    font-size: 15px;
    color: var(--ps-ink);
}

.header-line-second .elementor-search__submit {
    border: 0;
    background: var(--ps-red);
    color: #fff;
    width: 56px;
    transition: background .2s ease;
}

.header-line-second .elementor-search__submit:hover {
    background: var(--ps-red-dark);
}

.header-cart-compare-shippingTime .elementor-widget-wrap {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: flex-end;
}

.header-cart-compare-shippingTime .elementor-widget-wrap>.elementor-element {
    flex: 0 0 auto;
    width: auto;
}

.header-cart-compare-shippingTime .elementor-widget-text-editor .elementor-text-editor p {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
    margin: 0;
}

.header-cart-compare-shippingTime a[href="#porownaj"] {
    font-family: 'Barlow', sans-serif;
    font-size: 14px;
    color: var(--ps-ink);
}

.header-cart-compare-shippingTime a[href="#porownaj"]:hover {
    color: var(--ps-red);
}

.header-cart-compare-shippingTime .elementor-cart__toggle a.elementor-button {
    display: flex;
    align-items: center;
    gap: 12px;
    height: auto;
    padding: 9px 16px;
    border: 1px solid var(--ps-red-border);
    border-radius: 4px;
    background: #fff;
    color: var(--ps-ink);
    font-family: 'Poppins', sans-serif;
    transition: background .2s ease, border-color .2s ease;
}

.header-cart-compare-shippingTime .elementor-cart__toggle a.elementor-button:hover {
    background: var(--ps-red-bg);
    border-color: var(--ps-red-border);
}

.header-cart-compare-shippingTime .elementor-cart__toggle .elementor-button-text {
    font-weight: 600;
    font-size: 14px;
    color: var(--ps-ink);
}

.header-cart-compare-shippingTime .elementor-cart__toggle .elementor-button-text::before {
    content: "Koszyk";
    display: block;
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 10px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--ps-muted);
    margin-bottom: 2px;
}

.header-cart-compare-shippingTime .elementor-button-icon {
    color: var(--ps-ink);
}

.header-cart-compare-shippingTime .elementor-button-icon[data-counter]::before,
.header-cart-compare-shippingTime .elementor-button-icon[data-counter]::after {
    background: var(--ps-red) !important;
    color: #fff !important;
}

/* ---------- Row 3: dark navigation bar (mega menu) ---------- */

.header-line-third {
    background: linear-gradient(180deg, #2b1e21 0%, #211a1c 55%, #1c1416 100%);
    border-bottom: 2px solid rgba(200, 16, 31, .45);
}

.header-line-third .elementor-container {
    padding: 0 32px;
}

.header-line-third .elementor-column-wrap,
.header-line-third .elementor-widget-container,
.container_tv_megamenu,
.tv-menu-horizontal,
.menu-content {
    background: transparent !important;
}

.header-line-third .tvmega-menu-title {
    display: none;
}

#tv-menu-horizontal {
    .menu-content {
        text-align: left;

    }
}

#header .container_tv_megamenu #tv-menu-horizontal.tv-menu-horizontal ul li.level-1>a {
    line-height: 100% !important;
}

/* nth-child(1) is the hidden .tvmega-menu-title span, nth-child(2) is the
   text-less home-icon item — neither exists in the reference nav. */
.menu-content>li.level-1:nth-child(2) {
    display: none;
}

.menu-content>li.level-1>a {
    display: flex;
    align-items: center;
    height: auto;
    padding: 0 18px;
    font-family: 'Poppins', sans-serif;
    font-size: 13.5px;
    font-weight: 400;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .72);
    transition: color .2s ease, border-color .2s ease;
    line-height: 38px;
}

.menu-content>li.level-1:hover>a,
.menu-content>li.level-1>a:hover {
    color: #fff;

    &::after {
        color: #fff !important;
    }

    span {
        color: #fff !important;
    }
}

.menu-content>li.level-1 .icon-drop-mobile {
    color: rgba(255, 255, 255, .6);
}

.ps-navbar+.elementor-column {
    display: flex;
    justify-content: flex-end;
}

.ps-navbar+.elementor-column .elementor-widget-text-editor .elementor-text-editor {
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .6);
}

/* ==========================================================================
   Desktop Sticky Header (.header-line-third) (> 880px)
   ========================================================================== */
@media (min-width: 881px) {
    .header-line-third.ps-is-sticky {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        z-index: 1000 !important;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35) !important;
        background: linear-gradient(180deg, #2b1e21 0%, #211a1c 55%, #1c1416 100%) !important;
        transition: box-shadow 0.3s ease;
    }

    #ps-sticky-spacer {
        display: none;
        width: 100%;
    }

    .header-line-third.ps-is-sticky+#ps-sticky-spacer {
        display: block !important;
    }

    /* Ukrycie informacji o doradztwie technicznym w trybie sticky */
    .header-line-third.ps-is-sticky .elementor-element-35a4eda .elementor-widget-container>span,
    .header-line-third.ps-is-sticky .elementor-element-35a4eda .elementor-text-editor,
    .header-line-third.ps-is-sticky .ps-navbar+.elementor-column .elementor-widget-text-editor .elementor-text-editor {
        display: none !important;
    }

    /* Kontener dla akcji po prawej stronie (Szukaj + Koszyk) */
    .ps-sticky-nav-actions {
        display: none;
        align-items: center;
        gap: 12px;
        margin-left: auto;
    }

    .header-line-third.ps-is-sticky .ps-sticky-nav-actions {
        display: flex !important;
    }

    /* Stylizacja przycisków w belce sticky */
    .ps-sticky-btn {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        background: rgba(255, 255, 255, 0.1);
        color: #fff !important;
        border: 1px solid rgba(255, 255, 255, 0.2);
        border-radius: 4px;
        padding: 6px 14px;
        font-family: 'Poppins', sans-serif;
        font-size: 13px;
        font-weight: 500;
        cursor: pointer;
        transition: background 0.2s ease, border-color 0.2s ease;
        text-decoration: none !important;
        white-space: nowrap;
        line-height: 1.4;
    }

    .ps-sticky-btn:hover {
        background: rgba(255, 255, 255, 0.2);
        border-color: rgba(255, 255, 255, 0.4);
        color: #fff !important;
    }

    .ps-sticky-cart-btn {
        background: var(--ps-red, #c8101f) !important;
        border-color: var(--ps-red, #c8101f) !important;
        font-weight: 600;
    }

    .ps-sticky-cart-btn:hover {
        background: var(--ps-red-dark, #a00d19) !important;
        border-color: var(--ps-red-dark, #a00d19) !important;
    }

    .ps-sticky-cart-badge {
        background: #fff;
        color: var(--ps-red, #c8101f);
        font-size: 11px;
        font-weight: 700;
        border-radius: 10px;
        padding: 1px 7px;
        min-width: 18px;
        text-align: center;
        line-height: 1.3;
    }

    .ps-sticky-cart-sum {
        font-size: 13px;
        font-weight: 600;
    }

    /* Wyszukiwarka rozwijana pod belką sticky */
    .ps-sticky-search-dropdown {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        width: 100%;
        background: #1c1416;
        border-bottom: 3px solid var(--ps-red, #c8101f);
        box-shadow: 0 8px 20px rgba(0, 0, 0, 0.5);
        padding: 12px 24px;
        display: none;
        z-index: 999;
    }

    .ps-sticky-search-dropdown.open {
        display: block !important;
        animation: psFadeInDown 0.2s ease-out;
    }

    @keyframes psFadeInDown {
        from {
            opacity: 0;
            transform: translateY(-8px);
        }

        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    .ps-sticky-search-dropdown form {
        display: flex;
        max-width: 700px;
        margin: 0 auto;
        gap: 10px;
    }

    .ps-sticky-search-dropdown input {
        flex: 1;
        padding: 9px 16px;
        border: 1px solid rgba(255, 255, 255, 0.2);
        border-radius: 4px;
        background: #2b1e21;
        color: #fff;
        font-family: 'Barlow', sans-serif;
        font-size: 14px;
        outline: none;
        transition: border-color 0.2s ease;
    }

    .ps-sticky-search-dropdown input:focus {
        border-color: var(--ps-red, #c8101f);
    }

    .ps-sticky-search-dropdown button {
        background: var(--ps-red, #c8101f);
        color: #fff;
        border: none;
        padding: 9px 20px;
        border-radius: 4px;
        cursor: pointer;
        font-family: 'Poppins', sans-serif;
        font-size: 13px;
        font-weight: 600;
        display: flex;
        align-items: center;
        gap: 6px;
        transition: background 0.2s ease;
    }

    .ps-sticky-search-dropdown button:hover {
        background: var(--ps-red-dark, #a00d19);
    }
}

/* ==========================================================================
   Mobile Header & Light Off-Canvas Drawer Navigation (<= 880px)
   ========================================================================== */

#ps-mobile-header-actions,
.ps-mobile-actions,
#ps-mobile-drawer,
#ps-drawer-backdrop,
#ps-mobile-bottom-bar,
#ps-mobile-search-overlay {
    display: none;
}

@media (max-width: 880px) {

    body.ps-drawer-locked {
        overflow: hidden !important;
        touch-action: none !important;
    }

    /* 1. Ukrycie elementów czysto desktopowych */
    .ps-desktop-row,
    .header-login-register,
    .header-cart-compare-shippingTime,
    .header-line-first .elementor-widget-text-editor,
    .header-line-first .elementor-element-7350de5,
    .header-line-first .elementor-element-e416624,
    .header-line-second .header-cart-compare-shippingTime,
    .header-line-second .elementor-element-2b0c1d1,
    .ps-navbar+.elementor-column,
    .header-line-third {
        display: none !important;
    }

    /* 2. Górny pasek nagłówka - Perfekcyjne wyrównanie, wysokość i symetria */
    #header {
        position: relative !important;
        z-index: 100 !important;
        background: #ffffff !important;
        border-bottom: 1px solid #eef0f3 !important;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04) !important;
        height: auto !important;
        min-height: 0 !important;
        overflow: visible !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    #header::before {
        content: '' !important;
        display: block !important;
        height: 3px !important;
        background: #c8101f !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Twardy reset wszelkich ujemnych marginesów, stałych wysokości i overflow z Creative Elements */
    #header,
    #header .elementor,
    #header .elementor-section-wrap,
    #header .elementor-section,
    #header .elementor-top-section,
    #header .elementor-inner-section,
    #header .elementor-column,
    #header .elementor-top-column,
    #header .elementor-inner-column,
    #header .elementor-column-wrap,
    #header .elementor-widget-wrap,
    #header .elementor-widget,
    #header .elementor-widget-container,
    .header-line-first,
    .header-line-second,
    .header-line-third {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        top: 0 !important;
        height: auto !important;
        min-height: 0 !important;
        overflow: visible !important;
    }

    /* Równe marginesy boczne - zerujemy podwójny padding kontenerów Elementora */
    #header .elementor-section.elementor-section-boxed>.elementor-container,
    #header .elementor-container,
    #header .elementor-top-section>.elementor-container {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    #header .elementor-row {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }

    /* Wiersz 1: Logo i Przyciski (Koszyk + Hamburger) */
    .header-line-first {
        background: #ffffff !important;
        border: none !important;
        padding: 14px 16px 8px !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    .header-line-first .elementor-row {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        flex-wrap: nowrap !important;
    }

    .header-line-first .logo-column,
    .header-line-first .elementor-column.logo-column {
        display: flex !important;
        align-items: center !important;
        width: auto !important;
        max-width: 55% !important;
        flex: 0 1 auto !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .shop-logo,
    .shop-logo .elementor-image,
    .shop-logo .elementor-image a {
        display: flex !important;
        align-items: center !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .shop-logo .elementor-image img {
        height: 38px !important;
        width: auto !important;
        max-width: 155px !important;
        object-fit: contain !important;
        display: block !important;
        margin: 0 !important;
    }

    /* Przyciski mobilne: Koszyk i Hamburger */
    #ps-mobile-header-actions,
    .ps-mobile-actions {
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        margin: 0 0 0 auto !important;
        padding: 0 !important;
        flex-shrink: 0 !important;
    }

    .ps-mobile-cart {
        position: relative !important;
        width: 40px !important;
        height: 40px !important;
        border: 1px solid #dce0e5 !important;
        border-radius: 8px !important;
        background: #ffffff !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        cursor: pointer !important;
        padding: 0 !important;
        text-decoration: none !important;
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
        margin: 0 !important;
        box-sizing: border-box !important;
        transition: border-color 0.2s ease, background-color 0.2s ease !important;
    }

    .ps-mobile-cart:active {
        background-color: #fdeceb !important;
        border-color: #e0b8ba !important;
    }

    .ps-mobile-cart .ps-cart-count {
        position: absolute !important;
        top: -6px !important;
        right: -6px !important;
        background: #c8101f !important;
        color: #ffffff !important;
        font-family: 'Poppins', sans-serif !important;
        font-size: 10px !important;
        font-weight: 700 !important;
        width: 18px !important;
        height: 18px !important;
        border-radius: 50% !important;
        box-shadow: 0 0 0 2px #ffffff !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        line-height: 1 !important;
    }

    .ps-hamburger {
        width: 40px !important;
        height: 40px !important;
        border: 1px solid #dce0e5 !important;
        border-radius: 8px !important;
        background: #ffffff !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        cursor: pointer !important;
        padding: 0 !important;
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
        margin: 0 !important;
        box-sizing: border-box !important;
        transition: background-color 0.2s ease, border-color 0.2s ease !important;
    }

    .ps-hamburger:active {
        background: #f7f8f9 !important;
    }

    /* Wiersz 2: Wyszukiwarka mobilna */
    .header-line-second {
        background: #ffffff !important;
        border: none !important;
        padding-top: 4px !important;
        padding-bottom: 14px !important;
        margin: 0 !important;
    }

    .header-line-second .elementor-widget-ajax-search {
        max-width: 100% !important;
        width: 100% !important;
        margin: 0 !important;
    }

    .header-line-second .elementor-search__container {
        border-radius: 8px !important;
        border: 1px solid #dce0e5 !important;
        background: #f8f9fa !important;
        height: 42px !important;
        display: flex !important;
        align-items: stretch !important;
        overflow: hidden !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    .header-line-second .elementor-search__input {
        padding: 0 14px !important;
        font-size: 13.5px !important;
        color: #24282d !important;
        background: transparent !important;
        border: none !important;
        height: 100% !important;
        box-sizing: border-box !important;
    }

    .header-line-second .elementor-search__submit {
        width: 46px !important;
        background: #c8101f !important;
        color: #ffffff !important;
        border: none !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 !important;
        border-radius: 0 7px 7px 0 !important;
    }

    /* ==========================================================================
       4. Jasny Off-Canvas Drawer (Design-Taste-Frontend Polish)
       ========================================================================== */
    #ps-drawer-backdrop,
    .ps-drawer-backdrop {
        display: block !important;
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        background: rgba(15, 23, 42, 0.6) !important;
        backdrop-filter: blur(5px) !important;
        -webkit-backdrop-filter: blur(5px) !important;
        z-index: 999998 !important;
        opacity: 0 !important;
        pointer-events: none !important;
        transition: opacity 0.28s cubic-bezier(0.16, 1, 0.3, 1) !important;
    }

    #ps-drawer-backdrop.is-active,
    .ps-drawer-backdrop.is-active {
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    #ps-mobile-drawer,
    .ps-mobile-drawer {
        display: flex !important;
        flex-direction: column !important;
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        bottom: 0 !important;
        width: 86% !important;
        max-width: 340px !important;
        height: 100% !important;
        height: 100vh !important;
        height: 100dvh !important;
        background: #ffffff !important;
        color: #0f172a !important;
        z-index: 999999 !important;
        box-shadow: 10px 0 35px rgba(15, 23, 42, 0.15) !important;
        border-right: 1px solid rgba(0, 0, 0, 0.06) !important;
        transform: translateX(-100%) !important;
        transition: transform 0.32s cubic-bezier(0.16, 1, 0.3, 1) !important;
        overflow: hidden !important;
    }

    #ps-mobile-drawer.is-open,
    .ps-mobile-drawer.is-open {
        transform: translateX(0) !important;
    }

    /* Nagłówek Draweru */
    .ps-drawer-header {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 16px 18px !important;
        border-bottom: 1px solid #f1f5f9 !important;
        background: #ffffff !important;
        flex-shrink: 0 !important;
    }

    .ps-drawer-logo {
        height: 32px !important;
        width: auto !important;
        max-width: 140px !important;
        object-fit: contain !important;
        display: block !important;
    }

    .ps-drawer-close {
        width: 36px !important;
        height: 36px !important;
        border: 1px solid #e2e8f0 !important;
        border-radius: 8px !important;
        background: #f8fafc !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        cursor: pointer !important;
        padding: 0 !important;
        color: #475569 !important;
        transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease, transform 0.15s ease !important;
    }

    .ps-drawer-close:active {
        background-color: #fef2f2 !important;
        color: #c8101f !important;
        border-color: #fecaca !important;
        transform: scale(0.92) !important;
    }

    /* Ciało Draweru */
    .ps-drawer-body {
        flex: 1 !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        padding: 8px 0 24px !important;
    }

    /* Lista pozycji */
    .ps-drawer-nav {
        list-style: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .ps-drawer-item {
        border-bottom: 1px solid #f1f5f9 !important;
    }

    .ps-drawer-item:last-child {
        border-bottom: none !important;
    }

    .ps-drawer-link-row {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 0 16px !important;
        min-height: 48px !important;
        transition: background-color 0.15s ease !important;
    }

    .ps-drawer-link-row:active {
        background-color: #f8fafc !important;
    }

    .ps-drawer-link {
        font-family: 'Poppins', sans-serif !important;
        font-size: 14.5px !important;
        font-weight: 600 !important;
        color: #1e293b !important;
        text-decoration: none !important;
        flex: 1 !important;
        padding: 13px 0 !important;
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        letter-spacing: -0.01em !important;
    }

    .ps-drawer-link.is-featured {
        color: #c8101f !important;
    }

    .ps-drawer-toggle-btn {
        width: 36px !important;
        height: 36px !important;
        border: none !important;
        background: transparent !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        cursor: pointer !important;
        padding: 0 !important;
        color: #94a3b8 !important;
        transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), color 0.15s ease !important;
    }

    .ps-drawer-item.is-open>.ps-drawer-link-row .ps-drawer-toggle-btn {
        transform: rotate(180deg) !important;
        color: #c8101f !important;
    }

    /* Podmenu (Poziom 1) */
    .ps-drawer-submenu {
        display: none;
        background: #f8fafc !important;
        border-top: 1px solid #f1f5f9 !important;
        border-bottom: 1px solid #f1f5f9 !important;
        padding: 4px 0 !important;
    }

    .ps-drawer-sub-item {
        border-bottom: 1px solid #f1f5f9 !important;
    }

    .ps-drawer-sub-item:last-child {
        border-bottom: none !important;
    }

    .ps-drawer-sub-row {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 0 16px 0 24px !important;
        min-height: 42px !important;
    }

    .ps-drawer-sub-link {
        font-family: 'Poppins', sans-serif !important;
        font-size: 13.5px !important;
        font-weight: 500 !important;
        color: #334155 !important;
        text-decoration: none !important;
        flex: 1 !important;
        padding: 10px 0 !important;
    }

    .ps-drawer-sub-toggle {
        width: 32px !important;
        height: 32px !important;
        border: none !important;
        background: transparent !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        cursor: pointer !important;
        padding: 0 !important;
        color: #94a3b8 !important;
        transition: transform 0.22s cubic-bezier(0.16, 1, 0.3, 1), color 0.15s ease !important;
    }

    .ps-drawer-sub-item.is-sub-open>.ps-drawer-sub-row .ps-drawer-sub-toggle {
        transform: rotate(180deg) !important;
        color: #c8101f !important;
    }

    /* Podkategorie (Poziom 2) */
    .ps-drawer-nested-menu {
        display: none;
        background: #ffffff !important;
        padding: 6px 0 8px 16px !important;
        border-left: 2.5px solid #c8101f !important;
        margin: 0 16px 8px 24px !important;
        border-radius: 0 6px 6px 0 !important;
    }

    .ps-drawer-nested-link {
        font-family: 'Barlow', sans-serif !important;
        font-size: 13.5px !important;
        font-weight: 500 !important;
        color: #64748b !important;
        text-decoration: none !important;
        display: flex !important;
        align-items: center !important;
        gap: 6px !important;
        padding: 6px 0 !important;
        transition: color 0.15s ease, transform 0.15s ease !important;
    }

    .ps-drawer-nested-link::before {
        content: '•' !important;
        color: #cbd5e1 !important;
        font-size: 12px !important;
    }

    .ps-drawer-nested-link:hover,
    .ps-drawer-nested-link:active {
        color: #c8101f !important;
        transform: translateX(3px) !important;
    }

    .ps-drawer-nested-link:hover::before,
    .ps-drawer-nested-link:active::before {
        color: #c8101f !important;
    }

    /* Siatka producentów i marek (Producenci) */
    .ps-drawer-brands-grid {
        display: none;
        background: #f8fafc !important;
        border-top: 1px solid #f1f5f9 !important;
        border-bottom: 1px solid #f1f5f9 !important;
        padding: 12px 14px !important;
    }

    .ps-drawer-brands-list {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 8px !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }

    .ps-drawer-brand-card {
        background: #ffffff !important;
        border: 1px solid #e2e8f0 !important;
        border-radius: 8px !important;
        padding: 10px 8px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        text-decoration: none !important;
        min-height: 64px !important;
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03) !important;
        transition: border-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease !important;
        box-sizing: border-box !important;
    }

    .ps-drawer-brand-card:active {
        border-color: #c8101f !important;
        transform: scale(0.97) !important;
    }

    .ps-drawer-brand-card img {
        max-height: 28px !important;
        width: auto !important;
        max-width: 90% !important;
        object-fit: contain !important;
        display: block !important;
    }

    .ps-drawer-brand-name {
        font-family: 'Poppins', sans-serif !important;
        font-size: 11px !important;
        font-weight: 600 !important;
        color: #475569 !important;
        margin-top: 5px !important;
        text-align: center !important;
        line-height: 1.2 !important;
    }

    .ps-drawer-brands-all {
        display: block !important;
        text-align: center !important;
        margin-top: 10px !important;
        padding: 9px 12px !important;
        background: #ffffff !important;
        border: 1px dashed #cbd5e1 !important;
        border-radius: 6px !important;
        font-family: 'Poppins', sans-serif !important;
        font-size: 12.5px !important;
        font-weight: 600 !important;
        color: #c8101f !important;
        text-decoration: none !important;
        transition: background-color 0.15s ease, border-color 0.15s ease !important;
    }

    .ps-drawer-brands-all:active {
        background: #fef2f2 !important;
        border-color: #fecaca !important;
    }

    /* Dolny panel użytkownika i kontakt w Drawerze */
    .ps-drawer-footer {
        margin: 18px 16px 0 !important;
        padding-top: 16px !important;
        border-top: 1px solid #f1f5f9 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
    }

    .ps-btn-drawer-acc {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        height: 44px !important;
        background: #fef2f2 !important;
        border: 1px solid #fecaca !important;
        border-radius: 8px !important;
        color: #b91c1c !important;
        font-family: 'Poppins', sans-serif !important;
        font-size: 13.5px !important;
        font-weight: 600 !important;
        text-decoration: none !important;
        transition: background-color 0.15s ease, transform 0.15s ease !important;
    }

    .ps-btn-drawer-acc:active {
        background-color: #fee2e2 !important;
        transform: scale(0.98) !important;
    }

    .ps-drawer-account.is-logged {
        display: flex !important;
        gap: 8px !important;
        align-items: stretch !important;
    }

    .ps-drawer-account.is-logged .ps-btn-drawer-acc {
        flex: 1 !important;
        padding: 0 10px !important;
    }

    .ps-btn-drawer-logout {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 6px !important;
        padding: 0 14px !important;
        height: 44px !important;
        background: #f8fafc !important;
        border: 1px solid #e2e8f0 !important;
        border-radius: 8px !important;
        color: #475569 !important;
        font-family: 'Poppins', sans-serif !important;
        font-size: 12.5px !important;
        font-weight: 500 !important;
        text-decoration: none !important;
        white-space: nowrap !important;
        transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease !important;
    }

    .ps-btn-drawer-logout:active {
        background-color: #fee2e2 !important;
        border-color: #fecaca !important;
        color: #b91c1c !important;
        transform: scale(0.98) !important;
    }

    .ps-btn-drawer-logout svg {
        transition: stroke 0.15s ease !important;
    }

    .ps-btn-drawer-logout:active svg {
        stroke: #b91c1c !important;
    }

    .ps-drawer-contact {
        background: #f8fafc !important;
        border: 1px solid #e2e8f0 !important;
        border-radius: 8px !important;
        padding: 12px 14px !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
    }

    .ps-drawer-phone {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        font-family: 'Poppins', sans-serif !important;
        font-size: 14px !important;
        color: #0f172a !important;
        text-decoration: none !important;
    }

    .ps-drawer-phone strong {
        color: #0f172a !important;
        font-weight: 700 !important;
    }

    .ps-drawer-email {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        font-family: 'Barlow', sans-serif !important;
        font-size: 13.5px !important;
        color: #64748b !important;
        text-decoration: none !important;
    }

    .ps-drawer-hours {
        font-size: 12px !important;
        color: #475569 !important;
        font-weight: 500 !important;
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        margin-top: 4px !important;
    }

    .ps-status-dot {
        width: 7px !important;
        height: 7px !important;
        background: #10b981 !important;
        border-radius: 50% !important;
        display: inline-block !important;
        box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.2) !important;
        animation: psPulseGreen 2.4s infinite ease-in-out !important;
        flex-shrink: 0 !important;
    }

    /* ==========================================================================
       Mobile Bottom Sticky Navigation Bar (<= 880px)
       ========================================================================== */
    #ps-mobile-bottom-bar {
        position: fixed !important;
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        z-index: 9990 !important;
        background: rgba(255, 255, 255, 0.96) !important;
        backdrop-filter: blur(12px) !important;
        -webkit-backdrop-filter: blur(12px) !important;
        border-top: 1px solid rgba(226, 232, 240, 0.9) !important;
        box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.07) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-around !important;
        height: 60px !important;
        padding: 4px 10px calc(4px + env(safe-area-inset-bottom, 0px)) 10px !important;
        box-sizing: border-box !important;
        transform: translateY(110%);
        opacity: 0;
        pointer-events: none;
        transition: transform 0.32s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.32s ease !important;
    }

    #ps-mobile-bottom-bar.is-visible {
        transform: translateY(0) !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    /* Gdy na karcie produktu pojawia się przycisk "Dodaj do koszyka" (.product_sticky), dolny pasek chowa się */
    body:has(.product_sticky.ps-sticky-visible) #ps-mobile-bottom-bar {
        transform: translateY(110%) !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    .ps-mbar-item {
        flex: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 3px !important;
        height: 100% !important;
        min-height: 48px !important;
        background: transparent !important;
        border: none !important;
        padding: 0 !important;
        margin: 0 !important;
        color: #374151 !important;
        cursor: pointer !important;
        text-decoration: none !important;
        -webkit-tap-highlight-color: transparent !important;
        transition: color 0.15s ease, transform 0.15s ease !important;
    }

    .ps-mbar-item:active {
        color: var(--ps-red, #c8101f) !important;
        transform: scale(0.94) !important;
    }

    .ps-mbar-icon-wrap {
        position: relative !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 24px !important;
        height: 24px !important;
    }

    .ps-mbar-icon-wrap svg {
        width: 22px !important;
        height: 22px !important;
        stroke: currentColor !important;
        stroke-width: 2 !important;
        stroke-linecap: round !important;
        stroke-linejoin: round !important;
        fill: none !important;
        transition: stroke 0.15s ease !important;
    }

    .ps-mbar-label {
        font-family: 'Poppins', sans-serif !important;
        font-size: 11px !important;
        font-weight: 500 !important;
        line-height: 1 !important;
        letter-spacing: 0.01em !important;
        color: inherit !important;
    }

    .ps-mbar-cart-badge {
        position: absolute !important;
        top: -5px !important;
        right: -8px !important;
        background: var(--ps-red, #c8101f) !important;
        color: #ffffff !important;
        font-family: 'Poppins', sans-serif !important;
        font-size: 10px !important;
        font-weight: 700 !important;
        min-width: 17px !important;
        height: 17px !important;
        border-radius: 9px !important;
        padding: 0 4px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-shadow: 0 0 0 2px #ffffff !important;
        line-height: 1 !important;
        box-sizing: border-box !important;
    }

    /* Modal / Overlay wyszukiwarki dla mobile */
    #ps-mobile-search-overlay {
        position: fixed !important;
        inset: 0 !important;
        z-index: 100000 !important;
        background: rgba(15, 23, 42, 0.65) !important;
        backdrop-filter: blur(4px) !important;
        -webkit-backdrop-filter: blur(4px) !important;
        display: none;
        align-items: flex-start !important;
        justify-content: center !important;
        opacity: 0;
        transition: opacity 0.25s ease !important;
    }

    #ps-mobile-search-overlay.is-open {
        display: flex !important;
        opacity: 1 !important;
    }

    .ps-mobile-search-sheet {
        width: 100% !important;
        background: #ffffff !important;
        border-radius: 0 0 20px 20px !important;
        padding: 16px 18px 22px !important;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2) !important;
        transform: translateY(-20px);
        transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
        box-sizing: border-box !important;
    }

    #ps-mobile-search-overlay.is-open .ps-mobile-search-sheet {
        transform: translateY(0) !important;
    }

    .ps-mobile-search-top {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        margin-bottom: 14px !important;
    }

    .ps-mobile-search-title {
        font-family: 'Poppins', sans-serif !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        color: #1e293b !important;
        margin: 0 !important;
    }

    .ps-mobile-search-close {
        background: #f1f5f9 !important;
        border: none !important;
        width: 34px !important;
        height: 34px !important;
        border-radius: 50% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        color: #64748b !important;
        cursor: pointer !important;
        padding: 0 !important;
        transition: background-color 0.15s ease, color 0.15s ease !important;
    }

    .ps-mobile-search-close:active {
        background: #e2e8f0 !important;
        color: #1e293b !important;
    }

    .ps-mobile-search-form {
        display: flex !important;
        gap: 10px !important;
    }

    .ps-mobile-search-form input[type="search"] {
        flex: 1 !important;
        padding: 12px 14px !important;
        background: #f8fafc !important;
        border: 1.5px solid #cbd5e1 !important;
        border-radius: 10px !important;
        font-family: 'Barlow', sans-serif !important;
        font-size: 14px !important;
        color: #1e293b !important;
        outline: none !important;
        transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
        box-sizing: border-box !important;
    }

    .ps-mobile-search-form input[type="search"]:focus {
        border-color: var(--ps-red, #c8101f) !important;
        box-shadow: 0 0 0 3px rgba(200, 16, 31, 0.15) !important;
        background: #ffffff !important;
    }

    .ps-mobile-search-form button[type="submit"] {
        background: var(--ps-red, #c8101f) !important;
        color: #ffffff !important;
        border: none !important;
        border-radius: 10px !important;
        padding: 0 18px !important;
        font-family: 'Poppins', sans-serif !important;
        font-size: 13.5px !important;
        font-weight: 600 !important;
        cursor: pointer !important;
        transition: background-color 0.2s ease !important;
        white-space: nowrap !important;
    }

    .ps-mobile-search-form button[type="submit"]:active {
        background: var(--ps-red-dark, #a00d19) !important;
    }
}

@keyframes psPulseGreen {
    0% {
        box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.4);
    }

    70% {
        box-shadow: 0 0 0 5px rgba(16, 185, 129, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(16, 185, 129, 0);
    }
}



/* ==========================================================================
   Category Page — "Modernizacja strony produktowej" (Strona kategorii.html)
   ========================================================================== */

/* ---------- Global Category Resets & Variables ---------- */
body#category,
body#category #wrapper {
    background: #ffffff;
    font-family: 'Barlow', Helvetica, Arial, sans-serif;
    color: #24282d;
    -webkit-font-smoothing: antialiased;
}

body#category #wrapper .container {
    max-width: 1360px;
    margin: 0 auto;
    padding-left: 32px;
    padding-right: 32px;
}

body#category a {
    color: var(--ps-red);
    text-decoration: none;
    transition: color .2s ease;
}

body#category a:hover {
    color: var(--ps-red-dark);
}

::selection {
    background: #ffd9dc;
}

input:focus,
select:focus {
    outline: 2px solid var(--ps-red);
    outline-offset: -2px;
}

.hoverable:hover {
    border-color: var(--ps-red) !important;
}

.card-hover:hover {
    border-color: #c8d0d8 !important;
    box-shadow: 0 8px 20px -12px rgba(36, 40, 45, .18);
}

@keyframes ps-view-in {
    from {
        opacity: 0;
        transform: translateY(4px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes ps-breathe {

    0%,
    100% {
        transform: scale(1);
        opacity: 1;
    }

    50% {
        transform: scale(1.3);
        opacity: .6;
    }
}

.ps-status-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #1c8a4a;
    display: inline-block;
    animation: ps-breathe 2.4s ease-in-out infinite;
}

/* ---------- Breadcrumbs ---------- */
.ps-breadcrumb {
    background: #fffaf9;
    border-bottom: 1px solid #f3e4e2;
    padding: 14px 0;
    margin-bottom: 0;
    font-size: 13px;
    color: #6b7178;
}

.ps-breadcrumb .container ol {
    display: flex;
    align-items: center;
    gap: 10px;
    list-style: none;
    margin: 0;
    padding: 0;
    flex-wrap: wrap;
}

.ps-breadcrumb li::after,
.ps-breadcrumb li::before,
.breadcrumb li::after,
.breadcrumb li::before,
.breadcrumb-item::before,
.breadcrumb-item::after {
    content: none !important;
}

.ps-breadcrumb a {
    color: #6b7178;
}

.ps-breadcrumb a:hover {
    color: var(--ps-red);
}

.ps-breadcrumb .breadcrumb-separator {
    color: #6b7178;
    user-select: none;
}

.ps-breadcrumb .current-item {
    color: #24282d;
    font-weight: 500;
}

/* Hide default theme category hero/title if present */
#hero_section,
.category-cover,
#category #left-column .block-category {
    display: none !important;
}

/* ---------- Category Header ---------- */
.ps-category-header-wrap {
    padding: 36px 0 0;
}

.ps-category-header {
    border: 0;
    padding: 0;
    margin: 0;
    background: transparent;
}

.ps-category-title-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 32px;
    flex-wrap: wrap;
}

.ps-category-title {
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 32px;
    line-height: 1.18;
    letter-spacing: -0.02em;
    margin: 0;
    color: #24282d;
}

.ps-shipping-pill {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 10px 16px;
    background: #fdeceb;
    border-radius: 4px;
}

.ps-shipping-text {
    font-size: 13.5px;
    color: #24282d;
    font-weight: 500;
}

.ps-category-description {
    margin: 12px 0 0;
    font-size: 15.5px;
    line-height: 1.65;
    color: #5a6068;

}

/* ---------- Subcategories Section ---------- */
.ps-subcategories-section {
    margin-top: 24px;
}

.ps-subcats-toggle {
    display: flex;
    align-items: center;
    gap: 8px;
    border: 0;
    background: none;
    padding: 0;
    cursor: pointer;
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #6b7178;
    transition: color .2s ease;
}

.ps-subcats-toggle:hover {
    color: var(--ps-red);
}

#subcatsArrow {
    transition: transform .3s ease;
}

.ps-subcats-panel {
    margin-top: 14px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr));
    gap: 14px;
}

.ps-subcat-tile {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    text-align: center;
    border: 1px solid #eceef1;
    border-radius: 6px;
    padding: 20px 14px;
    color: #24282d;
    background: #fff;
    text-decoration: none;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.ps-subcat-tile:hover {
    border-color: var(--ps-red) !important;
    color: #24282d;
}

.ps-subcat-img-wrap {
    width: 100%;
    aspect-ratio: 4 / 3;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
}

.ps-subcat-img-wrap img {
    max-width: 78%;
    max-height: 100%;
    object-fit: contain;
}

.ps-subcat-name {
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 13.5px;
    line-height: 1.3;
    color: #24282d;
}

/* ---------- 2-Column Layout (Sidebar & Main) ---------- */
@media (min-width: 992px) {
    body#category #wrapper .container>.row {
        margin-top: 36px;
        display: flex;
        flex-wrap: wrap;
        gap: 40px;
        align-items: flex-start;
    }

    body#category #left-column {
        flex: 0 0 260px;
        max-width: 260px;
        width: 260px;
        padding: 0;
        margin: 0;
    }

    body#category #content-wrapper.left-column {
        flex: 1 1 0;
        min-width: 0;
        max-width: none;
        width: auto;
        padding: 0;
        margin: 0;
    }
}

/* ---------- Faceted Search / Sidebar Cards ---------- */
.ps-search-filters {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.ps-facet-card {
    background: #fff;
    border: 1px solid #eceef1;
    border-radius: 6px;
    padding: 22px;
    margin-bottom: 0;
}

.ps-facet-title {
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #6b7178;
    margin-bottom: 12px;
}

.ps-facet-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.ps-facet-item {
    padding: 6px 0;
}

.ps-facet-label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    cursor: pointer;
    margin: 0;
    width: 100%;
    text-align: left;
}

.ps-custom-checkbox input[type="checkbox"],
.ps-custom-radio input[type="radio"] {
    width: 16px;
    height: 16px;
    accent-color: var(--ps-red);
    cursor: pointer;
    flex: 0 0 auto;
}

.ps-facet-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    flex: 1;
    text-decoration: none;
    color: #3c424a;
    font-size: 14px;
    line-height: 1.3;
}

.ps-facet-link:hover,
.ps-facet-label.active .ps-facet-link {
    color: var(--ps-red);
}

.ps-magnitude {
    font-size: 11.5px;
    color: #6b7178;
    margin-left: auto;
}

.ps-facet-dropdown .select-title {
    width: 100%;
    height: 42px;
    border: 1px solid #dfe2e6;
    border-radius: 4px;
    background: #f7f8f9;
    padding: 0 12px;
    font-family: 'Barlow', sans-serif;
    font-size: 14px;
    color: #24282d;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
}

.ps-clear-filters-wrap {
    padding-bottom: 4px;
}

.ps-clear-all-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13.5px;
    color: #6b7178;
    background: none;
    border: 0;
    padding: 4px 0;
    cursor: pointer;
    transition: color .2s ease;
}

.ps-clear-all-btn svg {
    transition: transform .5s cubic-bezier(.16, 1, .3, 1);
}

.ps-clear-all-btn:hover {
    color: var(--ps-red);
}

/* ---------- Facet Show More / Collapse Limiter (25 items) ---------- */
.ps-facet-more-wrap {
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px dashed #eceef1;
}

.ps-facet-more-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    background: #f7f8f9 !important;
    border: 1px solid #dfe2e6 !important;
    border-radius: 4px !important;
    padding: 7px 12px !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    color: #24282d !important;
    cursor: pointer !important;
    transition: all .2s ease !important;
    text-align: left !important;
}

.ps-facet-more-btn:hover {
    background: #fdeceb !important;
    border-color: #f7a8a1 !important;
    color: #c8101f !important;
}

.ps-facet-more-btn i {
    font-size: 18px !important;
    color: inherit !important;
    line-height: 1 !important;
    transition: transform .2s ease !important;
}

.ps-facet-more-btn.is-expanded i {
    transform: rotate(180deg) !important;
}

.ps-facet-item-hidden {
    display: none;
}

/* Hide default themes leftover facet headers/footers and duplicate filters in main content */
#search_filters_wrapper .block-title,
#search_filters_wrapper .filter-close,
#content-wrapper #search_filters_wrapper,
#main #search_filters_wrapper,
.ps-category-header-wrap~#search_filters_wrapper,
#subcategories~#search_filters_wrapper {
    display: none !important;
}

/* ==========================================================================
   Sidebar Elements Unified Design System (#left-column)
   ========================================================================== */

/* Standardize all widget cards in left column */
#left-column .facet,
#left-column #search_filters_brands>section.facet,
#left-column #search_filters_brands>.facet,
#left-column .tvcmsblog-left-side .tvnews-event-wrapper,
#left-column .block-categories,
#left-column .links,
#left-column div:has(> .zastosowanie_lista),
#left-column div:has(> a[href*="shopmania"]) {
    background: #fff !important;
    border: 1px solid #eceef1 !important;
    border-radius: 6px !important;
    padding: 20px !important;
    margin-bottom: 14px !important;
    box-shadow: none !important;
    transition: border-color .2s ease, box-shadow .2s ease;
}

#left-column .facet:hover,
#left-column #search_filters_brands>section.facet:hover,
#left-column #search_filters_brands>.facet:hover,
#left-column .tvcmsblog-left-side .tvnews-event-wrapper:hover,
#left-column div:has(> .zastosowanie_lista):hover,
#left-column div:has(> a[href*="shopmania"]):hover {
    border-color: #d8dde3 !important;
}


#left-column .facet {
    .facet-dropdown {
        padding: 0px !important;
        margin: 0px !important;
        background: #fff !important;
        box-shadow: none !important;
        border: none !important;
    }
}

/* Remove extra inner borders/shadows from theme templates */
#left-column .tvall-block-box-shadows,
#left-column .obramowanie {
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 0 12px 0 !important;
}

/* Standardize Headings across all sidebar blocks */
#left-column .facet-label,
#left-column .ps-facet-title,
#left-column .title_block,
#left-column .tvleft-right-title,
#left-column #search_filters_brands .facet-label,
#left-column .obramowanie .facet-label {
    font-family: 'Poppins', sans-serif !important;
    font-size: 14.5px !important;
    font-weight: 600 !important;
    color: #24282d !important;
    text-transform: none !important;
    letter-spacing: -0.01em !important;
    margin: 0 0 14px 0 !important;
    padding: 0 !important;
    display: block !important;
    text-decoration: none !important;
}

#left-column .tvcategory-title-wrapper {
    margin-bottom: 0px !important;
}

#left-column .tvleft-right-title-wrapper {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 14px !important;
    padding: 0 !important;
    border: 0 !important;
}

#tvcmsdesktop-vertical-menu #tvverticalmenu .tvleft-right-title {
    margin-bottom: 0 !important;
}

#left-column .tvleft-right-title-toggle i {
    font-size: 20px;
    color: #6b7178;
    transition: transform .2s ease;
}

/* ---------- 0. Menu Kategorii w lewym sidebarze (tvcmsverticalmenu / block-categories) ---------- */


.tvcmsvertical-menu-wrapper,
#left-column .tvcmsvertical-menu-wrapper {
    background: #fff !important;
    border: 1px solid #eceef1 !important;
    border-radius: 6px !important;
    padding: 0 !important;
    margin-bottom: 14px !important;
    box-shadow: none !important;
    transition: border-color .2s ease, box-shadow .2s ease !important;
}

.tvcmsvertical-menu-wrapper:hover,
#left-column .tvcmsvertical-menu-wrapper:hover {
    border-color: #d8dde3 !important;
}

/* Header KATEGORIE: usunięcie żółtego tła, elegancki nagłówek Poppins */
.tvcategory-title-wrapper,
#left-column .tvcategory-title-wrapper {
    background: #fff !important;
    border-bottom: 1px solid #eceef1 !important;
    padding: 16px 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    position: relative !important;
}

.tvcategory-title-wrapper .tvleft-right-title,
.tvcategory-title-wrapper .tvleft-right-title span,
#left-column .tvcategory-title-wrapper .tvleft-right-title span {
    font-family: 'Poppins', sans-serif !important;
    font-size: 14.5px !important;
    font-weight: 600 !important;
    color: #24282d !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    margin: 0 !important;
    padding: 0 !important;
}

.tvcmsvertical-menu-wrapper .tvleft-right-title-toggle {
    position: static !important;
    width: auto !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
}

.tvcmsvertical-menu-wrapper .tvleft-right-title-toggle i {
    font-size: 20px !important;
    color: #6b7178 !important;
    line-height: 1 !important;
}

/* Usunięcie szarych/czerwonych kresek (border-left) z pozycji menu kategorii */
.tvcmsvertical-menu ul,
#tvverticalmenu>.tvcmsvertical-menu ul,
.tvvertical-menu-category-wrapper ul,
.tvverticalmenu-dropdown {
    padding: 8px 10px !important;
    margin: 0 !important;
    list-style: none !important;
}

.tvcmsvertical-menu li.level-1,
#left-column .tvcmsvertical-menu li.level-1,
.tvvertical-menu-show-hide-category .tvvertical-show-category,
.tvvertical-menu-show-hide-category .tvvertical-hide-category {
    border: 0 !important;
    border-left: none !important;
    border-top: none !important;
    border-bottom: none !important;
    border-right: none !important;
    padding: 9px 12px !important;
    margin: 2px 0 !important;
    border-radius: 4px !important;
    background: transparent !important;
    transition: all .15s ease !important;
}

.tvcmsvertical-menu li.level-1:before,
.tvcmsvertical-menu li.level-1:after,
.tvvertical-menu-show-hide-category .tvvertical-show-category:before,
.tvvertical-menu-show-hide-category .tvvertical-hide-category:before {
    display: none !important;
    content: none !important;
}

.tvcmsvertical-menu li.level-1:hover,
#left-column .tvcmsvertical-menu li.level-1:hover,
.tvvertical-menu-show-hide-category .tvvertical-show-category:hover,
.tvvertical-menu-show-hide-category .tvvertical-hide-category:hover {
    background-color: #fdeceb !important;
    border-left: none !important;
    border: 0 !important;
}

.tv-vertical-menu-text-wrapper .tvvertical-menu-category,
.tvvertical-menu-show-hide-category span,
#tvverticalmenu .tv-vertical-menu-text-wrapper a {
    font-family: 'Poppins', sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    color: #5a6068 !important;
    text-decoration: none !important;
    transition: color .15s ease !important;
}

.tvcmsvertical-menu li.level-1:hover>.tv-vertical-menu-text-wrapper .tvvertical-menu-category,
.tvcmsvertical-menu li.level-1:hover>.tv-vertical-menu-text-wrapper a,
.tvvertical-menu-show-hide-category:hover span {
    color: #c8101f !important;
}

.tvcmsvertical-menu li .tvvertical-menu-dropdown-icon,
.tvcmsvertical-menu li .tvvertical-menu-dropdown-icon1 {
    color: #a0a6ad !important;
    font-size: 16px !important;
    transition: color .15s ease, transform .15s ease !important;
}

.tvcmsvertical-menu li.level-1:hover .tvvertical-menu-dropdown-icon,
.tvcmsvertical-menu li.level-1:hover .tvvertical-menu-dropdown-icon1 {
    color: #c8101f !important;
    transform: translateX(2px) !important;
}

.tvvertical-menu-img-block {
    display: none !important;
}

/* ---------- 1. Producenci (ps_brandlist) - Pojedyncza czysta karta ---------- */
#search_filters {
    border: unset !important;
    margin-bottom: 0px !important;
}

#search_filters_brands,
#left-column #search_filters_brands {
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

#search_filters_brands>section.facet,
#search_filters_brands section.facet,
#search_filters_brands .facet {
    background: #fff !important;
    border: 1px solid #eceef1 !important;
    border-radius: 6px !important;
    padding: 20px !important;
    margin-bottom: 14px !important;
    box-shadow: none !important;
}

#search_filters_brands .brands-sort .select-title {
    width: 100% !important;
    height: 42px !important;
    border: 1px solid #dfe2e6 !important;
    border-radius: 4px !important;
    background: #f7f8f9 !important;
    padding: 0 14px !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    color: #24282d !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    cursor: pointer !important;
    transition: all .2s ease !important;
}

#search_filters_brands .brands-sort .select-title:hover {
    border-color: #c8101f !important;
    background: #fff !important;
}

#search_filters_brands .brands-sort .dropdown-menu {
    width: 100% !important;
    max-height: 260px !important;
    overflow-y: auto !important;
    border: 1px solid #eceef1 !important;
    border-radius: 6px !important;
    box-shadow: 0 12px 28px -8px rgba(36, 40, 45, .2) !important;
    padding: 6px 0 !important;
    margin-top: 4px !important;
    background: #fff !important;
}

#search_filters_brands .brands-sort .dropdown-menu a.select-list {
    display: block !important;
    padding: 8px 14px !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    color: #24282d !important;
    text-decoration: none !important;
    transition: background .15s ease, color .15s ease !important;
}

#search_filters_brands .brands-sort .dropdown-menu a.select-list:hover {
    background: #fdeceb !important;
    color: #c8101f !important;
}

/* ---------- 2. Pompy wg zastosowania (ets_htmlbox) ---------- */
.facet:has(.zastosowanie_lista),
div:has(> .zastosowanie_lista) {
    background: #fff !important;
    border: 1px solid #eceef1 !important;
    border-radius: 6px !important;
    padding: 20px !important;
    margin-bottom: 14px !important;
}

.zastosowanie_lista {
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}

.li_zastosowanie {
    padding: 0 !important;
    margin: 0 !important;
}

.li_zastosowanie a {
    font-family: 'Poppins', sans-serif !important;
    font-size: 13.5px !important;
    color: #5a6068 !important;
    text-decoration: none !important;
    display: flex !important;
    align-items: center !important;
    padding: 7px 10px !important;
    border-radius: 4px !important;
    transition: all .15s ease !important;
}

.li_zastosowanie a:hover {
    color: #c8101f !important;
    background: #fdeceb !important;
    padding-left: 14px !important;
}

/* ---------- 3. Shopmania Banner (ets_htmlbox) ---------- */
#left-column a[href*="shopmania"] {
    display: block;
}

#left-column div:has(> a[href*="shopmania"]) {
    width: 100% !important;
    background: #fff !important;
    border: 1px solid #eceef1 !important;
    border-radius: 6px !important;
    padding: 20px !important;
    margin: 0 0 14px 0 !important;
    text-align: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: none !important;
    transition: border-color .2s ease, box-shadow .2s ease;
}

#left-column div:has(> a[href*="shopmania"]):hover {
    border-color: #d8dde3 !important;
    box-shadow: 0 8px 20px -12px rgba(36, 40, 45, .18) !important;
}

#left-column a[href*="shopmania"] img {
    max-width: 130px !important;
    height: auto !important;
    display: block !important;
    margin: 0 auto !important;
    transition: transform .2s ease;
}

#left-column a[href*="shopmania"]:hover img {
    transform: scale(1.04);
}

/* ---------- 4. Zajrzyj na naszego bloga (tvcmsblogdisplayposts) ---------- */
.tvcmsblog-event.tvcmsblog-left-side {
    margin-bottom: 14px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.tvcmsblog-left-side .home_blog_post_area {
    padding: 0 !important;
    margin: 0 !important;
}

.tvcmsblog-left-side .tvnews-event-wrapper {
    background: #fff !important;
    border: 1px solid #eceef1 !important;
    border-radius: 6px !important;
    padding: 24px 20px !important;
    margin-bottom: 0 !important;
    box-shadow: none !important;
}

/* Header "ZAJRZYJ NA NASZEGO BLOGA" */
.tvcmsblog-left-side .tvleft-right-title-wrapper {
    margin-bottom: 22px !important;
    padding: 0 !important;
    border: 0 !important;
}

.tvcmsblog-left-side .tvleft-right-title,
.tvcmsblog-left-side .tvleft-right-title.facet-label {
    font-family: 'Poppins', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #5a6068 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    margin: 0 !important;
    padding: 0 !important;
}

.tvcmsblog-left-side .tvleft-right-title-toggle {
    display: none !important;
}

.tvcmsblog-left-side .tvblog-event-all-block {
    padding: 0 !important;
}

/* Lista wpisów blogowych identyczna ze zrzutem */
.ps-blog-sidebar-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ps-blog-sidebar-item {
    display: flex !important;
    align-items: flex-start !important;
    gap: 16px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
}

.ps-blog-date {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    text-align: center !important;
    width: 32px !important;
    min-width: 32px !important;
    flex: 0 0 32px !important;
    padding-top: 1px !important;
}

.ps-blog-day {
    font-family: 'Poppins', sans-serif !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #24282d !important;
    line-height: 1 !important;
    margin: 0 !important;
    display: block !important;
}

.ps-blog-month {
    font-size: 10.5px !important;
    font-weight: 600 !important;
    color: #8c939d !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    line-height: 1 !important;
    margin-top: 4px !important;
    display: block !important;
}

.ps-blog-content {
    flex: 1 1 auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ps-blog-title {
    font-family: 'Poppins', sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    line-height: 1.45 !important;
    color: #24282d !important;
    text-decoration: none !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    text-transform: none !important;
    white-space: normal !important;
    transition: color .15s ease !important;
}

.ps-blog-title:hover {
    color: #c8101f !important;
}

/* Fallback ukrywania starych elementów karuzeli i opisów */
.tvcmsblog-left-side .owl-nav,
.tvcmsblog-left-side .owl-dots,
.tvcmsblog-left-side .post_thumbnail,
.tvcmsblog-left-side .post_description,
.tvcmsblog-left-side .tvcms-blog-left-side-pagination-wrapper,
.tvcmsblog-left-side .tvnews-event-link {
    display: none !important;
}

/* ---------- 5. Price Slider (ps_facetedsearch) ---------- */
.faceted-slider,
.ps-facet-slider {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.ps-slider-values {
    font-size: 13.5px !important;
    font-weight: 500 !important;
    color: #24282d !important;
    margin: 0 0 14px 0 !important;
}

.ui-slider.ui-slider-horizontal,
.ps-ui-slider.ui-slider-horizontal {
    height: 5px !important;
    background: #e2e5e8 !important;
    border: 0 !important;
    border-radius: 3px !important;
    position: relative !important;
    margin: 10px 8px 6px !important;
}

.ui-slider-horizontal .ui-slider-range {
    background: var(--ps-red) !important;
    border-radius: 3px !important;
    height: 100% !important;
    position: absolute !important;
}

.ui-slider-horizontal .ui-slider-handle {
    width: 18px !important;
    height: 18px !important;
    border-radius: 50% !important;
    background: #fff !important;
    border: 2px solid var(--ps-red) !important;
    box-shadow: 0 2px 6px rgba(200, 16, 31, .25) !important;
    top: -6px !important;
    margin-left: -9px !important;
    cursor: pointer !important;
    outline: none !important;
    transition: transform .15s ease, box-shadow .15s ease !important;
}

.ui-slider-horizontal .ui-slider-handle:hover,
.ui-slider-horizontal .ui-slider-handle:active {
    transform: scale(1.15) !important;
    box-shadow: 0 3px 10px rgba(200, 16, 31, .4) !important;
}

/* ---------- Products Top Bar (Controls) ---------- */
.ps-products-top-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
    padding-bottom: 20px;
    border-bottom: 1px solid #eceef1;
    margin-bottom: 24px;
}

.ps-total-products-count {
    font-size: 14.5px;
    color: #6b7178;
}

.ps-total-products-count strong {
    color: #24282d;
    font-weight: 700;
}

.ps-controls-group {
    display: flex;
    align-items: center;
    gap: 12px;
}

.ps-mobile-filter-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    height: 40px;
    padding: 0 14px;
    border: 1px solid #dfe2e6;
    border-radius: 4px;
    background: #fff;
    color: #24282d;
    font-family: 'Poppins', sans-serif;
    font-size: 13.5px;
}

.ps-sort-dropdown-wrap {
    position: relative;
}

.ps-sort-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    height: 40px;
    padding: 0 14px;
    border: 1px solid #dfe2e6;
    border-radius: 4px;
    background: #fff;
    color: #24282d;
    font-family: 'Poppins', sans-serif;
    font-size: 13.5px;
    cursor: pointer;
    white-space: nowrap;
}

.ps-sort-prefix {
    color: #6b7178;
}

.ps-sort-current-label {
    font-weight: 500;
    color: #24282d;
}

.ps-sort-menu {
    width: 220px;
    background: #fff;
    border: 1px solid #eceef1;
    border-radius: 5px;
    box-shadow: 0 12px 28px -10px rgba(36, 40, 45, .25);
    overflow: hidden;
    padding: 0;
    margin-top: 6px;
}

.ps-sort-item {
    display: block;
    width: 100%;
    text-align: left;
    border: 0;
    background: #fff;
    color: #24282d;
    padding: 12px 16px;
    font-family: 'Poppins', sans-serif;
    font-size: 13.5px;
    font-weight: 500;
    cursor: pointer;
    text-decoration: none;
    transition: background .15s ease, color .15s ease;
}

.ps-sort-item:hover,
.ps-sort-item.active {
    background: #fdeceb;
    color: var(--ps-red);
}

.ps-view-switcher {
    display: flex;
    border: 1px solid #dfe2e6;
    border-radius: 4px;
    overflow: hidden;
}

.ps-view-btn {
    width: 38px;
    height: 40px;
    border: 0;
    background: #fff;
    color: #6b7178;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0;
    transition: background .15s ease, color .15s ease;
}

.ps-view-btn.active {
    background: #fdeceb;
    color: var(--ps-red);
}

.ps-view-list-btn {
    border-left: 1px solid #dfe2e6 !important;
}

/* ---------- Products Loop & Cards ---------- */
.ps-subcat-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f7f8f9;
}

.products.product-loop {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin: 0;
    padding: 0;
}

@media (max-width: 991px) and (min-width: 576px) {
    .products.product-loop {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 575px) {
    .products.product-loop {
        grid-template-columns: 1fr;
    }
}

.products.product-loop .product,
.product.product-grid-style-1,
.product.product-grid-style-2,
.product.product-grid-style-3,
.product.product-grid-style-4,
.ps-product-card-wrap {
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
}

.product-miniature.js-product-miniature,
.ps-product-card {
    position: relative;
    border: 1px solid #eceef1 !important;
    border-radius: 6px !important;
    overflow: hidden;
    color: #24282d;
    display: flex;
    flex-direction: column;
    height: 100%;
    background: #fff !important;
    box-shadow: none !important;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.product-miniature.js-product-miniature:hover,
.ps-product-card:hover {
    border-color: #c8d0d8 !important;
    box-shadow: 0 8px 20px -12px rgba(36, 40, 45, .18) !important;
}

.product-miniature .thumbnail-container {
    display: flex;
    flex-direction: column;
    height: 100%;
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
}

.product-miniature .thumbnail-top,
.ps-thumbnail-wrap {
    width: 100%;
    aspect-ratio: 4 / 3;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px;
    position: relative;
    background: #fff;
}

.product-miniature .thumbnail-top .product-thumbnail,
.ps-img-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
}

.product-miniature .thumbnail-top img,
.ps-product-img {
    max-width: 100%;
    max-height: 100%;
    width: auto !important;
    height: auto !important;
    object-fit: contain;
    transition: transform .3s ease;
}

.product-miniature:hover .thumbnail-top img,
.ps-product-card:hover .ps-product-img {
    transform: scale(1.03);
}

.product-miniature .product-flags,
.ps-product-flags {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 4px;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ps-product-rating {
    display: none !important;
}

.product-miniature .product-flags li,
.product-miniature .product-flags .product-flag,
.ps-product-badge {
    background: #24282d !important;
    color: #fff !important;
    font-family: 'Poppins', sans-serif;
    font-size: 10.5px !important;
    font-weight: 700 !important;
    letter-spacing: .06em;
    text-transform: uppercase;
    padding: 5px 9px !important;
    border-radius: 3px !important;
    display: inline-block;
    border: 0 !important;
    box-shadow: none !important;
}

.product-miniature .product-flags li.discount,
.product-miniature .product-flags li.on-sale,
.product-miniature .product-flags .product-flag.discount,
.product-miniature .product-flags .product-flag.on-sale,
.ps-product-badge.discount,
.ps-product-badge.on-sale {
    background: var(--ps-red) !important;
}

.product-miniature .product-description,
.ps-product-body {
    padding: 18px !important;
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
    background: #fff;
    margin: 0 !important;
    border: 0 !important;
}

.product-miniature .product-title,
.ps-product-title {
    font-size: 15px !important;
    line-height: 1.45 !important;
    font-weight: 500 !important;
    margin: 0 !important;
}

.product-miniature .product-title a,
.ps-product-title a {
    color: #24282d !important;
    text-decoration: none !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    transition: color .2s ease;
}

.product-miniature .product-title a:hover,
.ps-product-title a:hover {
    color: var(--ps-red) !important;
}

.ps-product-rating {
    display: flex;
    gap: 2px;
    color: #8f712f;
    font-size: 13px;
}

.ps-stars-fallback {
    letter-spacing: 2px;
}

.product-miniature .product-price-and-shipping,
.ps-product-price-row {
    margin-top: auto;
    display: flex;
    align-items: baseline;
    gap: 8px;
    flex-wrap: wrap;
    padding-top: 8px;
}

.product-miniature .product-price-and-shipping .price,
.ps-price {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 700 !important;
    font-size: 18px !important;
    color: var(--ps-red) !important;
}

.product-miniature .product-price-and-shipping .regular-price,
.ps-regular-price {
    font-size: 13px !important;
    color: #9aa1a9 !important;
    text-decoration: line-through !important;
}

/* Zapytaj o cenę */
.ps-price-on-demand {
    margin-top: auto;
    padding-top: 8px;
}

.ps-price-ask {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    color: #24282d !important;
    letter-spacing: -0.01em;
}

/* Floating Action Buttons (Wishlist, Compare, Quick View) */
.ps-product-actions {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 5;
    display: flex;
    flex-direction: column;
    gap: 7px;
    opacity: 0.95;
    transition: opacity .2s ease, transform .2s ease;
}

.ps-product-card:hover .ps-product-actions {
    opacity: 1;
}

.ps-action-item {
    display: flex;
    align-items: center;
    justify-content: center;
}

.ps-action-btn {
    width: 36px;
    height: 36px;
    border-radius: 50% !important;
    background: #ffffff !important;
    border: 1px solid #e5e8ec !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, .07) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--ps-ink, #24282d) !important;
    padding: 0 !important;
    margin: 0 !important;
    cursor: pointer !important;
    text-decoration: none !important;
    outline: none !important;
    transition: all .2s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.ps-action-btn:hover {
    background: var(--ps-red, #c8101f) !important;
    border-color: var(--ps-red, #c8101f) !important;
    color: #ffffff !important;
    transform: scale(1.08);
    box-shadow: 0 4px 14px rgba(200, 16, 31, .3) !important;
}

.ps-action-btn:active {
    transform: scale(0.96);
}

.ps-action-svg {
    width: 17px;
    height: 17px;
    display: block;
    stroke: currentColor;
    fill: none;
    transition: transform .2s ease;
}

.ps-action-btn:hover .ps-action-svg {
    stroke: #ffffff;
}

.ps-action-compare .ps-action-svg {
    fill: currentColor;
    stroke: none;
}

.ps-action-btn:hover .ps-action-svg[fill="currentColor"] {
    fill: #ffffff;
}

/* Active / Added State for Wishlist and Compare */
.ps-action-btn.is-active,
.ps-action-btn.added {
    background: var(--ps-red, #c8101f) !important;
    border-color: var(--ps-red, #c8101f) !important;
    color: #ffffff !important;
}

.ps-action-btn.is-active .ps-action-svg,
.ps-action-btn.added .ps-action-svg {
    stroke: #ffffff !important;
}

.ps-action-btn.is-active .ps-action-svg[fill="currentColor"],
.ps-action-btn.added .ps-action-svg[fill="currentColor"] {
    fill: #ffffff !important;
}

.ps-action-wishlist .ps-action-btn.is-active .ps-action-svg {
    fill: #ffffff !important;
}

/* Hide auto-injected blockwishlist button in product miniatures (our custom .ps-action-wishlist button triggers it) */
.product-miniature .thumbnail-container>.wishlist-button {
    display: none !important;
}


/* Product Card Bottom Action Button */
.ps-product-footer-action {
    margin-top: 12px;
    width: 100%;
}

.ps-add-to-cart-form {
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
}

.ps-btn-add-to-cart {
    width: 100% !important;
    height: 42px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--ps-red, #c8101f) !important;
    color: #ffffff !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em !important;
    text-transform: uppercase !important;
    border-radius: 6px !important;
    border: 1px solid var(--ps-red, #c8101f) !important;
    text-decoration: none !important;
    cursor: pointer !important;
    padding: 0 16px !important;
    line-height: 1 !important;
    transition: all .2s ease !important;
    box-shadow: 0 4px 12px rgba(200, 16, 31, .2) !important;
}

.ps-btn-add-to-cart:hover {
    background: var(--ps-red-dark, #b30c1a) !important;
    border-color: var(--ps-red-dark, #b30c1a) !important;
    color: #ffffff !important;
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(200, 16, 31, .3) !important;
    text-decoration: none !important;
}

.ps-btn-add-to-cart:active {
    transform: translateY(0);
    box-shadow: 0 2px 6px rgba(200, 16, 31, .18) !important;
}

.ps-btn-add-to-cart:disabled,
.ps-btn-add-to-cart.disabled {
    background: #e2e5e9 !important;
    border-color: #e2e5e9 !important;
    color: #8c939d !important;
    cursor: not-allowed !important;
    box-shadow: none !important;
    transform: none !important;
    opacity: 0.7 !important;
}

.ps-btn-view-product {
    width: 100% !important;
    height: 42px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #ffffff !important;
    color: var(--ps-ink, #24282d) !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em !important;
    text-transform: uppercase !important;
    border-radius: 6px !important;
    border: 1.5px solid #dfe3e8 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    padding: 0 16px !important;
    line-height: 1 !important;
    transition: all .2s ease !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04) !important;
}

.ps-btn-view-product:hover {
    background: var(--ps-ink, #24282d) !important;
    border-color: var(--ps-ink, #24282d) !important;
    color: #ffffff !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(36, 40, 45, .2) !important;
    text-decoration: none !important;
}

.ps-btn-view-product:active {
    transform: translateY(0);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08) !important;
}

.product-miniature .mini-actions,
.product-miniature .product-add-to-cart,
.product-miniature .highlighted-informations,
.product-miniature .availability,
.product-miniature .brand-title {
    display: none !important;
}

/* ---------- List Mode View ---------- */
.products.ps-view-mode-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    grid-template-columns: none !important;
}

.products.ps-view-mode-list .product,
.products.ps-view-mode-list .ps-product-card-wrap {
    width: 100% !important;
}

.products.ps-view-mode-list .product-miniature,
.products.ps-view-mode-list .ps-product-card {
    flex-direction: row !important;
    align-items: center;
    gap: 22px;
    padding: 16px !important;
}

.products.ps-view-mode-list .product-miniature .thumbnail-container {
    flex-direction: row !important;
    align-items: center;
    gap: 22px;
}

.products.ps-view-mode-list .product-miniature .thumbnail-top,
.products.ps-view-mode-list .ps-thumbnail-wrap {
    width: 110px !important;
    height: 110px !important;
    aspect-ratio: 1 !important;
    padding: 0 !important;
    flex-shrink: 0;
}

.products.ps-view-mode-list .product-miniature .product-description,
.products.ps-view-mode-list .ps-product-body {
    padding: 0 !important;
}

.products.ps-view-mode-list .ps-product-flags {
    position: static;
    margin-bottom: 6px;
}

.products.ps-view-mode-list .ps-product-body {
    padding: 0;
    flex: 1;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.products.ps-view-mode-list .ps-product-price-row {
    margin-top: 0;
    flex: 0 0 auto;
    text-align: right;
}

.products.ps-view-mode-list .ps-price {
    font-size: 19px;
}

.products.ps-view-mode-list .ps-product-footer-action {
    width: auto !important;
    margin-top: 0 !important;
    flex-shrink: 0;
}

.products.ps-view-mode-list .ps-btn-add-to-cart,
.products.ps-view-mode-list .ps-btn-view-product {
    width: auto !important;
    min-width: 150px !important;
    padding: 0 20px !important;
}

.products.ps-view-mode-list .ps-product-actions {
    top: 6px;
    right: 6px;
    gap: 4px;
}

.products.ps-view-mode-list .ps-action-btn {
    width: 28px;
    height: 28px;
}

.products.ps-view-mode-list .ps-action-svg {
    width: 14px;
    height: 14px;
}

/* ---------- Pagination ---------- */
.ps-pagination {
    margin-top: 32px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    width: 100%;
}

.ps-pagination-summary {
    font-size: 13.5px;
    color: #9aa1a9;
    text-align: center;
}

.ps-page-list,
.pagination .page-list {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.ps-page-item a.ps-page-link {
    min-width: 38px;
    height: 38px;
    border: 1px solid #dfe2e6;
    border-radius: 4px;
    background: #fff;
    color: #3c424a;
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    padding: 0 10px;
    transition: all .15s ease;
}

.ps-page-item.current a.ps-page-link,
.ps-page-item.active a.ps-page-link {
    border-color: var(--ps-red) !important;
    background: #fdeceb !important;
    color: var(--ps-red) !important;
}

.ps-page-item a.ps-page-link:hover {
    border-color: #c8d0d8;
}

.ps-spacer {
    padding: 0 4px;
    color: #9aa1a9;
}

/* ---------- Bottom SEO Section ---------- */
.ps-seo-section {
    margin-top: 60px;
    padding: 56px 0 64px;
    position: relative;
}

.ps-seo-container {
    max-width: 960px;
    margin: 0 auto;
    padding: 0 32px;
}

.ps-seo-title {
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 24px;
    letter-spacing: -0.015em;
    margin: 0 0 6px;
    color: #24282d;
}

.ps-seo-subtitle {
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 15px;
    color: var(--ps-red);
    margin-bottom: 22px;
}

.ps-seo-box {
    position: relative;
    max-height: 240px;
    overflow: hidden;
    transition: max-height .45s cubic-bezier(.16, 1, .3, 1);
}

.ps-seo-content {
    columns: 1;
    column-gap: 36px;
    font-size: 14.5px;
    line-height: 1.7;
    color: #5a6068;
}

.ps-seo-content h2,
.ps-seo-content h3,
.ps-seo-content h4 {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 600 !important;
    color: #24282d !important;
    margin: 1.2em 0 0.5em 0 !important;
    break-after: avoid;
    column-break-after: avoid;
}

.ps-seo-content h2 {
    font-size: 18px !important;
}

.ps-seo-content h3 {
    font-size: 16px !important;
}

.ps-seo-content h4 {
    font-size: 14.5px !important;
}

.ps-seo-content p {
    margin: 0 0 1em;
}

.ps-seo-content ul,
.ps-seo-content ol {
    padding-left: 20px;
    margin: 0 0 1em;
}

.ps-seo-content li {
    margin-bottom: 4px;
    line-height: 1.6;
}

.ps-seo-content strong,
.ps-seo-content b {
    color: #24282d;
    font-weight: 600;
}

.ps-seo-content a {
    color: var(--ps-red);
    text-decoration: underline;
    transition: opacity .15s ease;
}

.ps-seo-content a:hover {
    opacity: 0.8;
}

.ps-seo-fade {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 60px;
    background: linear-gradient(180deg, rgba(247, 248, 249, 0), #fff 90%);
    pointer-events: none;
}

.ps-seo-toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 18px;
    border: 0;
    background: none;
    padding: 0;
    cursor: pointer;
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 14.5px;
    color: var(--ps-red);
    transition: opacity .15s ease;
}

.ps-seo-toggle:hover {
    opacity: 0.85;
}

#seoArrow {
    transition: transform .3s ease;
}

/* ---------- Responsive Layout ---------- */
@media (max-width: 991px) {
    body#category #wrapper .container {
        padding-left: 15px;
        padding-right: 15px;
    }

    body#category #wrapper .container>.row {
        display: flex;
        flex-direction: column;
        gap: 24px;
        margin-top: 15px;
    }

    body#category #content-wrapper.left-column {
        order: 1;
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 auto !important;
    }

    body#category #left-column {
        order: 2;
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 auto !important;
    }

    .ps-seo-content {
        columns: 1;
    }
}

/* ---------- Final Category View Overrides ---------- */
#content-wrapper #search_filters_wrapper,
#main #search_filters_wrapper,
.ps-category-header-wrap~#search_filters_wrapper,
#subcategories~#search_filters_wrapper {
    display: none !important;
}

@media (min-width: 768px) {
    .products.product-loop:not(.swiper-wrapper):not(.ps-view-mode-list) {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 20px !important;
    }

    .products.product-loop .product {
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* ==========================================================================
   Lista Logotypów / Marek na spodzie strony (tvcmsbrandlist)
   ========================================================================== */
.tvcmsbrandlist-slider {
    background: #fafbfc !important;
    border-top: 1px solid #eceef1 !important;
    border-bottom: 1px solid #eceef1 !important;
    padding: 36px 0 !important;
    margin-top: 40px !important;
    margin-bottom: 0 !important;
    box-shadow: none !important;
}

.tvcmsbrandlist-slider .tvbrandlist-slider {
    padding: 0 15px !important;
}

.tvcmsbrandlist-slider-main-title-wrapper {
    margin-bottom: 22px !important;
    text-align: center !important;
}

.tvcmsbrandlist-slider-main-title-wrapper .tvcms-main-title h2,
.tvcmsbrandlist-slider-main-title-wrapper .tvcms-main-title,
.tvcmsbrandlist-slider-main-title-wrapper .tvmain-title {
    font-family: 'Poppins', sans-serif !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    color: #24282d !important;
    letter-spacing: -0.01em !important;
    margin: 0 !important;
}

.tvbrandlist-slider-inner.tvbrandlist-slider-content-box {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 16px !important;
    margin: 0 !important;
}

.tvbrandlist-slider-wrapper-info {
    flex: 0 1 calc(16.666% - 14px) !important;
    max-width: calc(16.666% - 14px) !important;
    min-width: 140px !important;
    padding: 0 !important;
    margin: 0 !important;
    background: #fff !important;
    border: 1px solid #eceef1 !important;
    border-radius: 6px !important;
    box-shadow: none !important;
    height: 80px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all .25s cubic-bezier(.16, 1, .3, 1) !important;
}

.tvbrandlist-slider-wrapper-info:hover {
    border-color: #c8101f !important;
    transform: translateY(-3px) !important;
    box-shadow: 0 10px 24px -10px rgba(200, 16, 31, .2) !important;
}

.tvbrandlist-slider-wrapper-info .tvbrand-img-block {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 10px 16px !important;
}

.tvbrandlist-slider-wrapper-info .tvbrand-img-block a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
}

.tvbrandlist-slider-wrapper-info .tvbrand-img-block img {
    max-height: 46px !important;
    max-width: 110px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    filter: grayscale(100%) opacity(0.7) !important;
    transition: filter .25s ease, transform .25s ease !important;
}

.tvbrandlist-slider-wrapper-info:hover .tvbrand-img-block img {
    filter: grayscale(0%) opacity(1) !important;
    transform: scale(1.05) !important;
}

/* Hide empty theme shimmer placeholders in footer */
.tvfooter-product-box-layout {
    display: none !important;
}

@media (max-width: 991px) {
    .tvbrandlist-slider-wrapper-info {
        flex: 0 1 calc(33.333% - 12px) !important;
        max-width: calc(33.333% - 12px) !important;
    }
}

@media (max-width: 575px) {
    .tvbrandlist-slider-wrapper-info {
        flex: 0 1 calc(50% - 10px) !important;
        max-width: calc(50% - 10px) !important;
        height: 70px !important;
    }
}




/* ------------------------ mega menu hover ------------------------ */
.tv-menu-horizontal ul li.level-1:hover {
    position: relative;
}

.tv-menu-horizontal ul li.level-1:hover>.menu-dropdown {
    background: transparent;
    border: unset;
    box-shadow: unset;
    height: 600px !important;
    max-height: unset;
    height: auto;
    right: auto !important;
    left: 0;
}

.tv-menu-horizontal ul li.level-1:has(.producenci-wrap):hover>.menu-dropdown {
    height: auto !important;
    background: #fff !important;
    border: 1px solid #d2d2d2;
}

.menu-hover>.tv-sub-menu .second-col>.ul-column>.menu-item,
.menu-hover>.tv-sub-menu .third-col>.ul-column>.menu-item,
.menu-hover>.tv-sub-menu .fourth-col>.ul-column>.menu-item {
    display: none;
    position: absolute;
    top: 0;
    opacity: 0;
    background: transparent;
    width: 100%;
    height: 100%
}

.menu-hover>.tv-sub-menu .second-col>.ul-column>.menu-item.active_mm,
.menu-hover>.tv-sub-menu .third-col>.ul-column>.menu-item.active_mm,
.menu-hover>.tv-sub-menu .fourth-col>.ul-column>.menu-item.active_mm {
    opacity: 1;
    visibility: visible;
    z-index: 9;
    display: block
}

.menu-hover .tv-menu-row.row {
    margin: 0;
    display: flex
}

@media all and (max-width: 991px) {
    .menu-hover .tv-menu-row.row {
        flex-wrap: wrap;
        flex-direction: column
    }
}

.menu-hover .menu-dropdown,
.menu-hover .first-col,
.menu-hover .second-col,
.menu-hover .third-col,
.menu-hover .fourth-col,
.menu-hover .tvcmssearch-dropdown {
    padding: 0 !important
}

.menu-hover .first-col .menu-item a,
.menu-hover .third-col .menu-item a,
.menu-hover .fourth-col .menu-item a {
    display: block;
    text-align: left !important;
    padding-left: 15px;
    transition: all 0.2s;
    font-size: 13px !important
}

.menu-hover .third-col .menu-item a:hover,
.menu-hover .fourth-col .menu-item a:hover {
    background: #eaeaea
}

.menu-hover .tv-menu-col.col-xs-12.col-sm-8.CAT .ul-column .menu-item a {
    display: block;
    width: 100%;
    text-align: left !important;
    margin: 0 !important;
    font-size: 13px !important;
    padding: 7px 15px;
    transition: all 0.2s
}

.menu-hover .tv-menu-col.col-xs-12.col-sm-8.CAT {
    padding: 0
}

.menu-hover .tv-menu-col.col-xs-12.col-sm-8.CAT .ul-column .menu-item a:hover {
    background: #f5f5f5
}

.menu-hover .tv-menu-col.col-xs-12.col-sm-8.CAT .ul-column .menu-item a.see_more.see_more {
    border: 1px solid #000;
    margin: 25px !important;
    width: auto !important;
    text-align: center !important
}

.megamenu__default-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    width: 100%;
    position: relative
}

.megamenu__default-item .link {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%
}

.megamenu__default-item--info {
    padding: 22px;
    text-align: left
}

.megamenu__default-item--info .title {
    font-weight: 600;
    color: #000;
    margin-bottom: 24px;
    font-size: 16px;
    line-height: 140%
}

.megamenu__default-item--info .desciption {
    font-size: 10px;
    margin-bottom: 23px;
    color: #000
}

.megamenu__default-item--info .price {
    font-size: 20px;
    color: #c81f36
}

#tvdesktop-megamenu .tv-menu-horizontal .menu-dropdown {
    background: transparent;
    overflow: none;
    border: unset !important;
    max-width: 1200px !important;
    width: 1200px !important;
    max-height: 2000px !important;
    height: 600px !important;
    box-shadow: unset
}

.menu-hover .tv-menu-row.row {
    background: transparent
}

.megamenu_submenu--top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px 24px 16px;
    gap: 16px
}

.megamenu_submenu--top .link a {
    padding: 0px !important;
    font-size: 12px !important;
    margin: 0px !important;
    text-align: right
}

.megamenu_submenu--top .link a:after {
    font-family: 'Material Icons';
    content: '\e313';
    margin-left: 3px;
    position: relative;
    top: 4px;
    font-size: 14px;
    display: inline-block;
    transform: rotate(-90deg)
}

.megamenu_submenu--top .link a:hover {
    background: transparent !important
}

.megamenu_submenu--top .name {
    font-size: 13px;
    text-align: left
}

a.see_more_link {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 16px 30px 16px 28px !important;
    font-weight: 600 !important
}

.see_more_link span {
    font-weight: 400 !important
}

.html-block ul {
    padding-left: 12px
}

.menu-dropdown.cat-drop-menu {
    background-color: #fff !important
}

.producenci-wrap .menu-dropdown {
    background-color: #fff !important
}

.producenci-wrap .tv-menu-row {
    display: flex;
    flex-direction: row
}

.menu-hover .tv-menu-col.first-col {
    width: 300px;
    border-radius: 3px;
    transform: translateY(10px);
    padding: 10px 0;
    background: #f5f5f5
}

.menu-hover .tv-menu-col.first-col ul.ul-column li:first-child {
    padding-top: 12px
}

.menu-hover .tv-menu-col.second-col,
.menu-hover .tv-menu-col.third-col,
.menu-hover .tv-menu-col.fourth-col {
    max-width: 300px;
    width: 100%
}

.menu-hover .tv-menu-col.second-col .active_mm,
.menu-hover .tv-menu-col.third-col .active_mm,
.menu-hover .tv-menu-col.fourth-col .active_mm {
    transition: all .3s ease-in-out;
    opacity: 1;
    transform: translate(0, 10px)
}

.menu-hover .tv-menu-col.second-col .menu-item {
    background: #fff;
    z-index: 999999999;
    overflow: unset;
    position: absolute;
    left: 0;
    top: 0;
    border-radius: 3px;
    transform: translate(-15px, 10px)
}

.menu-hover .tv-menu-col.third-col .menu-item {
    transform: translate(-10px, 10px)
}

.menu-hover .tv-menu-col.second-col ul li:last-child {
    margin-bottom: 24px;
    padding-bottom: 1px
}

.menu-hover .tv-menu-col.second-col ul li>a {
    display: block;
    text-align: left !important;
    padding-left: 15px;
    transition: all 0.2s;
    font-size: 13px !important
}

.menu-hover .tv-menu-col.third-col a:hover {
    background: transparent !important
}

.menu-hover .tv-menu-col.second-col .menu-item .html-block,
.menu-hover .tv-menu-col.third-col .menu-item .html-block,
.menu-hover .tv-menu-col.fourth-col .menu-item .html-block {
    background-color: #fff;
    border-radius: 3px;
    transform: translate(-15px, 10px);
    padding: 0;
    margin: 0;
    opacity: 0;
    transition: all .3s ease-in-out
}

.menu-hover .tv-menu-col.second-col .menu-item.active_mm .html-block,
.menu-hover .tv-menu-col.third-col .menu-item.active_mm .html-block,
.menu-hover .tv-menu-col.fourth-col .menu-item.active_mm .html-block {
    transform: translate(20px, 0);
    opacity: 1;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, .1)
}

.menu-hover .tv-menu-col.second-col .menu-item .html-block ul,
.menu-hover .tv-menu-col.third-col .menu-item .html-block ul,
.menu-hover .tv-menu-col.fourth-col .menu-item .html-block ul {
    padding: 0
}

#tvdesktop-megamenu .tv-menu-horizontal .producenci-container .menu-dropdown {
    background-color: #fff !important;
    max-width: 700px !important;
    padding: 30px 30px 0 30px !important;
    min-height: 200px !important;
    height: auto !important
}

@media all and (min-width: 991px) {
    .menu-hover .tv-menu-col.first-col .menu-item {
        position: relative
    }

    .menu-hover .tv-menu-col.second-col .active_mm::before,
    .menu-hover .tv-menu-col.third-col .active_mm::before {
        content: '';
        position: absolute;
        left: 18px;
        top: 25px;
        width: 10px;
        height: 10px;
        background-color: #fff;
        z-index: 40;
        opacity: 1;
        transition: all .3s ease-in-out;
        transform: rotate(45deg);
        transform-origin: center center
    }

    .menu-hover .tv-menu-col.third-col .active_mm::before {
        left: 17px;
        top: 25px
    }

    .menu-hover .tv-menu-col.first-col .menu-item .html-block p a,
    .menu-hover .tv-menu-col.second-col .menu-item .html-block ul li a {
        position: relative
    }

    .menu-hover .tv-menu-col.first-col .menu-item .html-block p a:after,
    .menu-hover .tv-menu-col.second-col .menu-item .html-block ul li a:after {
        content: '';
        position: absolute;
        right: 17px;
        top: 7px;
        width: 5px;
        height: 5px;
        background-color: transparent;
        z-index: 5;
        opacity: .2;
        border-top: 2px solid #222;
        border-right: 2px solid #222;
        transition: all .3s ease-in-out;
        transform: rotate(45deg);
        transform-origin: center center
    }

    .menu-hover .tv-menu-col.second-col .menu-item .html-block ul li a:hover:after,
    .menu-hover .tv-menu-col.first-col .menu-item .html-block p a:hover:after {
        opacity: 1;
        border-color: #bf100e
    }

    .menu-hover .tv-menu-col.third-col .menu-item .html-block ul li:last-child {
        margin-bottom: 24px;
        padding-bottom: 5px
    }
}

@media all and (max-width: 991px) {
    .tv-menu-horizontal ul li ul {
        margin: 0
    }

    .menu-hover .tv-menu-col.first-col,
    .menu-hover .tv-menu-col.secont-col,
    .menu-hover .tv-menu-col.third-col,
    .menu-hover .tv-menu-col.fourth-col {
        width: 100%
    }

    .tv-menu-col.closed {
        display: none
    }

    .tv-sub-menu .tv-menu-col .menu-item {
        position: static !important
    }

    .tv-sub-menu .second-col>.ul-column>.menu-item.active_mm {
        transform: translate(0, 0)
    }

    .menu-hover .tv-menu-col.second-col .menu-item.active_mm .html-block,
    .menu-hover .tv-menu-col.third-col .menu-item.active_mm .html-block,
    .menu-hover .tv-menu-col.fourth-col .menu-item.active_mm .html-block {
        box-shadow: unset;
        transform: translate(0, 0)
    }

    .menu-hover .tv-menu-col.second-col ul li>a,
    .menu-hover .tv-menu-col.third-col ul li>a {
        padding-left: 5px
    }

    .megamenu_submenu--top {
        padding: 12px 0 24px 5px
    }

    .megamenu__default-item--info {
        padding: 16px 0 32px 0
    }

    .megamenu__default-item--info .title,
    .megamenu__default-item--info .desciption {
        margin-bottom: 16px
    }

    .menu-hover .tv-menu-col.first-col .html-block a,
    .menu-hover .tv-menu-col.second-col ul li ul li a {
        padding-right: 50px !important
    }

    .menu-hover .tv-menu-col.first-col .html-block,
    .menu-hover .tv-menu-col.second-col ul li ul li {
        position: relative
    }

    .menu-hover .tv-menu-col.first-col .more-arrow,
    .menu-hover .tv-menu-col.second-col .more-arrow {
        width: 30px;
        height: 30px;
        background: #ebebeb;
        display: flex;
        border-radius: 3px;
        align-items: center;
        justify-content: center;
        position: absolute;
        right: 10px;
        top: 0
    }
}

@media all and (min-width: 767px) {
    .tvcmsheader-nav-right {
        .tv-contact-account-cart-wrapper {
            #tvcmsdesktop-account-button {
                img:not(#customerIcon) {
                    display: none
                }
            }
        }
    }
}

/* ==========================================================================
   CONTACT PAGE STYLING (DESIGN.md COMPLIANT)
   ========================================================================== */

/* ==========================================================================
   MINIKOSZYK OFF-CANVAS / SLIDE-OUT DRAWER (Z PRAWEJ STRONY)
   ========================================================================== */

/* 1. Kontener tła (Backdrop Overlay) */
.elementor-cart__container {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    background-color: rgba(0, 0, 0, 0.45) !important;
    backdrop-filter: blur(2px) !important;
    -webkit-backdrop-filter: blur(2px) !important;
    z-index: 999999 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
    transform: none !important;
}

.elementor-cart__container.elementor-cart--shown,
.elementor-cart__container.open,
.elementor-cart__container.active,
.elementor-cart__container.is-open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

/* 2. Główny panel koszyka wysuwany z prawej strony */
.elementor-cart__container .elementor-cart__main {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;
    width: 410px !important;
    max-width: calc(100vw - 32px) !important;
    height: 100vh !important;
    max-height: 100vh !important;
    background: #ffffff !important;
    box-shadow: -8px 0 32px rgba(0, 0, 0, 0.16) !important;
    transform: translateX(100%) !important;
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 24px 22px 20px 22px !important;
    box-sizing: border-box !important;
    z-index: 1000000 !important;
    overflow: hidden !important;
}

.elementor-cart__container.elementor-cart--shown .elementor-cart__main,
.elementor-cart__container.open .elementor-cart__main,
.elementor-cart__container.active .elementor-cart__main,
.elementor-cart__container.is-open .elementor-cart__main {
    transform: translateX(0) !important;
    opacity: 1 !important;
}

/* 3. Nagłówek i przycisk zamykania */
.elementor-cart__title {
    font-family: 'Poppins', sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #24282d !important;
    min-height: auto !important;
    line-height: 1.3 !important;
    margin: 0 0 16px 0 !important;
    padding-right: 36px !important;
    letter-spacing: -0.01em !important;
    border-bottom: 1px solid #f0f0f2 !important;
    padding-bottom: 14px !important;
}

.elementor-cart__close-button {
    position: absolute !important;
    top: 18px !important;
    right: 18px !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    background: #f4f5f7 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    color: #555555 !important;
    font-size: 16px !important;
    line-height: 1 !important;
    transition: background 0.2s ease, color 0.2s ease !important;
    z-index: 10 !important;
    margin-top: 0px !important;
}

.elementor-cart__close-button:hover {
    background: #e8e9ec !important;
    color: #000000 !important;
}

/* 4. Lista produktów w koszyku */
.elementor-cart__products {
    flex: 1 1 auto !important;
    overflow-y: auto !important;
    margin: 0 -10px 14px -10px !important;
    padding: 0 10px !important;
}

.elementor-cart__product {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 12px 0 !important;
    border-bottom: 1px solid #f0f2f5 !important;
    position: relative !important;
}

.elementor-cart__product-image {
    width: 58px !important;
    height: 58px !important;
    flex-shrink: 0 !important;
}

.elementor-cart__product-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    border-radius: 4px !important;
    background: #ffffff !important;
    border: 1px solid #eef0f3 !important;
}

.elementor-cart__product-name {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

.elementor-cart__product-name a {
    font-family: 'Barlow', sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    color: #24282d !important;
    line-height: 1.35 !important;
    text-decoration: none !important;
    display: block !important;
}

.elementor-cart__product-name a:hover {
    color: #c8101f !important;
}

.elementor-cart__product-price {
    font-family: 'Poppins', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #c8101f !important;
    margin-top: 3px !important;
}

.elementor-cart__product-remove,
.elementor-cart__product .elementor-cart__product-remove {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    margin-left: auto !important;
    flex-shrink: 0 !important;
    width: 28px !important;
    height: 28px !important;
    opacity: 1 !important;
    visibility: visible !important;
    font-size: 14px !important;
    line-height: 1 !important;
}

.elementor-cart__product-remove a,
.elementor-cart__product-remove>a,
.elementor-cart__product-remove .ps-remove-product-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: static !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
    background: #f4f5f7 !important;
    color: #8c939d !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
    cursor: pointer !important;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
    z-index: 5 !important;
    padding: 0 !important;
}

.elementor-cart__product-remove a svg,
.elementor-cart__product-remove>a svg {
    width: 14px !important;
    height: 14px !important;
    stroke: currentColor !important;
    pointer-events: none !important;
}

.elementor-cart__product-remove a:hover,
.elementor-cart__product-remove>a:hover,
.elementor-cart__product-remove .ps-remove-product-btn:hover {
    background: #fdeceb !important;
    color: #c8101f !important;
    transform: scale(1.1) !important;
}

/* 5. Komunikat o pustym koszyku */
.elementor-cart__empty-message {
    padding: 48px 16px !important;
    text-align: center !important;
    color: #6b7178 !important;
    font-size: 14.5px !important;
    font-family: 'Barlow', sans-serif !important;
}

/* 6. Podsumowanie kosztów */
.elementor-cart__summary {
    background: #f8f9fa !important;
    border-radius: 6px !important;
    padding: 12px 14px !important;
    margin-bottom: 14px !important;
    border: 1px solid #edf0f2 !important;
    font-size: 13.5px !important;
    font-family: 'Barlow', sans-serif !important;
    color: #4a5056 !important;
}

.elementor-cart__summary strong {
    font-family: 'Poppins', sans-serif !important;
    font-size: 15px !important;
    color: #24282d !important;
}

/* 7. Przyciski akcji koszyka */
.elementor-cart__footer-buttons {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    margin-top: 4px !important;
}

.elementor-cart__footer-buttons .elementor-align-justify {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-cart__footer-buttons a.elementor-button {
    width: 100% !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 6px !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.elementor-cart__footer-buttons .elementor-button-text {
    font-family: 'Poppins', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.01em !important;
    text-transform: none !important;
}

.elementor-cart__footer-buttons .elementor-button-text::before,
.elementor-cart__footer-buttons a::before,
.elementor-cart__footer-buttons .elementor-button-text::after,
.elementor-cart__footer-buttons a::after {
    content: none !important;
    display: none !important;
}

/* Przycisk 1: Obejrzyj koszyk (Secondary Outline) */
.elementor-cart__footer-buttons .elementor-button--view-cart {
    background: #ffffff !important;
    color: #24282d !important;
    border: 1.5px solid #dfe3e8 !important;
    padding: 12px 18px !important;
    min-height: 44px !important;
}

.elementor-cart__footer-buttons .elementor-button--view-cart .elementor-button-text {
    color: #24282d !important;
    font-weight: 600 !important;
}

.elementor-cart__footer-buttons .elementor-button--view-cart:hover {
    background: #f7f8fa !important;
    border-color: #c4c9d1 !important;
    color: #111417 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04) !important;
}

.elementor-cart__footer-buttons .elementor-button--view-cart:active {
    transform: translateY(0) !important;
    background: #edf0f3 !important;
}

/* Przycisk 2: Przejdź do kasy (Primary CTA Red) */
.elementor-cart__footer-buttons .elementor-button--checkout {
    background: #c8101f !important;
    color: #ffffff !important;
    border: 1.5px solid #c8101f !important;
    padding: 13px 18px !important;
    min-height: 46px !important;
    box-shadow: 0 4px 12px rgba(200, 16, 31, 0.2) !important;
}

.elementor-cart__footer-buttons .elementor-button--checkout .elementor-button-text {
    color: #ffffff !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em !important;
    text-transform: uppercase !important;
    font-size: 13.5px !important;
}

.elementor-cart__footer-buttons .elementor-button--checkout:hover {
    background: #b30c1a !important;
    border-color: #b30c1a !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 16px rgba(200, 16, 31, 0.28) !important;
}

.elementor-cart__footer-buttons .elementor-button--checkout:active {
    transform: translateY(0) !important;
    background: #9e0b17 !important;
    box-shadow: 0 2px 6px rgba(200, 16, 31, 0.18) !important;
}

.elementor-cart__footer-buttons .elementor-button--checkout.ce-disabled {
    background: #e2e5e9 !important;
    border-color: #e2e5e9 !important;
    color: #8c939d !important;
    box-shadow: none !important;
    cursor: not-allowed !important;
    opacity: 0.7 !important;
    transform: none !important;
}

.elementor-cart__footer-buttons .elementor-button--checkout.ce-disabled .elementor-button-text {
    color: #8c939d !important;
}

body.ps-cart-locked {
    overflow: hidden !important;
}

/* 8. Responsywność na ekranach mobilnych (Mobile Optimization) */
@media (max-width: 576px) {
    .elementor-cart__container .elementor-cart__main {
        width: 100% !important;
        max-width: 100% !important;
        padding: 20px 16px max(20px, env(safe-area-inset-bottom)) 16px !important;
        box-shadow: none !important;
    }

    .elementor-cart__title {
        font-size: 16px !important;
        margin-bottom: 12px !important;
        padding-bottom: 12px !important;
    }

    .elementor-cart__close-button {
        top: 14px !important;
        right: 14px !important;
        width: 30px !important;
        height: 30px !important;
        margin-top: 0px;
    }

    .elementor-cart__product {
        padding: 10px 0 !important;
        gap: 10px !important;
    }

    .elementor-cart__product-image {
        width: 50px !important;
        height: 50px !important;
    }

    .elementor-cart__product-name a {
        font-size: 13px !important;
    }

    .elementor-cart__summary {
        padding: 10px 12px !important;
        margin-bottom: 10px !important;
        font-size: 13px !important;
    }

    .elementor-cart__footer-buttons {
        gap: 8px !important;
    }

    .elementor-cart__footer-buttons .elementor-button--checkout {
        min-height: 44px !important;
        padding: 11px 14px !important;
        font-size: 13px !important;
    }

    .elementor-cart__footer-buttons .elementor-button--view-cart {
        min-height: 42px !important;
        padding: 10px 14px !important;
        font-size: 13px !important;
    }
}


/* 1. Layout & Breadcrumb on Contact Page */
body#contact #wrapper {
    background: #ffffff !important;
    padding-top: 0 !important;
    padding-bottom: 60px !important;
}

body#contact #wrapper .container {
    max-width: 1360px !important;
    padding-left: 32px !important;
    padding-right: 32px !important;
}

body#contact #hero_section {
    display: block !important;
    background: #ffffff !important;
    padding: 28px 0 20px 0 !important;
    border-bottom: 1px solid var(--ps-border-hairline, #eceef1) !important;
    margin-bottom: 28px !important;
}

body#contact #hero_section .container {
    max-width: 1360px !important;
    padding-left: 32px !important;
    padding-right: 32px !important;
}

body#contact #hero_section .page-title-wrapper {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
}

body#contact #hero_section .page-title-wrapper::before {
    content: none !important;
    display: none !important;
}

body#contact #hero_section .breadcrumb {
    order: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
}

body#contact #hero_section .breadcrumb .container {
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
    width: auto !important;
}

body#contact #hero_section .breadcrumb ol {
    margin: 0 !important;
    padding: 0 !important;
}

body#contact #hero_section .page-header {
    order: 2 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

body#contact #hero_section h1,
body#contact #hero_section .page-header h1 {
    font-family: 'Poppins', sans-serif !important;
    font-size: 32px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    letter-spacing: -0.02em !important;
    color: var(--ps-ink, #24282d) !important;
    margin: 0 !important;
    padding: 0 !important;
}

body#contact #left-column,
body#contact #right-column {
    display: none !important;
}

body#contact #content-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

body#contact #main {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

body#contact #content.page-content {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* 2. Contact Header */
.ps-contact-header-wrap {
    padding: 24px 0 32px 0;
    margin-bottom: 36px;
    border-bottom: 1px solid var(--ps-border-hairline, #eceef1);
}

.ps-contact-header-inner {
    max-width: 800px;
}

.ps-contact-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #fdeceb;
    border-radius: 4px;
    padding: 5px 12px;
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    font-weight: 600;
    color: var(--ps-red, #c8101f);
    letter-spacing: 0.04em;
    margin-bottom: 12px;
}

.ps-contact-title {
    font-family: 'Poppins', sans-serif;
    font-size: 32px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: var(--ps-ink, #24282d);
    margin: 0 0 8px 0;
}

.ps-contact-subtitle {
    font-family: 'Barlow', sans-serif;
    font-size: 15.5px;
    line-height: 1.6;
    color: var(--ps-gray-body, #5a6068);
    margin: 0;
}

/* 3. Section Titles in Content */
body#contact .elementor-heading-title {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 600 !important;
    color: var(--ps-ink, #24282d) !important;
    letter-spacing: -0.015em !important;
}

body#contact h2.elementor-heading-title {
    font-size: 22px !important;
    line-height: 1.3 !important;
    margin-bottom: 18px !important;
    text-transform: none !important;
}

/* 4. Employee & Department Cards */
body#contact .elementor-widget-icon-box {
    height: 100%;
}

body#contact .elementor-icon-box-wrapper {
    background: #ffffff !important;
    border: 1px solid #eceef1 !important;
    border-radius: 6px !important;
    padding: 24px 20px !important;
    text-align: center !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    transition: all .2s cubic-bezier(.16, 1, .3, 1) !important;
    box-shadow: none !important;
    gap: 12px !important;
}

body#contact .elementor-icon-box-wrapper:hover {
    border-color: #c8d0d8 !important;
    box-shadow: 0 8px 20px -12px rgba(36, 40, 45, 0.18) !important;
    transform: translateY(-2px) !important;
}

body#contact .elementor-icon-box-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    border-radius: 50% !important;
    background: #fdeceb !important;
    color: #c8101f !important;
    margin: 0 auto 16px auto !important;
}

body#contact .elementor-icon-box-icon span.elementor-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 18px !important;
    color: #c8101f !important;
    line-height: 1 !important;
}

body#contact .elementor-icon-box-icon i {
    color: #c8101f !important;
    font-size: 18px !important;
    line-height: 1 !important;
}

body#contact .elementor-icon-box-title {
    font-family: 'Poppins', sans-serif !important;
    font-size: 15.5px !important;
    font-weight: 600 !important;
    color: #24282d !important;
    margin: 0 0 6px 0 !important;
    line-height: 1.35 !important;
}

body#contact .elementor-icon-box-description {
    font-family: 'Barlow', sans-serif !important;
    font-size: 13.5px !important;
    line-height: 1.55 !important;
    color: #6b7178 !important;
    margin: 0 !important;
    width: 100% !important;
}

body#contact .elementor-icon-box-description a {
    color: #24282d !important;
    text-decoration: none !important;
    font-weight: 500 !important;
    display: inline-block !important;
    margin-top: 4px !important;
    transition: color .15s ease !important;
}

body#contact .elementor-icon-box-description a:hover {
    color: #c8101f !important;
}

/* 5. Three Info Columns (Company Data, Bank Account, Complaints) */
body#contact .elementor-element-8b826ff .elementor-icon-box-wrapper,
body#contact .elementor-element-eafdc72 .elementor-icon-box-wrapper {
    padding: 28px 24px !important;
    text-align: center !important;
    align-items: center !important;
}

body#contact .elementor-element-8b826ff .elementor-icon-box-icon,
body#contact .elementor-element-eafdc72 .elementor-icon-box-icon {
    margin: 0 0 16px 0 !important;
}

/* Fix bank icon in "Dane do przelewu" */
body#contact .elementor-element-7400d4f .elementor-icon i::before,
body#contact .elementor-element-d3be622 .elementor-icon i::before {
    content: "\f19c" !important;
    /* fa-university */
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
}

/* 6. Banner section */
body#contact .elementor-element-6aa4eff {
    margin: 36px 0 !important;
}

body#contact .elementor-element-6aa4eff .elementor-image img {
    border-radius: 6px !important;
    border: 1px solid #eceef1 !important;
    box-shadow: none !important;
    width: 100% !important;
}

/* Hide duplicate contact form inside banner */
body#contact .elementor-element-6aa4eff .elementor-element-ca0a4dd,
body#contact .elementor-element-6aa4eff .elementor-element-07aa62d {
    display: none !important;
}

body#contact .elementor-element-6aa4eff .elementor-col-66 {
    width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
}

body#contact .elementor-element-6aa4eff .elementor-col-33 {
    display: none !important;
}

/* 7. Contact Form Section & Map */
body#contact .elementor-element-79676a2 {
    margin-top: 40px !important;
    margin-bottom: 30px !important;
}

body#contact .elementor-element-269b177 .elementor-widget-wrap {
    background: #ffffff !important;
    border: 1px solid #eceef1 !important;
    border-radius: 6px !important;
    padding: 32px !important;
}

body#contact .elementor-field-group {
    margin-bottom: 16px !important;
}

body#contact .elementor-field-label,
body#contact .form-control-label {
    font-family: 'Poppins', sans-serif !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    color: #24282d !important;
    letter-spacing: 0.04em !important;
    margin-bottom: 6px !important;
    display: block !important;
}

body#contact input.elementor-field,
body#contact select.elementor-field,
body#contact textarea.elementor-field,
body#contact .form-control {
    background: #f7f8f9 !important;
    border: 1px solid #dfe2e6 !important;
    border-radius: 4px !important;
    font-family: 'Barlow', sans-serif !important;
    font-size: 14.5px !important;
    color: #24282d !important;
    padding: 10px 14px !important;
    width: 100% !important;
    min-height: 42px !important;
    transition: all .15s ease !important;
    box-shadow: none !important;
}

body#contact textarea.elementor-field,
body#contact textarea.form-control {
    min-height: 120px !important;
    resize: vertical !important;
}

body#contact input.elementor-field:focus,
body#contact select.elementor-field:focus,
body#contact textarea.elementor-field:focus,
body#contact .form-control:focus {
    outline: 2px solid #c8101f !important;
    outline-offset: -2px !important;
    border-color: #c8101f !important;
    background: #ffffff !important;
}

/* File Upload Field */
body#contact .elementor-field-type-file label.elementor-field,
body#contact .elementor-field-type-file .elementor-field-textual {
    background: #f7f8f9 !important;
    border: 1px solid #dfe2e6 !important;
    border-radius: 4px !important;
    padding: 5px 8px !important;
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
    cursor: pointer !important;
    transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease !important;
    box-shadow: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

body#contact .elementor-field-type-file label.elementor-field:hover,
body#contact .elementor-field-type-file label.elementor-field:focus-within {
    border-color: #c8101f !important;
    background: #ffffff !important;
}

body#contact .elementor-field-type-file input[type="file"] {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    font-family: 'Barlow', sans-serif !important;
    font-size: 13.5px !important;
    color: #5a6068 !important;
    cursor: pointer !important;
    width: 100% !important;
    min-height: auto !important;
    line-height: 1.5 !important;
    outline: none !important;
    box-shadow: none !important;
}

body#contact .elementor-field-type-file input[type="file"]::file-selector-button {
    font-family: 'Poppins', sans-serif !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em !important;
    color: #24282d !important;
    background: #ffffff !important;
    border: 1px solid #dfe2e6 !important;
    border-radius: 4px !important;
    padding: 7px 16px !important;
    margin-right: 14px !important;
    cursor: pointer !important;
    transition: all .15s ease !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    outline: none !important;
}

body#contact .elementor-field-type-file input[type="file"]::-webkit-file-upload-button {
    font-family: 'Poppins', sans-serif !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em !important;
    color: #24282d !important;
    background: #ffffff !important;
    border: 1px solid #dfe2e6 !important;
    border-radius: 4px !important;
    padding: 7px 16px !important;
    margin-right: 14px !important;
    cursor: pointer !important;
    transition: all .15s ease !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    outline: none !important;
}

body#contact .elementor-field-type-file input[type="file"]::file-selector-button:hover,
body#contact .elementor-field-type-file label.elementor-field:hover input[type="file"]::file-selector-button {
    background: #c8101f !important;
    border-color: #c8101f !important;
    color: #ffffff !important;
    box-shadow: 0 2px 6px rgba(200, 16, 31, 0.2) !important;
}

body#contact .elementor-field-type-file input[type="file"]::-webkit-file-upload-button:hover,
body#contact .elementor-field-type-file label.elementor-field:hover input[type="file"]::-webkit-file-upload-button {
    background: #c8101f !important;
    border-color: #c8101f !important;
    color: #ffffff !important;
    box-shadow: 0 2px 6px rgba(200, 16, 31, 0.2) !important;
}

body#contact .elementor-field-type-file input[type="file"]:active::file-selector-button,
body#contact .elementor-field-type-file input[type="file"]:active::-webkit-file-upload-button {
    background: #a80d19 !important;
    border-color: #a80d19 !important;
    transform: scale(0.98) !important;
}

/* Send Button in Contact Form */
body#contact .elementor-contact-form .elementor-button,
body#contact .elementor-field-type-submit .elementor-button,
body#contact #content .elementor-widget-contact-form .elementor-button,
body#contact #content .btn-primary {
    background: #c8101f !important;
    color: #ffffff !important;
    font-family: 'Poppins', sans-serif !important;
    font-weight: 600 !important;
    font-size: 13.5px !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    border-radius: 4px !important;
    height: 46px !important;
    padding: 0 32px !important;
    border: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    cursor: pointer !important;
    transition: background .15s ease, transform .1s ease !important;
    box-shadow: none !important;
}

body#contact .elementor-contact-form .elementor-button:hover,
body#contact .elementor-field-type-submit .elementor-button:hover,
body#contact #content .elementor-widget-contact-form .elementor-button:hover,
body#contact #content .btn-primary:hover {
    background: #a80d19 !important;
    transform: translateY(-1px) !important;
}

/* Ensure Header Cart on Contact Page matches the rest of the store */
body#contact .header-cart-compare-shippingTime .elementor-cart__toggle a.elementor-button {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    height: auto !important;
    padding: 9px 16px !important;
    border: 1px solid var(--ps-red-border, #f6b5b2) !important;
    border-radius: 4px !important;
    background: #ffffff !important;
    color: var(--ps-ink, #24282d) !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: inherit !important;
    font-weight: normal !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    box-shadow: none !important;
    transform: none !important;
}

body#contact .header-cart-compare-shippingTime .elementor-cart__toggle a.elementor-button:hover {
    background: var(--ps-red-bg, #fff5f5) !important;
    border-color: var(--ps-red-border, #f6b5b2) !important;
    color: var(--ps-ink, #24282d) !important;
    transform: none !important;
}

/* Map frame styling */
body#contact iframe {
    border-radius: 6px !important;
    border: 1px solid #eceef1 !important;
    width: 100% !important;
}

/* Responsive adjustments for mobile */
@media (max-width: 880px) {
    body#contact #wrapper .container {
        padding-left: 16px;
        padding-right: 16px;
    }

    .ps-contact-title {
        font-size: 26px;
    }

    body#contact .elementor-element-269b177 .elementor-widget-wrap {
        padding: 20px !important;
    }

    body#contact .elementor-field-type-file input[type="file"]::file-selector-button,
    body#contact .elementor-field-type-file input[type="file"]::-webkit-file-upload-button {
        padding: 6px 12px !important;
        margin-right: 10px !important;
        font-size: 12px !important;
    }
}

/* ==========================================================================
   DELIGHT & MICRO-ANIMATIONS (IMPECCABLE CRAFT)
   ========================================================================== */

/* 1. Interactive Copyable IBAN / Bank Account Card Pill */
.ps-copyable-iban {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    background: #f7f8f9 !important;
    border: 1px solid #dfe2e6 !important;
    border-radius: 5px !important;
    padding: 7px 12px !important;
    margin-top: 8px !important;
    cursor: pointer !important;
    transition: all .2s cubic-bezier(.16, 1, .3, 1) !important;
    user-select: all !important;
}

.ps-copyable-iban:hover {
    border-color: #c8101f !important;
    background: #fdeceb !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px -4px rgba(200, 16, 31, 0.25) !important;
}

.ps-copyable-iban:active {
    transform: scale(0.98) !important;
}

.ps-iban-text {
    font-size: 13.5px !important;
    font-weight: 600 !important;
    color: #24282d !important;
    letter-spacing: 0.03em !important;
}

.ps-iban-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 3px !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 10.5px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    color: #c8101f !important;
    background: rgba(200, 16, 31, 0.08) !important;
    padding: 3px 7px !important;
    border-radius: 3px !important;
    transition: all .15s ease !important;
}

.ps-iban-badge i {
    font-size: 13px !important;
    line-height: 1 !important;
}

.ps-copyable-iban.ps-copied {
    background: #e6f6ec !important;
    border-color: #1c8a4a !important;
}

.ps-copyable-iban.ps-copied .ps-iban-text {
    color: #1c8a4a !important;
}

.ps-copyable-iban.ps-copied .ps-iban-badge {
    background: #1c8a4a !important;
    color: #fff !important;
}

/* 2. Floating Copy Toast Snackbar */
.ps-copy-toast {
    position: fixed !important;
    bottom: 32px !important;
    left: 50% !important;
    transform: translateX(-50%) translateY(24px) scale(0.92) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    background: #24282d !important;
    color: #ffffff !important;
    padding: 11px 22px !important;
    border-radius: 6px !important;
    box-shadow: 0 16px 36px -8px rgba(36, 40, 45, 0.35) !important;
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    z-index: 999999 !important;
    transition: transform .28s cubic-bezier(.16, 1, .3, 1), opacity .28s ease !important;
}

.ps-copy-toast.show {
    transform: translateX(-50%) translateY(0) scale(1) !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}

.ps-copy-toast i {
    color: #1c8a4a !important;
    font-size: 18px !important;
}

/* 3. Tactile Button Press Micro-feedback */
button:active,
.btn:active,
.elementor-button:active,
.ps-facet-more-btn:active,
.ps-seo-toggle:active,
.ps-view-btn:active {
    transform: scale(0.975) translateY(1px) !important;
    transition: transform 0.06s ease !important;
}

/* 4. Product Image Smooth Micro-zoom */
.product-miniature .thumbnail-top img,
.ps-thumbnail-wrap img {
    transition: transform .4s cubic-bezier(.16, 1, .3, 1) !important;
}

.product-miniature:hover .thumbnail-top img,
.ps-product-card:hover .ps-thumbnail-wrap img {
    transform: scale(1.035) !important;
}

/* 5. Subcategories Staggered Entry */
@keyframes ps-tile-cascade {
    from {
        opacity: 0;
        transform: translateY(6px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* 6. Form Input Focus Ring Glow */
input:focus,
select:focus,
textarea:focus,
.form-control:focus {
    box-shadow: 0 0 0 3px rgba(200, 16, 31, 0.1) !important;
}

/* 7. Reduced Motion Accessibility */
@media (prefers-reduced-motion: reduce) {

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }

    .ps-status-dot {
        animation: none !important;
    }
}

/* ==========================================================================
   Creative Elements - Sekcja Newsletter zgodna z projektem HTML
   ========================================================================== */
.ps-newsletter-section,
section.elementor-top-section.ps-newsletter-section {
    background: radial-gradient(ellipse 900px 320px at 50% 0%, rgba(200, 16, 31, 0.16), transparent 65%), #1c1f23 !important;
    padding: 64px 20px 60px !important;
    text-align: center !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    position: relative !important;
    overflow: hidden !important;
    width: 100% !important;
}

.ps-newsletter-section .elementor-container,
.ps-newsletter-inside .elementor-container {
    max-width: 900px !important;
    margin: 0 auto !important;
    justify-content: center !important;
}

.ps-newsletter-section .elementor-column-wrap,
.ps-newsletter-section .elementor-widget-wrap {
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Nagłówek i opis newslettera */
.ps-newsletter-header {
    text-align: center;
    margin-bottom: 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.ps-newsletter-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin: 0 auto 12px;
}

.ps-newsletter-icon svg {
    width: 34px;
    height: 34px;
    stroke: #c8101f;
    stroke-width: 1.8;
}

.ps-newsletter-title {
    margin: 10px 0 0 !important;
    font-family: 'Poppins', sans-serif !important;
    font-weight: 700 !important;
    font-size: 26px !important;
    line-height: 1.25 !important;
    letter-spacing: -0.01em !important;
    color: #ffffff !important;
    text-align: center !important;
}

.ps-newsletter-desc {
    margin: 10px auto 0 !important;
    max-width: 48ch !important;
    font-family: 'Barlow', -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
    color: rgba(255, 255, 255, 0.62) !important;
    text-align: center !important;
}

/* Formularz subskrypcji */
.ps-newsletter-widget,
.ps-newsletter-widget .elementor-widget-container {
    width: 100% !important;
    max-width: 580px !important;
    margin: 0 auto !important;
}

.ps-newsletter-widget form.elementor-email-subscription {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 560px !important;
    margin: 0 auto !important;
}

/* Pasek input + button */
.ps-newsletter-widget .elementor-field-type-subscribe {
    display: flex !important;
    flex-direction: row !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 560px !important;
    margin: 0 !important;
}

/* Input e-mail */
.ps-newsletter-widget .elementor-field-type-subscribe input.elementor-field-textual,
.ps-newsletter-widget .elementor-field-type-subscribe input[type="email"] {
    flex: 1 1 auto !important;
    width: 100% !important;
    height: 48px !important;
    min-height: 48px !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    background: rgba(255, 255, 255, 0.06) !important;
    color: #ffffff !important;
    padding: 0 16px !important;
    border-radius: 4px !important;
    font-family: 'Barlow', -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-size: 15px !important;
    line-height: 46px !important;
    box-shadow: none !important;
    outline: none !important;
    transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease !important;
    box-sizing: border-box !important;
}

.ps-newsletter-widget .elementor-field-type-subscribe input.elementor-field-textual::placeholder,
.ps-newsletter-widget .elementor-field-type-subscribe input[type="email"]::placeholder {
    color: rgba(255, 255, 255, 0.45) !important;
    opacity: 1 !important;
}

.ps-newsletter-widget .elementor-field-type-subscribe input.elementor-field-textual:focus,
.ps-newsletter-widget .elementor-field-type-subscribe input[type="email"]:focus {
    border-color: #c8101f !important;
    background: rgba(255, 255, 255, 0.09) !important;
    box-shadow: 0 0 0 3px rgba(200, 16, 31, 0.25) !important;
}

/* Przycisk subskrybuj */
.ps-newsletter-widget .elementor-field-type-subscribe button.elementor-button {
    flex: 0 0 auto !important;
    border: none !important;
    background: #c8101f !important;
    color: #ffffff !important;
    padding: 0 28px !important;
    border-radius: 4px !important;
    font-family: 'Poppins', sans-serif !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    height: 48px !important;
    min-height: 48px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background 0.2s cubic-bezier(.16, 1, .3, 1), transform 0.1s ease, box-shadow 0.2s ease !important;
    box-sizing: border-box !important;
    box-shadow: 0 2px 8px rgba(200, 16, 31, 0.2) !important;
}

.ps-newsletter-widget .elementor-field-type-subscribe button.elementor-button:hover {
    background: #a80d19 !important;
    color: #ffffff !important;
    box-shadow: 0 4px 14px rgba(200, 16, 31, 0.35) !important;
}

.ps-newsletter-widget .elementor-field-type-subscribe button.elementor-button:active {
    transform: scale(0.97) !important;
}

/* Zgoda RODO */
.ps-newsletter-widget .elementor-field-type-gdpr {
    margin-top: 16px !important;
    width: 100% !important;
    max-width: 560px !important;
    text-align: center !important;
}

.ps-newsletter-widget .elementor-field-type-gdpr label.elementor-field-label {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    margin: 0 auto !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    color: rgba(255, 255, 255, 0.58) !important;
    cursor: pointer !important;
    font-weight: 400 !important;
}

.ps-newsletter-widget .elementor-field-type-gdpr input[type="checkbox"] {
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    accent-color: #c8101f !important;
    cursor: pointer !important;
    margin: 0 !important;
    vertical-align: middle !important;
}

.ps-newsletter-widget .elementor-field-type-gdpr .elementor-checkbox-label {
    color: rgba(255, 255, 255, 0.58) !important;
    font-size: 13px !important;
}

.ps-newsletter-widget .elementor-field-type-gdpr .elementor-checkbox-label a {
    color: rgba(255, 255, 255, 0.85) !important;
    text-decoration: underline !important;
    transition: color 0.15s ease !important;
}

.ps-newsletter-widget .elementor-field-type-gdpr .elementor-checkbox-label a:hover {
    color: #ffffff !important;
    text-decoration: underline !important;
}

/* Komunikaty sukcesu / błędu AJAX */
.ps-newsletter-widget .elementor-message {
    width: 100% !important;
    max-width: 560px !important;
    margin: 16px auto 0 !important;
    padding: 12px 18px !important;
    border-radius: 4px !important;
    font-size: 14px !important;
    text-align: center !important;
}

.ps-newsletter-widget .elementor-message-success {
    background: rgba(30, 130, 76, 0.2) !important;
    border: 1px solid rgba(46, 204, 113, 0.4) !important;
    color: #2ecc71 !important;
}

.ps-newsletter-widget .elementor-message-danger {
    background: rgba(200, 16, 31, 0.2) !important;
    border: 1px solid rgba(200, 16, 31, 0.4) !important;
    color: #ff6b6b !important;
}

/* Responsywność dla urządzeń mobilnych */
@media (max-width: 576px) {

    .ps-newsletter-section,
    section.elementor-top-section.ps-newsletter-section {
        padding: 44px 16px 40px !important;
    }

    .ps-newsletter-title {
        font-size: 21px !important;
    }

    .ps-newsletter-desc {
        font-size: 14px !important;
    }

    .ps-newsletter-widget .elementor-field-type-subscribe {
        flex-direction: column !important;
        gap: 12px !important;
    }

    .ps-newsletter-widget .elementor-field-type-subscribe button.elementor-button {
        width: 100% !important;
        height: 48px !important;
    }

    .ps-newsletter-widget .elementor-field-type-gdpr label.elementor-field-label {
        align-items: flex-start !important;
        text-align: left !important;
    }

    .ps-newsletter-widget .elementor-field-type-gdpr input[type="checkbox"] {
        margin-top: 2px !important;
    }
}

/* ==========================================================================
   Creative Elements - Nowoczesna Stopka (4 Kolumny + Pasek Copyright)
   Zgodna z projektem HTML
   ========================================================================== */

body #footer,
body footer#footer,
#footer,
#footer .elementor,
#footer .elementor-9170101,
#footer .elementor-section-wrap,
#footer .footer-section,
#footer .footer-wrap,
#footer .copyright-section,
#footer .elementor-top-section:not(.ps-newsletter-section),
#footer .elementor-inner-section {
    background-color: #24282d !important;
    color: rgba(255, 255, 255, 0.72) !important;
    margin-top: 0 !important;
    border: none !important;
}

#footer section.ps-newsletter-section {
    background: radial-gradient(ellipse 900px 320px at 50% 0%, rgba(200, 16, 31, 0.16), transparent 65%), #1c1f23 !important;

    .elementor-inner-section {
        background: transparent !important;
    }
}

/* Główna sekcja z 4 kolumnami */
#footer .footer-section,
#footer section.elementor-top-section.footer-section {
    background: #24282d !important;
    padding: 0 !important;
    width: 100% !important;
    position: relative !important;
}

#footer .footer-wrap,
#footer section.elementor-inner-section.footer-wrap {
    padding: 0 !important;
    width: 100% !important;
    background: transparent !important;
}

#footer .footer-wrap .elementor-container {
    max-width: 1360px !important;
    margin: 0 auto !important;
    padding: 56px 32px 40px !important;
    width: 100% !important;
}

@media (min-width: 992px) {
    #footer .footer-wrap .elementor-row {
        display: flex !important;
        flex-wrap: nowrap !important;
        justify-content: space-between !important;
        gap: 40px !important;
        width: 100% !important;
    }

    #footer .footer-wrap .elementor-column.elementor-inner-column {
        flex: 1 1 0% !important;
        min-width: 0 !important;
        padding: 0 !important;
    }
}

/* Kolumna 1: Logo & Dane Adresowe */
#footer .footer-section .elementor-widget-theme-site-title {
    margin-bottom: 16px !important;
}

#footer .elementor-widget-theme-site-title h2,
#footer .elementor-widget-theme-site-title .elementor-heading-title,
#footer .elementor-widget-theme-site-title .elementor-heading-title a,
#footer .elementor-widget-theme-site-title a,
#footer .elementor-widget-heading .elementor-heading-title,
#footer .elementor-widget-heading .elementor-heading-title a {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 700 !important;
    font-size: 22px !important;
    line-height: 1.2 !important;
    letter-spacing: -0.01em !important;
    color: #ffffff !important;
    text-decoration: none !important;
    text-transform: none !important;
    display: inline-block !important;
}

#footer .elementor-widget-theme-site-title a .ps-brand-dim {
    opacity: 0.6 !important;
    font-weight: 400 !important;
    color: #ffffff !important;
}

#footer .footer-address-wrap .elementor-text-editor,
#footer .footer-address {
    font-family: 'Barlow', -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-size: 14.5px !important;
    line-height: 1.7 !important;
    color: rgba(255, 255, 255, 0.72) !important;
}

#footer .footer-address a,
#footer .footer-address .footer-phone,
#footer .footer-address .footer-email {
    color: #ffffff !important;
    text-decoration: none !important;
    display: inline-block !important;
    transition: color 0.15s ease !important;
}

#footer .footer-address a:hover,
#footer .footer-address .footer-phone:hover,
#footer .footer-address .footer-email:hover {
    color: #c8101f !important;
}

/* Kolumny 2, 3, 4: Menu Navigacyjne w stopce (Sklep, Twoje konto, Nasza firma) */
#footer .footer-section .elementor-widget-nav-menu,
#footer .elementor-widget-nav-menu {
    width: 100% !important;
}

/* Ukrywamy hamburgera i mobilny wrapper Elementora */
#footer .elementor-widget-nav-menu .elementor-menu-toggle,
#footer .elementor-widget-nav-menu nav.elementor-nav--dropdown {
    display: none !important;
}

/* Główny kontener menu */
#footer .elementor-widget-nav-menu nav.elementor-nav--main,
#footer .elementor-widget-nav-menu .elementor-nav__container {
    display: block !important;
    width: 100% !important;
}

#footer .elementor-widget-nav-menu ul.elementor-nav {
    display: block !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

#footer .elementor-widget-nav-menu li.menu-item-has-children {
    display: flex !important;
    flex-direction: column !important;
    position: static !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

/* Nagłówek kolumny menu (Tytuł kategorii) */
#footer .elementor-widget-nav-menu li.menu-item-has-children>a.elementor-item {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 600 !important;
    font-size: 12px !important;
    letter-spacing: 0.08em !important;
    color: #ffffff !important;
    text-transform: uppercase !important;
    margin: 0 0 16px 0 !important;
    padding: 0 !important;
    display: block !important;
    pointer-events: none !important;
    cursor: default !important;
    background: transparent !important;
    border: none !important;
    line-height: 1.3 !important;
}

/* Ukrywamy strzałkę rozwinięcia dropdownu na desktopie */
#footer .elementor-widget-nav-menu .sub-arrow,
#footer .elementor-widget-nav-menu .fas.fa-caret-down {
    display: none !important;
}

@media (min-width: 768px) {

    /* Lista linków podmenu - ZAWSZE WIDOCZNA PIONOWO NA DESKTOPIE */
    #footer .elementor-widget-nav-menu ul.sub-menu,
    #footer .elementor-widget-nav-menu nav.elementor-nav--main ul.sub-menu,
    #footer .elementor-widget-nav-menu ul.elementor-nav .sub-menu {
        display: flex !important;
        flex-direction: column !important;
        gap: 9px !important;
        position: static !important;
        visibility: visible !important;
        opacity: 1 !important;
        max-height: none !important;
        overflow: visible !important;
        transform: none !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        padding: 0 !important;
        margin: 0 !important;
        width: 100% !important;
        min-width: auto !important;
        list-style: none !important;
        pointer-events: auto !important;
    }

    #footer .elementor-widget-nav-menu ul.sub-menu li {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        border: none !important;
        height: auto !important;
        min-height: 22px !important;
        line-height: normal !important;
    }
}

#footer .elementor-widget-nav-menu ul.sub-menu li a.elementor-sub-item {
    font-family: 'Barlow', -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-size: 14.5px !important;
    line-height: 1.5 !important;
    color: rgba(255, 255, 255, 0.72) !important;
    padding: 0 !important;
    display: inline-block !important;
    background: transparent !important;
    border: none !important;
    text-decoration: none !important;
    visibility: visible !important;
    opacity: 1 !important;
    transition: color 0.15s ease, transform 0.15s ease !important;
}

#footer .elementor-widget-nav-menu ul.sub-menu li a.elementor-sub-item:hover {
    color: #c8101f !important;
    transform: translateX(3px) !important;
    background: transparent !important;
}

/* ==========================================================================
   Dolny Pasek Copyright & Social & Płatności
   ========================================================================== */
#footer .copyright-section,
#footer section.elementor-top-section.copyright-section {
    background: #24282d !important;
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
}

#footer .copyright-section .elementor-container {
    max-width: 1360px !important;
    margin: 0 auto !important;
    padding: 22px 32px !important;
    width: 100% !important;
}

#footer .copyright-section .elementor-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    gap: 20px !important;
    flex-wrap: wrap !important;
}

#footer .copyright-section .elementor-column.elementor-top-column {
    width: auto !important;
    flex: 0 1 auto !important;
    padding: 0 !important;
    background: transparent !important;
}

/* Social Media Ikony */
#footer .copyright-section .elementor-widget-social-icons .elementor-social-icons-wrapper {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

#footer .copyright-section .elementor-icon.elementor-social-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    border-radius: 50% !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    color: rgba(255, 255, 255, 0.7) !important;
    background-color: transparent !important;
    font-size: 14px !important;
    text-decoration: none !important;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease !important;
    margin: 0 !important;
}

#footer .copyright-section .elementor-icon.elementor-social-icon i,
#footer .copyright-section .elementor-icon.elementor-social-icon svg {
    font-size: 14px !important;
    width: 14px !important;
    height: 14px !important;
    color: rgba(255, 255, 255, 0.7) !important;
    fill: rgba(255, 255, 255, 0.7) !important;
    transition: color 0.2s ease, fill 0.2s ease !important;
}

#footer .copyright-section .elementor-icon.elementor-social-icon:hover {
    background-color: #c8101f !important;
    border-color: #c8101f !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
}

#footer .copyright-section .elementor-icon.elementor-social-icon:hover i,
#footer .copyright-section .elementor-icon.elementor-social-icon:hover svg {
    color: #ffffff !important;
    fill: #ffffff !important;
}

/* Prawa autorskie tekst */
#footer .copyright-section .copyright-text,
#footer .copyright-section .copyright-text p {
    font-family: 'Barlow', -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-size: 13px !important;
    color: rgba(255, 255, 255, 0.55) !important;
    margin: 0 !important;
    text-align: center !important;
}

/* Plakietki płatności */
#footer .copyright-payment-icons,
#footer .copyright-payment-icons .elementor-widget-container,
#footer .copyright-payment-icons .elementor-text-editor {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
}

#footer .copyright-payment-icons .elementor-text-editor>div,
#footer .copyright-payment-icons [data-dc-tpl="405"] {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
}

#footer .copyright-payment-icons span[data-dc-tpl="407"],
#footer .copyright-payment-icons .elementor-text-editor span,
#footer .copyright-payment-icons span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    border-radius: 4px !important;
    padding: 5px 9px !important;
    font-size: 10.5px !important;
    letter-spacing: 0.04em !important;
    color: rgba(255, 255, 255, 0.55) !important;
    background-color: transparent !important;
    line-height: 1 !important;
    font-weight: 500 !important;
}

/* ==========================================================================
   Responsywność dla Stopki i Newslettera (Mobile & Tablet RWD)
   ========================================================================== */
@media (max-width: 991px) {
    #footer .footer-wrap .elementor-container {
        padding: 44px 24px 32px !important;
    }

    #footer .footer-wrap .elementor-row {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 32px 20px !important;
    }

    #footer .footer-wrap .elementor-column.elementor-inner-column {
        flex: 1 1 calc(50% - 20px) !important;
        width: calc(50% - 20px) !important;
        max-width: calc(50% - 20px) !important;
    }

    #footer .copyright-section .elementor-row {
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        text-align: center !important;
        gap: 16px !important;
    }

    #footer .copyright-section .elementor-column.elementor-top-column {
        width: 100% !important;
        display: flex !important;
        justify-content: center !important;
    }

    #footer .copyright-payment-icons {
        justify-content: center !important;
    }
}

@media (max-width: 767px) {

    /* Wymuś ciemne tło na całej stopce */
    body #footer,
    body footer#footer,
    #footer,
    #footer .elementor,
    #footer .elementor-9170101,
    #footer .elementor-section-wrap,
    #footer .footer-section,
    #footer .footer-wrap,
    #footer .copyright-section,
    #footer .elementor-top-section:not(.ps-newsletter-section),
    #footer .elementor-inner-section,
    #footer .elementor-column,
    #footer .elementor-column-wrap,
    #footer .elementor-widget-wrap {
        /*  background-color: #24282d !important; */
        background-image: none !important;
    }

    /* Newsletter na mobile */
    #footer section.ps-newsletter-section,
    .ps-newsletter-section {
        background: radial-gradient(ellipse 400px 240px at 50% 0%, rgba(200, 16, 31, 0.22), transparent 70%), #1c1f23 !important;
        padding: 40px 18px 36px !important;
    }

    .ps-newsletter-header {
        margin-bottom: 20px !important;
    }

    .ps-newsletter-icon {
        width: 36px !important;
        height: 36px !important;
        margin-bottom: 8px !important;
    }

    .ps-newsletter-icon svg {
        width: 28px !important;
        height: 28px !important;
    }

    .ps-newsletter-title {
        font-size: 20px !important;
        line-height: 1.3 !important;
        margin-top: 6px !important;
    }

    .ps-newsletter-desc {
        font-size: 13.5px !important;
        line-height: 1.55 !important;
        padding: 0 8px !important;
    }

    .ps-newsletter-widget .elementor-field-type-subscribe {
        flex-direction: column !important;
        gap: 10px !important;
        width: 100% !important;
    }

    .ps-newsletter-widget .elementor-field-type-subscribe input.elementor-field-textual,
    .ps-newsletter-widget .elementor-field-type-subscribe input[type="email"] {
        width: 100% !important;
        height: 46px !important;
        font-size: 14px !important;
    }

    .ps-newsletter-widget .elementor-field-type-subscribe button.elementor-button {
        width: 100% !important;
        height: 46px !important;
        font-size: 13.5px !important;
    }

    .ps-newsletter-widget .elementor-field-type-gdpr label.elementor-field-label {
        font-size: 12.5px !important;
        text-align: left !important;
        align-items: flex-start !important;
        gap: 8px !important;
        line-height: 1.4 !important;
    }

    .ps-newsletter-widget .elementor-field-type-gdpr input[type="checkbox"] {
        margin-top: 2px !important;
    }

    /* Główna sekcja z kolumnami na mobile */
    #footer .footer-wrap .elementor-container {
        padding: 32px 18px 16px !important;
    }

    #footer .footer-wrap .elementor-row {
        flex-direction: column !important;
        gap: 0 !important;
    }

    #footer .footer-wrap .elementor-column.elementor-inner-column {
        flex: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-bottom: 16px !important;
    }

    /* Kolumna 1: Firma */
    #footer .footer-section .elementor-widget-theme-site-title {
        margin-bottom: 10px !important;
    }

    #footer .footer-address {
        font-size: 13.5px !important;
        line-height: 1.65 !important;
        padding-bottom: 0px !important;
        border-bottom: 0px solid rgba(255, 255, 255, 0.08) !important;
    }

    #footer {
        .footer-wrap {
            .elementor-col-25 {
                .elementor-column-wrap {
                    padding-top: 0px;
                    padding-bottom: 0px;
                }
            }
        }
    }

    /* Ukryj hamburger Elementora na mobile w stopce */
    #footer .elementor-menu-toggle {
        display: none !important;
    }

    /* Pokaż główny kontener menu Elementora */
    #footer .elementor-nav__container,
    #footer nav.elementor-nav--main {
        display: block !important;
    }

    /* Akordeony na mobile dla menu */
    #footer .elementor-widget-nav-menu li.menu-item-has-children>a.elementor-item {
        font-size: 13px !important;
        letter-spacing: 0.06em !important;
        padding: 12px 0 !important;
        margin: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        cursor: pointer !important;
        pointer-events: auto !important;
        color: #ffffff !important;
    }

    #footer .elementor-widget-nav-menu li.menu-item-has-children>a.elementor-item::after {
        display: none !important;
    }

    #footer .elementor-widget-nav-menu li.menu-item-has-children.ps-acc-open>a.elementor-item::after {
        display: none !important;
    }

    #footer .elementor-widget-nav-menu .sub-arrow,
    #footer .elementor-widget-nav-menu .fas.fa-caret-down {
        display: block !important;
    }

    /* Podmenu na mobile */
    #footer .elementor-widget-nav-menu ul.sub-menu,
    #footer .elementor-widget-nav-menu nav.elementor-nav--main ul.sub-menu,
    #footer .elementor-widget-nav-menu ul.elementor-nav .sub-menu {
        display: none;
        flex-direction: column;
        gap: 10px !important;
        position: static !important;
        visibility: visible !important;
        opacity: 1 !important;
        max-height: none !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        padding: 10px 0 14px 10px !important;
        margin: 0 !important;
        width: 100% !important;
        list-style: none !important;
    }

    #footer .elementor-widget-nav-menu ul.sub-menu li a.elementor-sub-item {
        font-size: 14px !important;
        padding: 4px 0 !important;
        color: rgba(255, 255, 255, 0.72) !important;
    }

    /* Dolny pasek Copyright na mobile */
    #footer .copyright-section {
        border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    }

    #footer .copyright-section .elementor-container {
        padding: 24px 18px 28px !important;
    }

    #footer .copyright-section .elementor-row {
        gap: 16px !important;
    }

    #footer .copyright-section .elementor-widget-social-icons .elementor-social-icons-wrapper {
        justify-content: center !important;
        gap: 12px !important;
    }

    #footer .copyright-section .elementor-icon.elementor-social-icon {
        width: 36px !important;
        height: 36px !important;
    }

    #footer .copyright-payment-icons,
    #footer .copyright-payment-icons [data-dc-tpl="405"],
    #footer .copyright-payment-icons .elementor-text-editor>div {
        justify-content: center !important;
        gap: 6px !important;
    }

    #footer .copyright-payment-icons span,
    #footer .copyright-payment-icons span[data-dc-tpl="407"] {
        padding: 4px 8px !important;
        font-size: 10px !important;
    }

    #footer .copyright-section .copyright-text,
    #footer .copyright-section .copyright-text p {
        font-size: 12.5px !important;
        color: rgba(255, 255, 255, 0.5) !important;
    }
}

/* Ukrywanie cen i przycisków koszyka dla produktów za 0 zł (Smarty + CreativeElements) */
.ps-zero-price-hidden,
.elementor-widget-product-price.ps-zero-price-hidden,
.elementor-widget-product-add-to-cart.ps-zero-price-hidden,
.elementor-widget-product-quantity.ps-zero-price-hidden,
.product_btn_add_to_cart.ps-zero-price-hidden {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

/* ==========================================================================
   FORMULARZE PRODUKTOWE: ZAPYTAJ O CENĘ (#forOrder) & POWIADOMIENIE O DOSTĘPNOŚCI (#mailAlert)
   ========================================================================== */
#forOrder.ps-zero-price-show,
body.ps-zero-price-product #forOrder {
    display: block !important;
}

#forOrder,
#mailAlert,
.js-mailalert {
    margin: 15px 0 !important;
}

#mailAlert {
    margin: 0px !important;
}

#forOrder h3 {
    display: none !important;
}

#forOrder br {
    display: none !important;
}

/* Plakietki informacyjne / statusu */
#forOrder .ask-info,
#mailAlert h3,
.js-mailalert h3 {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: #fff8eb !important;
    color: #b45309 !important;
    border: 1px solid #fde68a !important;
    padding: 7px 14px !important;
    border-radius: 6px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em !important;
    margin-bottom: 14px !important;
    font-family: inherit !important;
    text-transform: none !important;
}

#forOrder .ask-info::before {
    content: "\f017";
    font-family: "Font Awesome 5 Free", "FontAwesome" !important;
    font-weight: 900 !important;
    font-size: 13px !important;
}

#mailAlert h3::before,
.js-mailalert h3::before {
    content: "\f0f3";
    font-family: "Font Awesome 5 Free", "FontAwesome" !important;
    font-weight: 900 !important;
    font-size: 13px !important;
}

/* Przycisk otwierający formularz zapytania */
#forOrder .show-askPrice,
.show-askPrice {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    background: #c8101f !important;
    color: #ffffff !important;
    font-family: 'Poppins', sans-serif !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    border-radius: 4px !important;
    height: 48px !important;
    padding: 0 32px !important;
    border: none !important;
    cursor: pointer !important;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
    box-shadow: 0 4px 12px rgba(200, 16, 31, 0.22) !important;
    text-decoration: none !important;
    margin-top: 4px !important;
}

#forOrder .show-askPrice::before,
.show-askPrice::before {
    content: "\f0e0";
    font-family: "Font Awesome 5 Free", "FontAwesome" !important;
    font-weight: 900 !important;
    font-size: 15px !important;
}

#forOrder .show-askPrice:hover,
.show-askPrice:hover {
    background: #a80d19 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 18px rgba(200, 16, 31, 0.32) !important;
    color: #ffffff !important;
}

#forOrder .show-askPrice:active,
.show-askPrice:active {
    transform: translateY(0) !important;
    box-shadow: 0 2px 6px rgba(200, 16, 31, 0.2) !important;
}

#forOrder .show-askPrice.hide,
.show-askPrice.hide {
    display: none !important;
}

/* Kontenery formularzy (karty o nowoczesnym wyglądzie) */
#forOrder .askPrice,
.askPrice,
#mailAlert .js-mailalert,
.js-mailalert {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    padding: 20px !important;
    margin-top: 12px !important;
    max-width: 480px !important;
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.05) !important;
    animation: psAskPriceFadeIn 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

#forOrder .askPrice,
.askPrice {
    display: none;
}

@keyframes psAskPriceFadeIn {
    from {
        opacity: 0;
        transform: translateY(6px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

#forOrder .askPrice.show,
.askPrice.show {
    display: block !important;
}

#mailAlert .form-group,
.js-mailalert .form-group {
    margin-bottom: 0 !important;
}

/* Nagłówki / opisy pól formularza */
#forOrder .ask-header,
.ask-header,
#mailAlert label.form-control-label,
.js-mailalert label.form-control-label,
#mailAlert .form-group>label {
    font-size: 13.5px !important;
    font-weight: 500 !important;
    color: #334155 !important;
    line-height: 1.5 !important;
    margin-bottom: 12px !important;
    display: block !important;
}

/* Pola tekstowe / inputy */
#forOrder .askPrice input.form-control,
.askPrice input.form-control,
#forOrder .askPrice input[type="email"],
#mailAlert input.form-control,
.js-mailalert input.form-control,
#mailAlert input[type="email"],
.js-mailalert input[type="email"],
#mailAlert input#claim_email,
.js-mailalert input#claim_email {
    width: 100% !important;
    height: 44px !important;
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 4px !important;
    padding: 0 14px !important;
    font-size: 14px !important;
    color: #0f172a !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
    box-sizing: border-box !important;
}

#forOrder .askPrice input.form-control:focus,
.askPrice input.form-control:focus,
#forOrder .askPrice input[type="email"]:focus,
#mailAlert input.form-control:focus,
.js-mailalert input.form-control:focus,
#mailAlert input[type="email"]:focus,
.js-mailalert input[type="email"]:focus,
#mailAlert input#claim_email:focus,
.js-mailalert input#claim_email:focus {
    border-color: #c8101f !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(200, 16, 31, 0.12) !important;
}

/* Zgoda RODO / Punctual Checkbox */
#forOrder .gdpr_consent_wrapper,
.askPrice .gdpr_consent_wrapper,
#mailAlert .gdpr_consent_wrapper,
.js-mailalert .gdpr_consent_wrapper {
    margin-top: 12px !important;
    margin-bottom: 14px !important;
}

#forOrder .gdpr_consent_wrapper label,
.askPrice .gdpr_consent_wrapper label,
#mailAlert .gdpr_consent_wrapper label,
.js-mailalert .gdpr_consent_wrapper label {
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
    font-size: 12px !important;
    color: #64748b !important;
    line-height: 1.45 !important;
    cursor: pointer !important;
    margin: 0 !important;
}

#forOrder .gdpr_consent_wrapper input[type="checkbox"],
.askPrice .gdpr_consent_wrapper input[type="checkbox"],
#mailAlert .gdpr_consent_wrapper input[type="checkbox"],
.js-mailalert .gdpr_consent_wrapper input[type="checkbox"] {
    margin-top: 2px !important;
    accent-color: #c8101f !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
}

#forOrder .gdpr_consent_wrapper a,
.askPrice .gdpr_consent_wrapper a,
#mailAlert .gdpr_consent_wrapper a,
.js-mailalert .gdpr_consent_wrapper a {
    color: #c8101f !important;
    text-decoration: underline !important;
}

/* Przyciski wysyłki (Submit) */
#forOrder .wpcf7-submit,
.askPrice .wpcf7-submit,
#mailAlert button[type="submit"],
.js-mailalert button[type="submit"],
#mailAlert .btn-primary,
.js-mailalert .btn-primary {
    width: 100% !important;
    height: 46px !important;
    background: #c8101f !important;
    color: #ffffff !important;
    font-family: 'Poppins', sans-serif !important;
    font-weight: 600 !important;
    font-size: 13.5px !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    border-radius: 4px !important;
    border: none !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 3px 10px rgba(200, 16, 31, 0.25) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    margin-top: 8px !important;
    text-decoration: none !important;
}

#forOrder .wpcf7-submit:hover:not(:disabled),
.askPrice .wpcf7-submit:hover:not(:disabled),
#mailAlert button[type="submit"]:hover:not(:disabled),
.js-mailalert button[type="submit"]:hover:not(:disabled),
#mailAlert .btn-primary:hover:not(:disabled),
.js-mailalert .btn-primary:hover:not(:disabled) {
    background: #a80d19 !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 5px 14px rgba(200, 16, 31, 0.35) !important;
}

#forOrder .wpcf7-submit:disabled,
.askPrice .wpcf7-submit:disabled,
#forOrder .wpcf7-submit[disabled],
.askPrice .wpcf7-submit[disabled],
#mailAlert button[type="submit"]:disabled,
.js-mailalert button[type="submit"]:disabled,
#mailAlert button[type="submit"][disabled],
.js-mailalert button[type="submit"][disabled],
#mailAlert .btn-primary:disabled,
.js-mailalert .btn-primary:disabled {
    background: #94a3b8 !important;
    opacity: 0.65 !important;
    cursor: not-allowed !important;
    transform: none !important;
    box-shadow: none !important;
}

/* Komunikaty zwrotne / Alerty */
#forOrder .wpcf7-response-output,
.askPrice .wpcf7-response-output,
#mailAlert .js-mailalert-alerts,
.js-mailalert .js-mailalert-alerts,
#mailAlert .alert,
.js-mailalert .alert {
    margin-top: 14px !important;
    padding: 10px 14px !important;
    border-radius: 4px !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
}

#forOrder .wpcf7-mail-sent-ok,
#mailAlert .alert-success,
.js-mailalert .alert-success {
    background: #ecfdf5 !important;
    border: 1px solid #6ee7b7 !important;
    color: #065f46 !important;
}

#forOrder .wpcf7-validation-errors,
#mailAlert .alert-danger,
.js-mailalert .alert-danger,
#mailAlert .alert-warning,
.js-mailalert .alert-warning {
    background: #fef2f2 !important;
    border: 1px solid #fecaca !important;
    color: #991b1b !important;
}

/* ponytail: Swiper 11 (CE) usunął moduł lazy — widget karuzeli dalej renderuje
   .swiper-lazy-preloader, nikt go nie kasuje, spinner kręci się bez końca.
   Obrazki ładują się natywnie (loading="lazy"), preloader jest zbędny. */
.elementor .swiper-lazy-preloader {
    display: none !important;
}

/* ponytail: strzałki karuzel CE — spójne z brandem (#c81f36), lepiej widoczne.
   Klasę .ce-carousel-fixed dokłada child-theme.js -> initCeCarousels() (natywny
   init Swiper CE rozbraja konflikt CE + AvanamBuilder). Karuzele produktowe
   dostają też .ce-scroll: lista staje się natywnym scrollem poziomym, a strzałki
   przewijają o jedną stronę (zawsze pokazują właściwe produkty). */
.elementor-carousel-wrapper .slick-prev,
.elementor-carousel-wrapper .slick-next {
    display: none !important;
}

.elementor-carousel-wrapper.ce-scroll {
    overflow: hidden !important;
}

.elementor-carousel-wrapper.ce-scroll .swiper-wrapper {
    /* --ce-per-desktop i --ce-gap ustawia child-theme.js z ustawień widgetu CE */
    --ce-per: var(--ce-per-desktop, 4);
    grid-auto-flow: column !important;
    grid-template-columns: none !important;
    grid-auto-columns: calc((100% - (var(--ce-per) - 1) * var(--ce-gap, 12px)) / var(--ce-per)) !important;
    transition: transform .4s ease;
    will-change: transform;
}

.elementor-carousel-wrapper.ce-scroll .swiper-pagination {
    display: none;
}

@media (max-width: 1024px) {
    .elementor-carousel-wrapper.ce-scroll .swiper-wrapper {
        --ce-per: min(3, var(--ce-per-desktop, 4));
    }
}

@media (max-width: 767px) {
    .elementor-carousel-wrapper.ce-scroll .swiper-wrapper {
        --ce-per: min(2, var(--ce-per-desktop, 4));
    }
}

@media (max-width: 479px) {
    .elementor-carousel-wrapper.ce-scroll .swiper-wrapper {
        --ce-per: 1;
    }
}

.elementor-carousel-wrapper.ce-carousel-fixed .elementor-swiper-button {
    width: 44px;
    height: 44px;
    top: 50%;
    transform: translateY(-50%);
    margin-top: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #c81f36;
    color: #fff;
    font-size: 20px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .25);
    opacity: .92;
    transition: background .15s ease, opacity .15s ease, transform .15s ease;
    z-index: 5;
}

.elementor-carousel-wrapper.ce-carousel-fixed .elementor-swiper-button:hover {
    background: #a5162a;
    opacity: 1;
    transform: translateY(-50%) scale(1.06);
}

.elementor-carousel-wrapper.ce-carousel-fixed .elementor-swiper-button:active {
    transform: translateY(-50%) scale(.95);
}

.elementor-carousel-wrapper.ce-carousel-fixed .elementor-swiper-button.ce-arrow-disabled {
    opacity: .3;
    pointer-events: none;
}

.elementor-carousel-wrapper.ce-carousel-fixed .elementor-swiper-button-prev {
    left: 12px;
    right: auto;
}

.elementor-carousel-wrapper.ce-carousel-fixed .elementor-swiper-button-next {
    right: 12px;
    left: auto;
}

.elementor-carousel-wrapper.ce-carousel-fixed .elementor-swiper-button i {
    line-height: 1;
    color: #fff !important;
    font-size: 20px;
}

.ce-product-price-pack {
    display: none;
}

@media (max-width: 767px) {
    .elementor-carousel-wrapper.ce-carousel-fixed .elementor-swiper-button {
        width: 36px;
        height: 36px;
        font-size: 16px;
    }

    .elementor-carousel-wrapper.ce-carousel-fixed .elementor-swiper-button-prev {
        left: 4px;
    }

    .elementor-carousel-wrapper.ce-carousel-fixed .elementor-swiper-button-next {
        right: 4px;
    }
}

/* ponytail: galeria zdjęć na karcie produktu (widget product-images CE).
   Ten sam konflikt CE + AvanamBuilder — .elementor-main-swiper nie startuje.
   Strzałki i miniatury obsługuje child-theme.js -> initProductGallery(). */
.elementor-widget-product-images.ce-gallery-fixed .elementor-main-swiper {
    overflow: hidden;
}

.elementor-widget-product-images.ce-gallery-fixed .elementor-main-swiper>.swiper-wrapper {
    transition: transform .35s ease;
    will-change: transform;
}

.elementor-widget-product-images.ce-gallery-fixed .elementor-swiper-button {
    width: 40px;
    height: 40px;
    top: 50%;
    transform: translateY(-50%);
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #c81f36;
    color: #fff;
    font-size: 18px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .25);
    opacity: .92;
    transition: background .15s ease, opacity .15s ease, transform .15s ease;
    z-index: 5;
}

.elementor-widget-product-images.ce-gallery-fixed .elementor-swiper-button:hover {
    background: #a5162a;
    opacity: 1;
    transform: translateY(-50%) scale(1.06);
}

.elementor-widget-product-images.ce-gallery-fixed .elementor-swiper-button:active {
    transform: translateY(-50%) scale(.95);
}

.elementor-widget-product-images.ce-gallery-fixed .elementor-swiper-button.ce-arrow-disabled {
    opacity: .3;
    pointer-events: none;
}

.elementor-widget-product-images.ce-gallery-fixed .elementor-swiper-button-prev {
    left: 10px;
    right: auto;
}

.elementor-widget-product-images.ce-gallery-fixed .elementor-swiper-button-next {
    right: 10px;
    left: auto;
}

.elementor-widget-product-images.ce-gallery-fixed .elementor-swiper-button i {
    line-height: 1;
    color: #fff !important;
}

.elementor-widget-product-images.ce-gallery-fixed .elementor-thumbnails-swiper .swiper-slide {
    cursor: pointer;
    opacity: .55;
    transition: opacity .15s ease;
}

.elementor-widget-product-images.ce-gallery-fixed .elementor-thumbnails-swiper .swiper-slide-thumb-active,
.elementor-widget-product-images.ce-gallery-fixed .elementor-thumbnails-swiper .swiper-slide:hover {
    opacity: 1;
}

@media (max-width: 767px) {
    .elementor-widget-product-images.ce-gallery-fixed .elementor-swiper-button {
        width: 34px;
        height: 34px;
        font-size: 15px;
    }
}

/* ponytail: pasek "Dodaj do koszyka" na karcie produktu (.product_sticky).
   child-theme.js -> initStickyAddToCart() przenosi go na <body> i przełącza
   .ps-sticky-visible gdy główny formularz koszyka wyjdzie z widoku. */
.product_sticky {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    top: auto !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
    z-index: 9999;
    transform: translateY(110%);
    opacity: 0;
    pointer-events: none;
    transition: transform .32s cubic-bezier(.4, 0, .2, 1), opacity .32s ease;
    box-shadow: 0 -3px 16px rgba(0, 0, 0, .13);
    background: #fff;
}

.product_sticky.ps-sticky-visible {
    transform: translateY(0) !important;
    opacity: 1;
    pointer-events: auto;
}

.product_sticky>.elementor-container {
    padding: 10px 18px !important;
    padding-bottom: max(10px, env(safe-area-inset-bottom)) !important;
    max-width: 100% !important;
}

/* jedna linia: nazwa (skraca się) | ilość | Dodaj do koszyka */
.product_sticky .elementor-row {
    display: flex !important;
    align-items: center;
    gap: 18px;
    flex-wrap: nowrap !important;
}

.product_sticky .elementor-row>.elementor-column {
    width: auto !important;
    flex: 0 0 auto !important;
}

.product_sticky .elementor-row>.elementor-column:first-child {
    flex: 1 1 auto !important;
    min-width: 0;
}

/* pusta środkowa kolumna z szablonu CE */
.product_sticky .elementor-row>.elementor-column:nth-child(2) {
    display: none !important;
}

.product_sticky .elementor-column-wrap,
.product_sticky .elementor-widget-wrap {
    display: flex !important;
    flex-direction: row !important;
    align-items: center;
    gap: 12px;
    flex-wrap: nowrap;
}

.product_sticky .elementor-widget-wrap>.elementor-element,
.product_sticky .elementor-widget {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;

    &.ce-product-quantity--view-default {
        margin-bottom: 0 !important;
    }
}

.product_sticky .ce-product-name {
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 15px;
    line-height: 1.3;
}

.product_sticky [data-widget_type="product-add-to-cart.default"] .elementor-button-wrapper,
.product_sticky [data-widget_type="product-add-to-cart.default"] .elementor-button {
    width: auto !important;
    white-space: nowrap;
}

/* mobile + tablet: bez nazwy produktu, przycisk "Dodaj do koszyka" na całą szerokość */
@media (max-width: 1024px) {
    .product_sticky .elementor-row>.elementor-column:first-child {
        display: none !important;
    }

    .product_sticky .elementor-row {
        gap: 12px;
    }

    .product_sticky .elementor-row>.elementor-column:last-child {
        flex: 1 1 auto !important;
    }

    .product_sticky .elementor-widget-wrap {
        width: 100%;
    }

    .product_sticky [data-widget_type="product-add-to-cart.default"] {
        flex: 1 1 auto !important;
    }

    .product_sticky [data-widget_type="product-add-to-cart.default"] .elementor-button-wrapper,
    .product_sticky [data-widget_type="product-add-to-cart.default"] .elementor-button {
        width: 100% !important;
        display: block;
        text-align: center;
    }
}

/* ==========================================================================
   Strona bloga (/blog) — Spójna z systemem sklepu Pompy Sanok
   ========================================================================== */

#module-tvcmsblog-archive #wrapper {
    background: #fff;
    padding-top: 10px;
    padding-bottom: 60px;
}

#module-tvcmsblog-archive #content.page-content {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 auto !important;
    max-width: 1360px !important;
}

#module-tvcmsblog-archive .tv-blog-content-wrapper,
.ps-blog-archive-wrapper {
    width: 100%;
}

/* 1. Nagłówek kategorii bloga — identyczny z .ps-category-header-wrap */
.ps-blog-header-wrap {
    padding: 24px 0 28px !important;
    border-bottom: 1px solid #eceef1;
    margin-bottom: 32px;
}

.ps-blog-header-wrap .ps-category-description {
    max-width: 780px;
}

/* 2. Siatka wpisów — stabilny CSS Grid zamiast flex-math */
.ps-blog-section {
    width: 100%;
}

.ps-blog-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 24px !important;
}

@media (max-width: 991px) {
    .ps-blog-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 20px !important;
    }
}

@media (max-width: 575px) {
    .ps-blog-grid {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }
}

/* 3. Karta wpisu — identyczna z .product-miniature / .ps-product-card */
.ps-blog-col {
    display: flex;
    margin: 0;
    padding: 0;
}

.ps-blog-card {
    position: relative !important;
    border: 1px solid #eceef1 !important;
    border-radius: 6px !important;
    background: #ffffff !important;
    box-shadow: none !important;
    overflow: hidden !important;
    color: #24282d !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: 100% !important;
    text-decoration: none !important;
    transition: border-color .2s ease, box-shadow .2s ease !important;
}

.ps-blog-card:hover {
    border-color: #c8d0d8 !important;
    box-shadow: 0 8px 20px -12px rgba(36, 40, 45, .18) !important;
}

/* Zdjęcie miniatury */
.ps-blog-grid .ps-blog-col .ps-blog-card-media {
    width: 100% !important;
    aspect-ratio: 3 / 2 !important;
    overflow: hidden !important;
    background: #f4f5f7 !important;
    position: relative !important;
}

.ps-blog-thumb-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform .35s ease !important;
}

.ps-blog-card:hover .ps-blog-thumb-img {
    transform: scale(1.03) !important;
}

/* Treść karty */
.ps-blog-card-body {
    padding: 18px 20px 20px !important;
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
}

.ps-blog-card-meta {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    margin-bottom: 8px !important;
    font-size: 12px !important;
    line-height: 1 !important;
}

.ps-blog-card-cat {
    color: #c8101f !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    font-size: 11.5px !important;
}

.ps-blog-card-sep {
    color: #cbd2d9 !important;
}

.ps-blog-card-date {
    color: #8c939d !important;
    font-size: 11.5px !important;
    font-weight: 500 !important;
}

.ps-blog-card-title {
    font-family: 'Poppins', sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    color: #24282d !important;
    margin: 0 0 10px 0 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    min-height: 45px !important;
    transition: color .15s ease !important;
}

.ps-blog-card:hover .ps-blog-card-title {
    color: #c8101f !important;
}

.ps-blog-card-desc {
    font-family: 'Barlow', Helvetica, Arial, sans-serif !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
    color: #5a6068 !important;
    margin: 0 0 16px 0 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    flex: 1 1 auto !important;
}

/* Stopka karty z subtelnym linkiem */
.ps-blog-card-footer {
    margin-top: auto !important;
    padding-top: 14px !important;
    border-top: 1px solid #f3f4f6 !important;
}

.ps-blog-card-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #24282d !important;
    transition: color .15s ease, gap .15s ease !important;
}

.ps-blog-card-link svg {
    transition: transform .15s ease !important;
}

.ps-blog-card:hover .ps-blog-card-link {
    color: #c8101f !important;
    gap: 9px !important;
}

.ps-blog-card:hover .ps-blog-card-link svg {
    transform: translateX(2px) !important;
}

/* 4. Paginacja — korzysta z systemowych reguł .ps-pagination */
.ps-blog-pagination {
    margin-top: 48px !important;
}

/* Ukrycie reliktów starego modułu */
#module-tvcmsblog-archive .tvnews-event-overly,
#module-tvcmsblog-archive .tvnews-event-buttons {
    display: none !important;
}

/* ==========================================================================
   Strona pojedynczego wpisu blogowego — Spójna z systemem sklepu Pompy Sanok
   ========================================================================== */

#module-tvcmsblog-single #wrapper {
    background: #fff;
    padding-top: 16px;
    padding-bottom: 70px;
}

#module-tvcmsblog-single #content.page-content {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 auto !important;
    max-width: 100% !important;
}

#module-tvcmsblog-single .tv_blog_post_area.single {
    width: 100%;
}

#module-tvcmsblog-single .tv_blog_post_area .post_content {
    padding: 0 !important;
}

/* Nawigacja powrotna */
.ps-blog-single-nav {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 20px;
    font-size: 13px;
    color: #8c939d;
}

.ps-blog-back-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #24282d;
    text-decoration: none;
    transition: color .15s ease, gap .15s ease;
}

.ps-blog-back-link svg {
    transition: transform .15s ease;
}

.ps-blog-back-link:hover {
    color: #c8101f;
    gap: 8px;
}

.ps-blog-back-link:hover svg {
    transform: translateX(-2px);
}

.ps-blog-single-sep {
    color: #cbd2d9;
}

.ps-blog-single-crumb {
    color: #8c939d;
    font-size: 13px;
}

/* Nagłówek wpisu: Kategoria, Tytuł, Meta */
.ps-blog-single-header {
    margin-bottom: 28px;
}

#module-tvcmsblog-single .post_title {
    font-family: 'Poppins', sans-serif !important;
    font-size: clamp(26px, 3.2vw, 38px) !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    letter-spacing: -0.02em !important;
    color: #24282d !important;
    margin: 12px 0 16px 0 !important;
    text-transform: none !important;
    word-break: break-word;
}

/* Meta wiersz: lewa strona (autor, data, czas) i prawa strona (kategoria) */
#module-tvcmsblog-single .post_meta {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    padding: 12px 0 16px !important;
    border-top: 1px solid #eceef1 !important;
    border-bottom: 1px solid #eceef1 !important;
    font-size: 13.5px !important;
    color: #6b7178 !important;
    margin-bottom: 30px !important;
    float: none !important;
}

#module-tvcmsblog-single .post_meta p {
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
}

.ps-meta-left {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.ps-meta-right {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
}

.ps-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #5a6068;
}

.ps-meta-item svg {
    color: #8c939d;
    flex-shrink: 0;
}

.ps-meta-author-name {
    font-weight: 600;
    color: #24282d;
}

.ps-meta-date-val {
    font-family: 'Poppins', Helvetica, Arial, sans-serif !important;
    font-size: 12.5px;
    color: #5a6068;
}

.ps-meta-dot {
    color: #cbd2d9;
    user-select: none;
}

.ps-meta-reading {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #8c939d;
    font-size: 12.5px;
}

.ps-meta-category-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-family: 'Barlow', Helvetica, Arial, sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    color: #5a6068 !important;
    text-decoration: none !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    transition: color .15s ease !important;
}

.ps-meta-category-link svg {
    color: #8c939d !important;
    flex-shrink: 0 !important;
    transition: color .15s ease !important;
}

.ps-meta-category-link:hover {
    color: #c8101f !important;
    background: transparent !important;
}

.ps-meta-category-link:hover svg {
    color: #c8101f !important;
}

/* Ukrycie niepotrzebnych reliktów starego modułu */
#module-tvcmsblog-single .post_meta .meta_category,
#module-tvcmsblog-single .post_meta .tvcmsblog-view-count,
#module-tvcmsblog-single .post_meta .tv-author-comment,
#module-tvcmsblog-single .post_meta .meta_date,
#module-tvcmsblog-single .post_meta .meta_author {
    display: none !important;
}

/* Featured Image (.blog_post_content_top) */
#module-tvcmsblog-single .blog_post_content_top {
    width: 100% !important;
    margin: 0 0 40px 0 !important;
    float: none !important;
    padding: 0 !important;
}

#module-tvcmsblog-single .blog_post_content_top .post_thumbnail {
    width: 100%;
    aspect-ratio: 3 / 2;
    max-height: unset !important;
    border-radius: 8px;
    overflow: hidden;
    background: #f4f5f7;
    border: 1px solid #eceef1;
    box-shadow: 0 8px 24px -12px rgba(36, 40, 45, 0.12);
}

#module-tvcmsblog-single .blog_post_content_top .post_thumbnail picture,
#module-tvcmsblog-single .blog_post_content_top .post_thumbnail img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

/* Treść artykułu */
#module-tvcmsblog-single .post_description {
    max-width: 100% !important;
    margin: 0 auto !important;
    font-family: 'Barlow', Helvetica, Arial, sans-serif !important;
    font-size: 16.5px !important;
    line-height: 1.75 !important;
    color: #3c424a !important;
}

#module-tvcmsblog-single .post_description p {
    margin-bottom: 1.5em !important;
}

#module-tvcmsblog-single .post_description h2 {
    font-family: 'Poppins', sans-serif !important;
    font-size: 24px !important;
    font-weight: 600 !important;
    color: #24282d !important;
    margin: 40px 0 18px 0 !important;
    line-height: 1.35 !important;
}

#module-tvcmsblog-single .post_description h3 {
    font-family: 'Poppins', sans-serif !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    color: #24282d !important;
    margin: 32px 0 14px 0 !important;
    line-height: 1.35 !important;
}

#module-tvcmsblog-single .post_description img {
    max-width: 100% !important;
    height: auto !important;
    border-radius: 6px !important;
    margin: 20px 0 !important;
}

@media (max-width: 768px) {
    .ps-blog-single-header {
        margin-bottom: 20px;
    }

    #module-tvcmsblog-single .post_title {
        font-size: 24px !important;
        line-height: 1.3 !important;
    }

    #module-tvcmsblog-single .post_meta {
        font-size: 12.5px !important;
        gap: 8px !important;
    }

    #module-tvcmsblog-single .blog_post_content_top {
        margin-bottom: 28px !important;
    }

    #module-tvcmsblog-single .blog_post_content_top .post_thumbnail {
        max-height: 320px;
    }
}

/* Tabele w treści wpisów blogowych — zawsze 100% szerokości */
#module-tvcmsblog-single .post_description table,
#module-tvcmsblog-single table {
    width: 100% !important;
    max-width: 100% !important;
    border-collapse: collapse;
    margin: 24px 0 !important;
}

#module-tvcmsblog-single .post_description table th,
#module-tvcmsblog-single .post_description table td,
#module-tvcmsblog-single table th,
#module-tvcmsblog-single table td {
    padding: 10px 14px;
    border: 1px solid #eceef1;
    text-align: left;
}

#module-tvcmsblog-single .post_description table th,
#module-tvcmsblog-single table th {
    background: #f8f9fa;
    font-weight: 600;
    color: #24282d;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
}

#module-tvcmsblog-single .post_description table td,
#module-tvcmsblog-single table td {
    font-size: 14.5px;
    color: #4b525d;
}

#module-tvcmsblog-single .post_description table tr:nth-child(even) td,
#module-tvcmsblog-single table tr:nth-child(even) td {
    background: #fafbfc;
}

/* ==========================================================================
   Karta Produktu — Impeccable Polish (Creative Elements Override)
   ========================================================================== */

/* 1. TYTUŁ I METADANE */
#product .ce-product-meta {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin-bottom: 8px !important;
}

#product .ce-product-meta__detail {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
}

#product .ce-product-meta__label {
    font-family: 'Poppins', sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: #8c939d !important;
}

#product .ce-product-meta__value {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #4b525d !important;
    background: #f4f5f7 !important;
    border: 1px solid #e2e5e9 !important;
    padding: 2px 8px !important;
    border-radius: 4px !important;
}

#product .ce-product-name,
#product h1.elementor-heading-title {
    font-family: 'Poppins', sans-serif !important;
    font-size: clamp(22px, 2.5vw, 28px) !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    letter-spacing: -0.015em !important;
    color: #24282d !important;
    text-transform: none !important;
    margin: 4px 0 16px 0 !important;
}

#product .elementor-widget-manufacturer-image img {
    max-height: 44px !important;
    width: auto !important;
    object-fit: contain !important;
}

/* 2. CENA PRODUKTU */
#product .ce-product-prices {
    display: flex !important;
    align-items: baseline !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin: 14px 0 18px 0 !important;
}

#product .ce-product-price {
    font-family: 'Poppins', sans-serif !important;
    font-size: 32px !important;
    font-weight: 700 !important;
    color: #c8101f !important;
    line-height: 1 !important;
    letter-spacing: -0.02em !important;
}

#product .ce-tax-shipping-delivery-label {
    font-family: 'Poppins', sans-serif !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: #8c939d !important;
    background: #f8f9fa !important;
    padding: 3px 8px !important;
    border-radius: 4px !important;
    border: 1px solid #eceef1 !important;
    display: none;
}

/* 3. KRÓTKI OPIS */
#product .ce-product-description-short {
    font-family: 'Barlow', Helvetica, Arial, sans-serif !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
    color: #4b525d !important;
    margin-bottom: 22px !important;
}

#product .ce-product-description-short p {
    margin-bottom: 0 !important;
}

/* 4. WARIANTY / ATRYBUTY PRODUKTU */
#product .ce-product-variants {
    margin: 18px 0 24px 0 !important;
}

#product .ce-product-variants__item {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    margin-bottom: 16px !important;
}

#product .ce-product-variants__label {
    font-family: 'Poppins', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #24282d !important;
    min-width: 75px !important;
}

#product .ce-product-variants__options {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}

#product .ce-product-variants__radio-wrapper {
    margin: 0 !important;
    cursor: pointer !important;
    position: relative !important;
}

#product .ce-product-variants__radio-wrapper input.ce-product-variants__radio {
    position: absolute !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
}

#product .ce-product-variants__radio-wrapper .ce-product-variants__option {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 64px !important;
    height: 38px !important;
    padding: 0 16px !important;
    border-radius: 6px !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    border: 1.5px solid #dcdfe4 !important;
    background: #ffffff !important;
    color: #3c424a !important;
    transition: all .15s ease !important;
    user-select: none !important;
}

#product .ce-product-variants__radio-wrapper:hover .ce-product-variants__option {
    border-color: #24282d !important;
    color: #24282d !important;
}

#product .ce-product-variants__radio-wrapper.checked .ce-product-variants__option,
#product .ce-product-variants__radio-wrapper input:checked~.ce-product-variants__option {
    border-color: #c8101f !important;
    background: #fdeceb !important;
    color: #c8101f !important;
    box-shadow: 0 0 0 1px #c8101f !important;
}

/* 5. ILOŚĆ ORAZ GŁÓWNY PRZYCISK KOSZYKA */
#product .elementor-widget-product-quantity,
#product .elementor-widget-product-add-to-cart {
    display: inline-block !important;
    vertical-align: middle !important;
    margin-right: 12px !important;
    margin-bottom: 24px !important;
}

#product .product_sticky .elementor-widget-product-quantity,
#product .product_sticky .elementor-widget-product-add-to-cart {
    margin: 0 !important;
}

#product .ce-product-quantity {
    display: inline-flex !important;
    align-items: center !important;
    height: 48px !important;
    border: 1.5px solid #dcdfe4 !important;
    border-radius: 6px !important;
    background: #ffffff !important;
    overflow: hidden !important;
    transition: border-color .15s ease !important;
}

#product .ce-product-quantity:hover,
#product .ce-product-quantity:focus-within {
    border-color: #24282d !important;
}

#product .ce-product-quantity input[type="number"] {
    width: 46px !important;
    height: 100% !important;
    border: none !important;
    text-align: center !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #24282d !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    outline: none !important;
    -moz-appearance: textfield;
}

#product .ce-product-quantity input[type="number"]::-webkit-outer-spin-button,
#product .ce-product-quantity input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

#product .ce-product-quantity__btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 34px !important;
    height: 100% !important;
    cursor: pointer !important;
    color: #6b7178 !important;
    font-size: 11px !important;
    transition: all .15s ease !important;
}

#product .ce-product-quantity__btn:hover {
    background: #f4f5f7 !important;
    color: #24282d !important;
}

/* Przycisk "Dodaj do koszyka" — wyrazisty firmowy czerwony CTA */
#product .product_btn_add_to_cart .elementor-button {
    height: 48px !important;
    line-height: 48px !important;
    padding: 0 32px !important;
    border-radius: 6px !important;
    background: #c8101f !important;
    color: #ffffff !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 14.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em !important;
    box-shadow: 0 4px 14px rgba(200, 16, 31, 0.25) !important;
    border: none !important;
    transition: all .2s cubic-bezier(0.16, 1, 0.3, 1) !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

#product .product_btn_add_to_cart .elementor-button:hover {
    background: #a90d1a !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 20px rgba(200, 16, 31, 0.35) !important;
    color: #ffffff !important;
}

#product .product_btn_add_to_cart .elementor-button:active {
    transform: translateY(0) !important;
    box-shadow: 0 2px 6px rgba(200, 16, 31, 0.2) !important;
}

#product .product_btn_add_to_cart .elementor-button i {
    font-size: 17px !important;
    margin-right: 8px !important;
    color: #ffffff !important;
}

/* 6. MIKRO-KARTY ZAUFANIA (4 boksy z ikonami: telefon, dostawa, płatności, PayPo) */
#product .elementor-element-46554a9,
#product .elementor-element-2e74f06 {
    margin-bottom: 12px !important;
}

#product .elementor-widget-icon-box {
    background: #F4F4F4 !important;
    border: 1px solid #eceef1 !important;
    border-radius: 6px !important;
    padding: 14px 16px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02) !important;
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease !important;
    height: 100% !important;
}

#product .elementor-widget-icon-box .elementor-icon-box-icon {
    margin-right: 14px !important;
}

#product .elementor-widget-icon-box .elementor-icon i {
    color: #c8101f !important;
    font-size: 20px !important;
}

#product .elementor-widget-icon-box .elementor-icon-box-title {
    font-family: 'Poppins', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #24282d !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    margin: 0 0 3px 0 !important;
}

#product .elementor-widget-icon-box .elementor-icon-box-description {
    font-family: 'Barlow', sans-serif !important;
    font-size: 12.5px !important;
    color: #6b7178 !important;
    line-height: 1.4 !important;
    margin: 0 !important;
}

#product .elementor-widget-icon-box .elementor-icon-box-description a {
    color: #24282d !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: color .15s ease !important;
}

#product .elementor-widget-icon-box .elementor-icon-box-description a:hover {
    color: #c8101f !important;
}

/* PayPo box */
#product .elementor-element-5893722 {
    background: #f4f4f4 !important;
    border: 1px solid #eceef1 !important;
    border-radius: 6px !important;
    padding: 12px 16px !important;
    display: flex !important;
    align-items: center !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02) !important;
    height: 100% !important;
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease !important;
}

#product .elementor-element-5893722:hover {
    border-color: #dcdfe4 !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.05) !important;
    transform: translateY(-1px) !important;
}

#product .elementor-element-5893722 img {
    max-height: 38px !important;
    width: auto !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 auto !important;
}

/* 7. GALERIA I ZDJĘCIA PRODUKTU */
#product .elementor-main-swiper {
    border-radius: 8px !important;
    border: 1px solid #eceef1 !important;
    background: #ffffff !important;
    overflow: hidden !important;
}

#product .elementor-swiper-button {
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, 0.95) !important;
    border: 1px solid #eceef1 !important;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08) !important;
    color: #3c424a !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all .2s ease !important;
}

#product .elementor-swiper-button:hover {
    background: #ffffff !important;
    color: #c8101f !important;
    border-color: #dcdfe4 !important;
    box-shadow: 0 5px 14px rgba(0, 0, 0, 0.12) !important;
    transform: scale(1.06) !important;
}

#product .elementor-thumbnails-swiper .swiper-slide {
    border-radius: 6px !important;
    border: 1.5px solid #eceef1 !important;
    overflow: hidden !important;
    transition: all .15s ease !important;
    cursor: pointer !important;
    background: #ffffff !important;
}

#product .elementor-thumbnails-swiper .swiper-slide:hover {
    border-color: #cbd2d9 !important;
}

#product .elementor-thumbnails-swiper .swiper-slide.swiper-slide-thumb-active {
    border-color: #c8101f !important;
    box-shadow: 0 0 0 1px #c8101f !important;
}

/* Ukrycie pustego kontenera Omniprice, gdy nie ma obniżki */
#product .elementor-element-5b5c060:not(:has(*)) {
    display: none !important;
}

/* 8. ZAKŁADKI PRODUKTU (TABS) */
#product .elementor-section-tabbed {
    margin-top: 48px !important;
    margin-bottom: 28px !important;
    padding-bottom: 0 !important;
}

#product .elementor-section-tabbed .elementor-container {
    border-bottom: 1.5px solid #eceef1 !important;
}

#product .elementor-nav-tabs .elementor-nav {
    display: flex !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

#product .elementor-nav-tabs .elementor-nav>li {
    flex: 0 0 auto !important;
    width: auto !important;
    margin: 0 !important;
}

#product .elementor-nav-tabs .elementor-nav>li>a.elementor-item {
    font-family: 'Poppins', sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #6b7178 !important;
    padding: 14px 22px !important;
    position: relative !important;
    background: transparent !important;
    border: none !important;
    border-bottom: 2.5px solid transparent !important;
    margin-bottom: -1.5px !important;
    transition: all .15s ease !important;
    text-decoration: none !important;
    display: inline-block !important;
}

#product .elementor-nav-tabs .elementor-nav>li>a.elementor-item::before,
#product .elementor-nav-tabs .elementor-nav>li>a.elementor-item::after {
    display: none !important;
    /* wyłączenie brzydkiego overline Creative Elements */
}

#product .elementor-nav-tabs .elementor-nav>li>a.elementor-item:hover {
    color: #24282d !important;
}

#product .elementor-nav-tabs .elementor-nav>li>a.elementor-item.elementor-item-active {
    color: #c8101f !important;
    border-bottom-color: #c8101f !important;
}

#product {
    .cms-description {

        h2,
        h2 h4,
        h5 {
            margin-bottom: 24px;
            margin-top: 8px;
        }

        p {
            margin-bottom: 16px;
        }

        ul,
        ol {
            margin-bottom: 16px;
            margin-top: 16px;
        }
    }
}

/* 9. TABELA CECH TECHNICZNYCH */
#product table.ce-product-features {
    width: 100% !important;
    max-width: 100% !important;
    border-collapse: collapse !important;
    border: 1px solid #eceef1 !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    margin: 20px 0 !important;
}

#product table.ce-product-features th.ce-product-features__label {
    width: 36% !important;
    padding: 12px 18px !important;
    background: #f8f9fa !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    color: #24282d !important;
    border-bottom: 1px solid #eceef1 !important;
    border-right: 1px solid #eceef1 !important;
    text-align: left !important;
}

#product table.ce-product-features td.ce-product-features__value {
    padding: 12px 18px !important;
    font-family: 'Barlow', Helvetica, Arial, sans-serif !important;
    font-size: 14px !important;
    color: #3c424a !important;
    border-bottom: 1px solid #eceef1 !important;
    text-align: left !important;
    line-height: 1.5 !important;
}

#product table.ce-product-features tr:nth-child(even) th {
    background: #f4f5f7 !important;
}

#product table.ce-product-features tr:nth-child(even) td {
    background: #fafbfc !important;
}

#product table.ce-product-features tr:hover th,
#product table.ce-product-features tr:hover td {
    background: #f0f3f6 !important;
}

/* 10. STICKY BAR NA DOLE EKRANU */
#product .product_sticky {
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.08) !important;
    border-top: 1px solid #eceef1 !important;
    background: #ffffff !important;
    padding: 10px 0 !important;
}

#product .product_sticky .ce-product-name {
    font-family: 'Poppins', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #24282d !important;
    margin: 0 !important;
}

#product .product_sticky .elementor-button {
    background: #c8101f !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    border-radius: 6px !important;
    box-shadow: 0 2px 10px rgba(200, 16, 31, 0.25) !important;
    transition: all .2s ease !important;
}

#product .product_sticky .elementor-button:hover {
    background: #a90d1a !important;
}

/* ==========================================================================
   11. BEZPIECZEŃSTWO PRODUKTU (GPSR — Informacje o producencie)
   ========================================================================== */
#product .accordion.htgpsr {
    margin: 32px auto 48px auto !important;
    max-width: 960px !important;
}

/* Karta tabeli - spójny, elegancki boks */
#product .accordion.htgpsr .card {
    border: 1.5px solid #eceef1 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    background: #ffffff !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03) !important;
    margin-bottom: 20px !important;
}

/* Belka tytułowa tabeli — statyczna, bez interakcji akordeonu */
#product .accordion.htgpsr .card-header {
    background: #f8f9fa !important;
    border-bottom: 1.5px solid #eceef1 !important;
    padding: 14px 22px !important;
}

#product .accordion.htgpsr .card-header h2 {
    margin: 0 !important;
}

#product .accordion.htgpsr .card-header .btn-link {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    width: auto !important;
    padding: 0 !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 14.5px !important;
    font-weight: 600 !important;
    color: #24282d !important;
    text-decoration: none !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    cursor: default !important;
    pointer-events: none !important;
    user-select: text !important;
}

/* Ikona budynku/producenta przed napisem */
#product .accordion.htgpsr .card-header .btn-link::before {
    content: '' !important;
    display: inline-block !important;
    width: 18px !important;
    height: 18px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23c8101f' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4'/%3E%3C/svg%3E") !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    flex-shrink: 0 !important;
}

#product .accordion.htgpsr .card-header .btn-link:hover {
    background: transparent !important;
    color: #24282d !important;
}

/* Całkowite usunięcie strzałki rozwijania/zwijania */
#product .accordion.htgpsr .card-header .btn-link .material-icons {
    display: none !important;
}

/* ZAWSZE otwarta sekcja (brak zwijania akordeonu) */
#product .accordion.htgpsr .collapse,
#product .accordion.htgpsr .collapse:not(.show) {
    display: block !important;
    height: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
}

#product .accordion.htgpsr .collapse.p-2 {
    padding: 0 !important;
}

#product .accordion.htgpsr .card-body {
    padding: 0 !important;
    background: #ffffff !important;
}

/* Czysta, bezramkowa wewnątrz tabela parametrów GPSR */
#product .accordion.htgpsr table,
#product .accordion.htgpsr .table,
#product .accordion.htgpsr .table-bordered {
    width: 100% !important;
    max-width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    background: #ffffff !important;
}

#product .accordion.htgpsr table tr {
    transition: background .15s ease !important;
}

#product .accordion.htgpsr table tr:not(:last-child) td {
    border-bottom: 1px solid #eceef1 !important;
}

/* Lewa kolumna (etykiety) */
#product .accordion.htgpsr table td:first-child {
    width: 240px !important;
    padding: 14px 20px !important;
    background: #f8f9fa !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: #5a6068 !important;
    border-right: 1px solid #eceef1 !important;
    border-top: none !important;
    border-left: none !important;
    vertical-align: middle !important;
}

#product .accordion.htgpsr table tr:hover td:first-child {
    background: #f1f3f6 !important;
    color: #24282d !important;
}

/* Prawa kolumna (wartości) */
#product .accordion.htgpsr table td:last-child {
    padding: 14px 24px !important;
    font-family: 'Barlow', Helvetica, Arial, sans-serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    color: #24282d !important;
    border-top: none !important;
    border-right: none !important;
    border-left: none !important;
    vertical-align: middle !important;
    line-height: 1.55 !important;
    background: #ffffff !important;
}

#product .accordion.htgpsr table tr:hover td:last-child {
    background: #fafbfc !important;
}

#product .accordion.htgpsr table td:last-child p {
    margin: 0 !important;
    line-height: 1.55 !important;
}

/* Podmiot europejski (Tak) — elegancki compliance badge */
#product .accordion.htgpsr table tr:nth-child(5) td:last-child {
    color: #065f46 !important;
    font-weight: 600 !important;
}

#product .accordion.htgpsr table tr:nth-child(5) td:last-child::before {
    content: '✓ ' !important;
    color: #10b981 !important;
    font-weight: 700 !important;
    margin-right: 4px !important;
}

/* Linki w tabeli (WWW, E-mail, Telefon) */
#product .accordion.htgpsr table a {
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #24282d !important;
    text-decoration: none !important;
    transition: color .15s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
}

#product .accordion.htgpsr table a:hover {
    color: #c8101f !important;
    text-decoration: underline !important;
}

/* ==========================================================================
   12. PLIKI DO POBRANIA (Product Attachments)
   ========================================================================== */
#product .elementor-widget-product-attachments {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 16px 0 28px 0 !important;
    margin: 8px 0 32px 0 !important;
}

#product .elementor-widget-product-attachments>.elementor-widget-container {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
}

#product .ce-attachment.elementor-icon-box-wrapper {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    background: #ffffff !important;
    border: 1.5px solid #eceef1 !important;
    border-radius: 8px !important;
    padding: 16px 20px !important;
    gap: 16px !important;
    min-width: 320px !important;
    max-width: 480px !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.02) !important;
    transition: all .2s cubic-bezier(0.16, 1, 0.3, 1) !important;
    margin: 0 !important;
    cursor: pointer !important;
}

#product .ce-attachment.elementor-icon-box-wrapper:hover {
    border-color: #c8101f !important;
    box-shadow: 0 6px 20px rgba(200, 16, 31, 0.08) !important;
    transform: translateY(-2px) !important;
}

#product .ce-attachment .elementor-icon-box-title::after {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
}

#product .ce-attachment .elementor-icon-box-icon {
    margin: 0 !important;
    flex-shrink: 0 !important;

}

#product .ce-attachment .elementor-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 8px !important;
    background: #fdeceb !important;
    border: 1px solid #fbd0ce !important;
    color: #c8101f !important;
    font-size: 18px !important;
    transition: all .2s ease !important;
}

#product .ce-attachment.elementor-icon-box-wrapper:hover .elementor-icon {
    background: #c8101f !important;
    color: #ffffff !important;
    border-color: #c8101f !important;
    transform: scale(1.04) !important;
}

#product .ce-attachment.elementor-icon-box-wrapper:hover .elementor-icon i {
    color: #ffffff !important;
}

#product .ce-attachment .elementor-icon-box-content {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    flex-grow: 1 !important;
}

#product .ce-attachment .elementor-icon-box-title {
    font-family: 'Poppins', sans-serif !important;
    font-size: 14.5px !important;
    font-weight: 600 !important;
    color: #24282d !important;
    text-decoration: none !important;
    margin: 0 0 3px 0 !important;
    line-height: 1.35 !important;
    transition: color .15s ease !important;
}

#product .ce-attachment.elementor-icon-box-wrapper:hover .elementor-icon-box-title {
    color: #c8101f !important;
}

#product .ce-attachment .elementor-icon-box-description {
    margin: 0 !important;
    font-family: 'Barlow', Helvetica, Arial, sans-serif !important;
    font-size: 13px !important;
    color: #8c939d !important;
    line-height: 1.3 !important;
}

#product .ce-attachment .elementor-icon-box-description:empty::before {
    content: 'Dokumentacja techniczna (PDF)' !important;
    font-family: 'Barlow', Helvetica, Arial, sans-serif !important;
    font-size: 12.5px !important;
    color: #8c939d !important;
}

/* Przycisk akcji "Pobierz" po prawej stronie karty */
#product .ce-attachment.elementor-icon-box-wrapper::after {
    content: 'Pobierz' !important;
    margin-left: auto !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    color: #6b7178 !important;
    background: #f4f5f7 !important;
    border: 1px solid #e2e5e9 !important;
    padding: 5px 12px !important;
    border-radius: 4px !important;
    transition: all .15s ease !important;
    flex-shrink: 0 !important;
}

#product .ce-attachment.elementor-icon-box-wrapper:hover::after {
    color: #ffffff !important;
    background: #c8101f !important;
    border-color: #c8101f !important;
}

/* 13. RESPONSYWNOŚĆ MOBILNA */
@media (max-width: 768px) {

    #product .ce-product-name,
    #product h1.elementor-heading-title {
        font-size: 20px !important;
        line-height: 1.35 !important;
        margin-bottom: 12px !important;
    }

    #product .ce-product-price {
        font-size: 26px !important;
    }

    #product .ce-product-variants__item {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 8px !important;
    }

    #product .elementor-widget-product-quantity {
        margin-right: 8px !important;
    }

    #product .product_btn_add_to_cart .elementor-button {
        padding: 0 20px !important;
        font-size: 13.5px !important;
    }

    #product .elementor-nav-tabs .elementor-nav {
        overflow-x: auto !important;
        flex-wrap: nowrap !important;
        -webkit-overflow-scrolling: touch !important;
    }

    #product .elementor-nav-tabs .elementor-nav>li>a.elementor-item {
        padding: 12px 16px !important;
        white-space: nowrap !important;
        font-size: 13.5px !important;
    }

    #product table.ce-product-features th.ce-product-features__label {
        width: 45% !important;
        padding: 10px 12px !important;
        font-size: 12.5px !important;
    }

    #product table.ce-product-features td.ce-product-features__value {
        padding: 10px 12px !important;
        font-size: 13px !important;
    }

    #product .accordion.htgpsr table td:first-child {
        width: 38% !important;
        min-width: 110px !important;
        padding: 10px 12px !important;
        font-size: 12px !important;
    }

    #product .accordion.htgpsr table td:last-child {
        padding: 10px 12px !important;
        font-size: 13px !important;
    }

    #product .ce-attachment.elementor-icon-box-wrapper {
        min-width: 100% !important;
        width: 100% !important;
        padding: 14px 16px !important;
    }
}


/* -----------------------------
   Checkout - dostawa 
------------------------------ */

.delivery-option-name .h6.carrier-name,
.payment-option label span.h6 {
    text-transform: none !important;
}

.delivery-options .row.delivery-option {
    margin: 0;
    line-height: 1.5;
    display: flex;
    flex-wrap: nowrap;
}

.delivery-option>label {
    max-width: 100%;
    flex-wrap: wrap;
}

label.delivery-option-label {
    flex-grow: 1;
}

.delivery-option>label,
.payment-option>label {
    margin-bottom: 0;
    display: flex;
    align-items: center;
}

.delivery-option.selected>div:has(.apaczka-open-map) {
    display: flex !important;
    flex-grow: 1;
    position: absolute;
    right: 10px;
    bottom: 10px;
    width: calc(100% - 20px) !important;
    height: auto;
    background: #fff;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px;
    text-align: center;
    z-index: 1;
    align-items: center;
    justify-content: center;
    gap: 14px;
    flex-direction: column;
    background-color: #f8fafc !important;
}

.delivery-option.selected>div:has(.apaczka-open-map):after {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    position: absolute;
    right: calc(50% - 5px);
    top: -6px;
    background: #fff;
    border-left: 1px solid #e2e8f0;
    border-top: 1px solid #e2e8f0;
    border-radius: 8px;
    background-color: #f8fafc !important;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
}

.custom-radio input[type=radio]:checked+span {
    display: block;
    background-color: #c80436 !important;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    position: absolute;
    left: .125rem;
    top: .125rem;
}

#checkout .delivery-options .row.delivery-option {
    margin: 0;
    line-height: 1.5;
    display: flex;
    flex-wrap: nowrap;
    position: relative;
}

.delivery-option.selected:has(.apaczka-open-map) {
    padding-bottom: 140px;
}

#checkout {
    .btn.btn-primary {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 10px !important;
        background: #c8101f !important;
        color: #ffffff !important;
        font-family: 'Poppins', sans-serif !important;
        font-weight: 600 !important;
        font-size: 14px !important;
        letter-spacing: 0.05em !important;
        text-transform: none !important;
        border-radius: 4px !important;
        height: 48px !important;
        padding: 0 32px !important;
        border: none !important;
        cursor: pointer !important;
        transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
        box-shadow: 0 4px 12px rgba(200, 16, 31, 0.22) !important;
        text-decoration: none !important;
        margin-top: 4px !important;

        &:hover {
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            gap: 10px !important;
            background: #c8101f !important;
            color: #ffffff !important;
            font-family: 'Poppins', sans-serif !important;
            font-weight: 600 !important;
            font-size: 14px !important;
            letter-spacing: 0.05em !important;
            text-transform: none !important;
            border-radius: 4px !important;
            height: 48px !important;
            padding: 0 32px !important;
            border: none !important;
            cursor: pointer !important;
            transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
            box-shadow: 0 4px 12px rgba(200, 16, 31, 0.22) !important;
            text-decoration: none !important;
            margin-top: 4px !important;
        }
    }

    .checkout-block .form-group label {
        margin-top: 10px;
        margin-bottom: 2px;
    }

    .checkout-block .form-group.email label {
        margin-top: 24px;
    }

    #create_account.form-group {
        margin: 0px;
    }

    .form-group.password.password {
        margin: 30px 0 0 0;
    }

    .captcha_register.row.required.register.page_order {
        margin: 0px;
    }

    .business-private-checkboxes {
        margin: 12px 0px;
    }

    #tc-container .address-fields .form-group {
        margin-top: 34px;
        margin-bottom: 24px;

        &.company {
            margin-top: 24px;
            margin-bottom: 6px;
        }

        &.vat_number {
            margin-top: 14.5px;
            margin-bottom: -4px;
        }
    }

    #thecheckout-newsletter,
    #thecheckout-psgdpr,
    #thecheckout-data-privacy {
        padding-top: 0px;
        padding-bottom: 0px;
    }
}

/* ==========================================================================
   AVANAMCOMPARE & BLOCKWISHLIST MODULE STYLES (POMPYSANOK DESIGN SYSTEM)
   ========================================================================== */

/* --- 1. MODAL COMPARE ALERT (Dodano do porównania popup) --- */
#footer .modal.ava-modal.ava-modal-compare,
.modal.ava-modal.ava-modal-compare {
    z-index: 10500 !important;
    color: #1e293b !important;
}

#footer .modal.ava-modal.ava-modal-compare .modal-dialog,
.modal.ava-modal.ava-modal-compare .modal-dialog {
    max-width: 440px !important;
    margin: 1.75rem auto !important;
}

#footer .modal.ava-modal.ava-modal-compare .modal-content,
.modal.ava-modal.ava-modal-compare .modal-content {
    border: none !important;
    border-radius: 16px !important;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.22) !important;
    overflow: hidden !important;
    background: #ffffff !important;
    color: #1e293b !important;
    padding: 24px 28px 28px !important;
    position: relative !important;
}

#footer .modal.ava-modal.ava-modal-compare .modal-header,
.modal.ava-modal.ava-modal-compare .modal-header {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: block !important;
}

#footer .modal.ava-modal.ava-modal-compare .modal-header .close,
.modal.ava-modal.ava-modal-compare .modal-header .close {
    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    width: 34px !important;
    height: 34px !important;
    border-radius: 50% !important;
    background: #f8fafc !important;
    color: #64748b !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: none !important;
    font-size: 20px !important;
    line-height: 1 !important;
    opacity: 1 !important;
    cursor: pointer !important;
    padding: 0 !important;
    margin: 0 !important;
    transition: all 0.2s ease !important;
    z-index: 10 !important;
}

#footer .modal.ava-modal.ava-modal-compare .modal-header .close:hover,
.modal.ava-modal.ava-modal-compare .modal-header .close:hover {
    background: #e2e8f0 !important;
    color: #0f172a !important;
    transform: rotate(90deg);
}

#footer .modal.ava-modal.ava-modal-compare .modal-title,
.modal.ava-modal.ava-modal-compare .modal-title {
    width: 100% !important;
    margin: 0 !important;
    font-size: 1rem !important;
    line-height: normal !important;
    color: #1e293b !important;
}

/* Nowa struktura alerts.tpl */
.ps-compare-modal-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding-top: 8px;
    color: #1e293b !important;
}

.ps-compare-modal-icon-wrap {
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: #ecfdf5;
    border: 2px solid #a7f3d0;
    color: #059669;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px;
    animation: psComparePopIn 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.ps-compare-modal-icon-wrap.ps-icon-error {
    background: #fef2f2;
    border-color: #fecaca;
    color: #ef4444;
}

@keyframes psComparePopIn {
    0% {
        transform: scale(0.6);
        opacity: 0;
    }

    100% {
        transform: scale(1);
        opacity: 1;
    }
}

.ps-compare-modal-title {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    margin: 0 0 6px 0 !important;
    letter-spacing: -0.01em;
}

.ps-compare-modal-pname {
    font-size: 13.5px !important;
    font-weight: 500 !important;
    color: #64748b !important;
    line-height: 1.45 !important;
    margin: 0 0 20px 0 !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    max-width: 320px;
}

.ps-compare-modal-buttons {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
}

.ps-compare-modal-go {
    background: var(--ps-red, #c8101f) !important;
    border: none !important;
    color: #ffffff !important;
    border-radius: 6px !important;
    height: 44px !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    text-decoration: none !important;
    box-shadow: 0 4px 14px rgba(200, 16, 31, 0.28) !important;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.ps-compare-modal-go:hover {
    background: var(--ps-red-hover, #b00c1a) !important;
    color: #ffffff !important;
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(200, 16, 31, 0.36) !important;
}

.ps-compare-modal-close {
    background: #f1f5f9 !important;
    border: 1px solid #e2e8f0 !important;
    color: #334155 !important;
    border-radius: 6px !important;
    height: 42px !important;
    font-weight: 500 !important;
    font-size: 13.5px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

.ps-compare-modal-close:hover {
    background: #e2e8f0 !important;
    color: #0f172a !important;
    border-color: #cbd5e1 !important;
}

/* Fallback dla oryginalnego alerts.tpl */
.ava-alert-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 10px 0;
    text-align: center;
}

.ava-alert-wrapper .ava-alert-success {
    font-size: 16px;
    font-weight: 700;
    color: #1e293b;
    display: block;
}

.ava-alert-wrapper .goto_page {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--ps-red, #c8101f);
    color: #ffffff !important;
    padding: 10px 24px;
    border-radius: 6px;
    font-weight: 600;
    font-size: 14px;
    text-decoration: none !important;
    box-shadow: 0 4px 12px rgba(200, 16, 31, 0.25);
    transition: all 0.2s ease;
}

.ava-alert-wrapper .goto_page:hover {
    background: #b00c1a;
    transform: translateY(-1px);
}


/* --- 2. STRONA PORÓWNYWARKI (/module/avanamcompare/comparator) --- */
.ps-compare-page-container {
    max-width: 1380px;
    margin: 0 auto;
    padding: 24px 20px 60px;
    font-family: inherit;
}

.ps-compare-page-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 24px;
    padding-bottom: 18px;
    border-bottom: 2px solid #edf2f7;
    flex-wrap: wrap;
    gap: 16px;
}

.ps-compare-main-title {
    font-size: 28px !important;
    font-weight: 800 !important;
    color: #1e293b !important;
    letter-spacing: -0.02em;
    margin: 0 0 6px 0 !important;
    line-height: 1.2 !important;
}

.ps-compare-main-subtitle {
    font-size: 14px !important;
    color: #64748b !important;
    margin: 0 !important;
}

.ps-compare-btn-clear {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 9px 18px !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #dc2626 !important;
    background: #fef2f2 !important;
    border: 1px solid #fecaca !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    cursor: pointer !important;
}

.ps-compare-btn-clear:hover {
    background: #dc2626 !important;
    color: #ffffff !important;
    border-color: #dc2626 !important;
    box-shadow: 0 4px 12px rgba(220, 38, 38, 0.25) !important;
}

.ps-compare-icon-trash {
    stroke: currentColor;
}

/* Kontener tabeli porównywarki */
.ps-compare-table-wrapper {
    background: #ffffff;
    border-radius: 14px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.05);
    overflow: hidden;
}

.wrapper-compare-table {
    border: none !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: thin;
}

.wrapper-compare-table::-webkit-scrollbar {
    height: 7px;
}

.wrapper-compare-table::-webkit-scrollbar-thumb {
    background-color: #cbd5e1;
    border-radius: 4px;
}

.wrapper-compare-table::-webkit-scrollbar-track {
    background-color: #f8fafc;
}

.wrapper-compare-table .compare-row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    border-bottom: 1px solid #f1f5f9 !important;
    transition: background-color 0.15s ease !important;
}

.wrapper-compare-table .compare-row:hover {
    background-color: #f8fafc !important;
}

.wrapper-compare-table .compare-row:last-child {
    border-bottom: none !important;
}

.wrapper-compare-table .compare-col {
    padding: 16px 20px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    word-break: break-word !important;
}

/* Kolumna nagłówkowa po lewej */
.wrapper-compare-table .compare-label {
    flex: 0 0 220px !important;
    min-width: 220px !important;
    max-width: 220px !important;
    background: #f8fafc !important;
    color: #334155 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    border-right: 1px solid #e2e8f0 !important;
    position: sticky !important;
    left: 0 !important;
    z-index: 3 !important;
}

.ps-compare-spec-tag {
    color: #94a3b8;
    font-size: 12px;
    font-weight: 600;
}

/* Kolumny produktów */
.wrapper-compare-table .compare-value {
    flex: 1 0 280px !important;
    min-width: 280px !important;
    max-width: 360px !important;
    border-right: 1px solid #f1f5f9 !important;
    text-align: center !important;
    align-items: center !important;
    font-size: 14px !important;
    color: #1e293b !important;
}

.wrapper-compare-table .compare-value:last-child {
    border-right: none !important;
}

/* Pierwszy wiersz tabeli (Karty produktów) */
.wrapper-compare-table .compare-row-products {
    background: #ffffff !important;
    border-bottom: 2px solid #e2e8f0 !important;
}

.wrapper-compare-table .compare-row-products:hover {
    background: #ffffff !important;
}

.ps-compare-product-cell {
    padding: 24px 20px !important;
}

.ps-compare-card {
    width: 100% !important;
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

.ps-compare-item-remove {
    position: absolute !important;
    top: -8px !important;
    right: -4px !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    color: #94a3b8 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    cursor: pointer !important;
    z-index: 4 !important;
}

.ps-compare-item-remove:hover {
    background: #dc2626 !important;
    border-color: #dc2626 !important;
    color: #ffffff !important;
    transform: scale(1.1) !important;
    box-shadow: 0 4px 10px rgba(220, 38, 38, 0.3) !important;
}

.ps-compare-thumb-wrap {
    width: 140px;
    height: 140px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px;
    background: #ffffff;
    border-radius: 8px;
    padding: 6px;
    transition: transform 0.2s ease;
}

.ps-compare-card:hover .ps-compare-thumb-wrap {
    transform: translateY(-2px);
}

.ps-compare-thumb-wrap img {
    max-height: 130px !important;
    max-width: 100% !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
}

.ps-compare-prod-name {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    line-height: 1.35 !important;
    margin: 0 0 10px 0 !important;
    text-decoration: none !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    height: 40px !important;
    transition: color 0.2s ease !important;
}

.ps-compare-prod-name:hover {
    color: var(--ps-red, #c8101f) !important;
}

.ps-compare-price-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    margin-bottom: 14px !important;
    flex-wrap: wrap !important;
}

.ps-compare-current-price {
    font-size: 19px !important;
    font-weight: 800 !important;
    color: var(--ps-red, #c8101f) !important;
    letter-spacing: -0.02em;
}

.ps-compare-regular-price {
    font-size: 13px !important;
    color: #94a3b8 !important;
    text-decoration: line-through !important;
}

.ps-compare-discount-badge {
    font-size: 11px !important;
    font-weight: 700 !important;
    background: #fef2f2 !important;
    color: #dc2626 !important;
    padding: 2px 6px !important;
    border-radius: 4px !important;
}

.ps-compare-cta-wrap {
    width: 100%;
}

.ps-compare-btn-cart {
    width: 100% !important;
    height: 40px !important;
    background: var(--ps-red, #c8101f) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 6px !important;
    font-weight: 600 !important;
    font-size: 13.5px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    box-shadow: 0 3px 10px rgba(200, 16, 31, 0.22) !important;
    transition: all 0.2s ease !important;
    cursor: pointer !important;
}

.ps-compare-btn-cart:hover {
    background: var(--ps-red-hover, #b00c1a) !important;
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(200, 16, 31, 0.32) !important;
}

.ps-compare-btn-view {
    width: 100% !important;
    height: 40px !important;
    background: #f1f5f9 !important;
    color: #334155 !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 6px !important;
    font-weight: 600 !important;
    font-size: 13.5px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}

.ps-compare-btn-view:hover {
    background: #e2e8f0 !important;
    color: #0f172a !important;
    border-color: #cbd5e1 !important;
}

/* Wiersz opisu */
.ps-compare-desc-content {
    font-size: 13.5px;
    line-height: 1.55;
    color: #475569;
    text-align: left;
    max-height: 120px;
    overflow-y: auto;
}

/* Wiersz SKU */
.ps-compare-sku-badge {
    display: inline-block;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 12px;
    font-weight: 600;
    color: #334155;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    padding: 3px 10px;
    border-radius: 5px;
}

/* Wiersz Dostępność - pill badges */
.ps-avail-pill {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
}

.ps-avail-in-stock {
    background: #ecfdf5;
    color: #059669;
    border: 1px solid #a7f3d0;
}

.ps-avail-warning {
    background: #fffbeb;
    color: #d97706;
    border: 1px solid #fde68a;
}

.ps-avail-out-of-stock {
    background: #fef2f2;
    color: #dc2626;
    border: 1px solid #fecaca;
}

.ps-avail-ask {
    background: #f8fafc;
    color: #64748b;
    border: 1px solid #e2e8f0;
}

.ps-compare-feature-val {
    font-weight: 500;
    color: #1e293b;
}

.ps-compare-empty-val {
    color: #cbd5e1;
    font-weight: 400;
}

/* Pusty stan porównywarki */
.ps-compare-empty-box {
    text-align: center;
    padding: 60px 24px;
    background: #ffffff;
    border-radius: 16px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
    max-width: 600px;
    margin: 40px auto;
}

.ps-compare-empty-icon-wrap {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #94a3b8;
    margin-bottom: 20px;
}

.ps-compare-empty-title {
    font-size: 22px !important;
    font-weight: 800 !important;
    color: #1e293b !important;
    margin-bottom: 10px !important;
}

.ps-compare-empty-desc {
    font-size: 14.5px !important;
    color: #64748b !important;
    line-height: 1.6 !important;
    max-width: 440px !important;
    margin: 0 auto 24px !important;
}

.ps-compare-btn-primary {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 44px !important;
    padding: 0 28px !important;
    background: var(--ps-red, #c8101f) !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    border-radius: 6px !important;
    box-shadow: 0 4px 14px rgba(200, 16, 31, 0.28) !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}

.ps-compare-btn-primary:hover {
    background: var(--ps-red-hover, #b00c1a) !important;
    color: #ffffff !important;
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(200, 16, 31, 0.36) !important;
}

.ava-modal-compare {
    .modal-header {
        .close {
            span {
                margin: 0px;
                display: flex;
                align-items: center;
                justify-content: center;

                i {
                    margin: 0px;
                    display: flex;
                    align-items: center;
                    justify-content: center;
                }
            }
        }
    }
}


/* --- 3. MODUŁ LISTY ŻYCZEŃ (BLOCKWISHLIST) --- */
#footer .wishlist-modal,
.wishlist-modal {
    z-index: 10500 !important;
    color: #1e293b !important;
}

#footer .wishlist-modal.show+.modal-backdrop,
.wishlist-modal.show+.modal-backdrop {
    z-index: 10490 !important;
}

#footer .wishlist-modal .modal-dialog,
.wishlist-modal .modal-dialog {
    max-width: 480px !important;
    margin: 2rem auto !important;
}

#footer .wishlist-modal .modal-content,
.wishlist-modal .modal-content {
    border: none !important;
    border-radius: 16px !important;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.2) !important;
    padding: 24px 28px !important;
    background: #ffffff !important;
    color: #1e293b !important;
}

#footer .wishlist-modal .modal-header,
.wishlist-modal .modal-header {
    border: none !important;
    border-bottom: 1px solid #f1f5f9 !important;
    padding: 0 0 16px 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin: 0 !important;
}

#footer .wishlist-modal .modal-header h5,
#footer .wishlist-modal .modal-header .modal-title,
.wishlist-modal .modal-header h5,
.wishlist-modal .modal-header .modal-title {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    margin: 0 !important;
    letter-spacing: -0.01em;
}


.wishlist-modal {
    .modal-header {
        .close {
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 100px;
            width: 1em;
            height: 1em;

            span {
                margin: 0px;
                border-radius: 50%;
                opacity: 1 !important;
                transition: all 0.2s ease !important;
                font-size: 30px;
                line-height: 100%;
                color: var(--palette3);

                font-family: "Material Icons", Arial, sans-serif;
                font-style: normal;
                font-weight: 500;
                text-transform: none;
                letter-spacing: normal;
                word-wrap: normal;
                white-space: nowrap;
                vertical-align: middle;
                text-rendering: "optimizeLegibility";
                font-feature-settings: "liga";
            }
        }
    }
}

#footer .wishlist-modal .close:hover,
.wishlist-modal .close:hover {
    color: #1e293b !important;
    background: #f1f5f9 !important;
    opacity: 1 !important;
}

#footer .wishlist-modal .modal-body,
.wishlist-modal .modal-body {
    padding: 20px 0 !important;
    color: #475569 !important;
}

#footer .wishlist-modal .modal-text,
.wishlist-modal .modal-text,
#footer .wishlist-modal p,
.wishlist-modal p {
    font-size: 14.5px !important;
    color: #475569 !important;
    line-height: 1.6 !important;
    margin: 0 !important;
}

#footer .wishlist-modal .form-control,
.wishlist-modal .form-control {
    border: 1px solid #cbd5e1 !important;
    border-radius: 6px !important;
    padding: 10px 14px !important;
    font-size: 14px !important;
    color: #1e293b !important;
    background: #ffffff !important;
    transition: all 0.2s ease !important;
}

#footer .wishlist-modal .form-control:focus,
.wishlist-modal .form-control:focus {
    border-color: var(--ps-red, #c8101f) !important;
    box-shadow: 0 0 0 3px rgba(200, 16, 31, 0.12) !important;
    outline: none !important;
}

#footer .wishlist-modal .modal-footer,
.wishlist-modal .modal-footer {
    border: none !important;
    border-top: 1px solid #f1f5f9 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    margin: 0 !important;
}

#footer .wishlist-modal .modal-footer .btn-primary,
.wishlist-modal .modal-footer .btn-primary {
    background: var(--ps-red, #c8101f) !important;
    border-color: var(--ps-red, #c8101f) !important;
    color: #ffffff !important;
    border-radius: 6px !important;

    font-weight: 600 !important;
    font-size: 14px !important;
    text-transform: none !important;
    box-shadow: 0 3px 10px rgba(200, 16, 31, 0.22) !important;
    transition: all 0.2s ease !important;
    margin-bottom: 0 !important;
    height: auto !important;
    text-decoration: none !important;
}

#footer .wishlist-modal .modal-footer .btn-primary:hover,
.wishlist-modal .modal-footer .btn-primary:hover {
    background: var(--ps-red-hover, #b00c1a) !important;
    border-color: var(--ps-red-hover, #b00c1a) !important;
    color: #ffffff !important;
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(200, 16, 31, 0.32) !important;
}

#footer .wishlist-modal .modal-footer .modal-cancel,
#footer .wishlist-modal .modal-footer .btn-secondary,
.wishlist-modal .modal-footer .modal-cancel,
.wishlist-modal .modal-footer .btn-secondary {
    background: #f1f5f9 !important;
    border: 1px solid #e2e8f0 !important;
    color: #334155 !important;
    border-radius: 6px !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    text-transform: none !important;
    transition: all 0.2s ease !important;
    margin-bottom: 0 !important;
    height: auto !important;
}

#footer .wishlist-modal .modal-footer .modal-cancel:hover,
#footer .wishlist-modal .modal-footer .btn-secondary:hover,
.wishlist-modal .modal-footer .modal-cancel:hover,
.wishlist-modal .modal-footer .btn-secondary:hover {
    background: #e2e8f0 !important;
    color: #0f172a !important;
    border-color: #cbd5e1 !important;
    opacity: 1 !important;
}

.wishlist-add-to-new,
.wishlist-add-to-new.text-primary,
#footer .wishlist-modal .wishlist-add-to-new,
.wishlist-modal .wishlist-add-to-new {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 9px 18px !important;
    background-color: var(--ps-red, #c8101f) !important;
    border: 1px solid var(--ps-red, #c8101f) !important;
    color: #ffffff !important;
    border-radius: 8px !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    box-shadow: 0 3px 10px rgba(200, 16, 31, 0.22) !important;
    cursor: pointer !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.wishlist-add-to-new:hover,
.wishlist-add-to-new:focus,
.wishlist-add-to-new.text-primary:hover,
.wishlist-add-to-new.text-primary:focus,
#footer .wishlist-modal .wishlist-add-to-new:hover,
.wishlist-modal .wishlist-add-to-new:hover {
    background-color: var(--ps-red-hover, #a80d19) !important;
    border-color: var(--ps-red-hover, #a80d19) !important;
    color: #ffffff !important;
    box-shadow: 0 6px 16px rgba(200, 16, 31, 0.32) !important;
    transform: translateY(-1px) !important;
    text-decoration: none !important;
}

.wishlist-add-to-new:active,
.wishlist-modal .wishlist-add-to-new:active {
    transform: translateY(0) !important;
    box-shadow: 0 2px 6px rgba(200, 16, 31, 0.2) !important;
}

.wishlist-add-to-new i,
.wishlist-add-to-new i.material-icons,
.wishlist-modal .wishlist-add-to-new i,
.wishlist-modal .wishlist-add-to-new i.material-icons {
    color: #ffffff !important;
    font-size: 18px !important;
    margin: 0 !important;
    line-height: 1 !important;
    vertical-align: middle !important;
    transition: transform 0.25s ease !important;
}

.wishlist-add-to-new:hover i,
.wishlist-add-to-new:hover i.material-icons {
    transform: rotate(90deg) !important;
    color: #ffffff !important;
}

/* Toast powiadomienie listy życzeń */
.wishlist-toast {
    position: fixed !important;
    bottom: 28px !important;
    right: 28px !important;
    z-index: 10600 !important;
    background: #1e293b !important;
    color: #ffffff !important;
    border-radius: 10px !important;
    padding: 14px 22px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.25) !important;
    border-left: 4px solid var(--ps-red, #c8101f) !important;
    max-width: 380px !important;
    line-height: 1.45 !important;
    animation: psWishlistToastSlideIn 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

@keyframes psWishlistToastSlideIn {
    0% {
        transform: translateY(20px);
        opacity: 0;
    }

    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

/* Widok list życzeń (/module/blockwishlist/lists) */
.wishlist-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 24px 0 40px;
}

.wishlist-container .wishlist-list-item {
    border: 1px solid #e2e8f0 !important;
    border-radius: 10px !important;
    padding: 16px 20px !important;
    margin-bottom: 12px !important;
    transition: all 0.2s ease !important;
    background: #ffffff !important;
}

.wishlist-container .wishlist-list-item:hover {
    border-color: var(--ps-red, #c8101f) !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05) !important;
}

.wishlist-footer-links a {
    color: var(--ps-red, #c8101f) !important;
    font-weight: 500;
}

.wishlist-footer-links a:hover {
    color: var(--ps-red-hover, #b00c1a) !important;
}




/* ==========================================================================
   Ekrany logowania, rejestracji i odzyskiwania hasła (PompySanok)
   Spójna, profesjonalna stylistyka: Poppins + Barlow, --ps-red (#c8101f),
   identyczna szerokość obu kart (480px), czyste tabsy i solidne przyciski CTA
   ========================================================================== */

/* 1. Reset i wycentrowanie kontenera */
body#authentication #wrapper,
body#registration #wrapper,
body#password #wrapper,
body.page-customer-account #wrapper {
    background: #f8fafc;
}

body#authentication #main,
body#registration #main,
body#password #main {
    padding-top: 24px;
    padding-bottom: 60px;
}

body#authentication #content.page-content,
body#registration #content.page-content,
body#password #content.page-content,
.ps-auth-content-container {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 auto !important;
    max-width: 100% !important;
}

body#authentication .page-header,
body#registration .page-header,
body#password .page-header {
    display: none !important;
}

/* 2. Główny wrapper i karta autoryzacji - IDENTYCZNA SZEROKOŚĆ (480px) */
.ps-auth-page-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin: 10px auto 40px;
    font-family: 'Barlow', Helvetica, Arial, sans-serif;
}

.ps-auth-card,
.ps-auth-card.ps-auth-card--register {
    width: 100%;
    max-width: 480px !important;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    box-shadow: 0 4px 16px -2px rgba(15, 23, 42, 0.05);
    overflow: hidden;
}

/* 3. Czyste, zintegrowane zakładki (Logowanie / Rejestracja) */
.ps-auth-tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: #fafafa;
    border-bottom: 1px solid #e2e8f0;
}

.ps-auth-tab {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 15px 16px;
    font-family: 'Poppins', sans-serif;
    font-size: 14.5px;
    font-weight: 500;
    color: #64748b;
    background: transparent;
    border-bottom: 2px solid transparent;
    text-decoration: none !important;
    transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease;
    cursor: pointer;
}

.ps-auth-tab:hover {
    color: #0f172a;
    background: #f1f5f9;
}

.ps-auth-tab.active {
    color: #c8101f;
    background: #ffffff;
    font-weight: 600;
    border-bottom: 2px solid #c8101f;
}

/* 4. Nagłówek karty */
.ps-auth-header {
    padding: 28px 32px 16px;
    text-align: center;
}

.ps-auth-title {
    font-family: 'Poppins', sans-serif;
    font-size: 22px;
    font-weight: 700;
    color: #0f172a;
    margin: 0 0 6px 0;
    line-height: 1.25;
    letter-spacing: -0.3px;
}

.ps-auth-subtitle {
    font-size: 13.5px;
    color: #64748b;
    margin: 0;
    line-height: 1.45;
}

/* 5. Formularz i pola */
.ps-auth-form-body,
body#authentication #login-form,
body#authentication #customer-form,
body#registration #customer-form,
body#password .forgotten-password {
    padding: 0 32px 24px;
}

body#authentication .form-group.row,
body#registration .form-group.row,
body#password .form-group.row,
.ps-auth-form-body .form-group.row {
    display: block !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 16px !important;
}

body#authentication .form-group.row>label.form-control-label,
body#registration .form-group.row>label.form-control-label,
body#password .form-group.row>label.form-control-label,
.ps-auth-form-body label.form-control-label,
.ps-auth-field-group label.form-control-label {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    padding: 0 0 6px 0 !important;
    text-align: left !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #1e293b !important;
    text-transform: none !important;
    letter-spacing: 0.1px;
}

body#authentication label.required::after,
body#registration label.required::after,
body#password label.required::after,
.ps-auth-form-body label.required::after {
    content: " *" !important;
    color: #c8101f !important;
    font-weight: 700 !important;
}

body#authentication label.form-control-label:empty,
body#registration label.form-control-label:empty,
body#password label.form-control-label:empty,
body#authentication .form-group:has(.custom-checkbox)>label.form-control-label,
body#registration .form-group:has(.custom-checkbox)>label.form-control-label,
.ps-auth-form-body .form-group:has(.custom-checkbox)>label.form-control-label {
    display: none !important;
}

body#authentication .form-group.row>div[class*="col-md-"],
body#registration .form-group.row>div[class*="col-md-"],
body#password .form-group.row>div[class*="col-md-"],
.ps-auth-form-body .form-group.row>div[class*="col-md-"] {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    padding: 0 !important;
}

/* Pola wejściowe - solidne, czyste obramowanie */
body#authentication input.form-control,
body#registration input.form-control,
body#password input.form-control,
.ps-auth-form-body input.form-control {
    width: 100% !important;
    height: 44px !important;
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 8px !important;
    padding: 8px 14px !important;
    font-size: 14px !important;
    font-family: 'Barlow', Helvetica, Arial, sans-serif !important;
    color: #0f172a !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
}

body#authentication input.form-control:hover,
body#registration input.form-control:hover,
body#password input.form-control:hover,
.ps-auth-form-body input.form-control:hover {
    border-color: #94a3b8 !important;
}

body#authentication input.form-control:focus,
body#registration input.form-control:focus,
body#password input.form-control:focus,
.ps-auth-form-body input.form-control:focus {
    border-color: #c8101f !important;
    box-shadow: 0 0 0 3px rgba(200, 16, 31, 0.12) !important;
    outline: none !important;
    background: #ffffff !important;
}

/* 6. Pole hasła i przycisk Pokaż/Ukryj */
.input-group.js-parent-focus {
    position: relative !important;
    display: flex !important;
    width: 100% !important;
}

.input-group.js-parent-focus input.form-control {
    padding-right: 76px !important;
    border-radius: 8px !important;
}

.input-group.js-parent-focus .input-group-btn {
    position: absolute !important;
    right: 6px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 5 !important;
    display: flex !important;
    align-items: center !important;
}

.input-group.js-parent-focus .input-group-btn button.btn[data-action="show-password"],
.input-group.js-parent-focus .input-group-btn .btn {
    background: #f1f5f9 !important;
    color: #475569 !important;
    border: 1px solid #cbd5e1 !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    border-radius: 5px !important;
    padding: 5px 8px !important;
    height: auto !important;
    line-height: 1 !important;
    transition: all 0.15s ease !important;
    cursor: pointer !important;
}

.input-group.js-parent-focus .input-group-btn button.btn[data-action="show-password"]:hover,
.input-group.js-parent-focus .input-group-btn .btn:hover {
    background: #e2e8f0 !important;
    color: #0f172a !important;
}

/* 7. Link Zapomniałeś hasła? */
.forgot-password {
    text-align: right !important;
    margin-top: -4px !important;
    margin-bottom: 20px !important;
}

.forgot-password a {
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #64748b !important;
    text-decoration: none !important;
    transition: color 0.15s ease !important;
}

.forgot-password a:hover {
    color: #c8101f !important;
    text-decoration: underline !important;
}

/* 8. Przyciski akcji (CTA) - solidna, rzetelna czerwień bez gradientowego slopu */
body#authentication .form-footer,
body#registration .form-footer,
body#password .form-footer,
.ps-auth-form-footer {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    margin-top: 14px !important;
    float: none !important;
    clear: both !important;
}

body#authentication .form-footer .float-xs-right,
body#registration .form-footer .float-xs-right,
body#authentication .float-xs-right,
body#registration .float-xs-right,
.ps-auth-card .float-xs-right {
    float: none !important;
}

body#authentication button#submit-login,
body#registration button#submit-login,
body#authentication button[data-link-action="save-customer"],
body#registration button[data-link-action="save-customer"],
body#authentication button.form-control-submit,
body#registration button.form-control-submit,
body#password button#send-reset-link,
.ps-auth-submit-btn {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 46px !important;
    background: #c8101f !important;
    color: #ffffff !important;
    border: 1px solid #c8101f !important;
    border-radius: 8px !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 14.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0.2px !important;
    cursor: pointer !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
    transition: background-color 0.15s ease, border-color 0.15s ease !important;
    margin-top: 10px !important;
    float: none !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
}

body#authentication button#submit-login:hover,
body#registration button#submit-login:hover,
body#authentication button[data-link-action="save-customer"]:hover,
body#registration button[data-link-action="save-customer"]:hover,
body#authentication button.form-control-submit:hover,
body#registration button.form-control-submit:hover,
body#password button#send-reset-link:hover,
.ps-auth-submit-btn:hover {
    background: #a80d19 !important;
    border-color: #a80d19 !important;
    color: #ffffff !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
}

/* 9. Formularz rejestracji: wybór płci (Pan / Pani) */
.form-group .col-md-6 label.radio-inline {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin-right: 14px !important;
    margin-bottom: 4px !important;
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 6px !important;
    padding: 6px 14px !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #334155 !important;
    cursor: pointer !important;
    transition: all 0.15s ease !important;
}

.form-group .col-md-6 label.radio-inline:hover {
    border-color: #94a3b8 !important;
}

.form-group .col-md-6 label.radio-inline:has(input[type="radio"]:checked) {
    background: #fff5f5 !important;
    border-color: #c8101f !important;
    color: #c8101f !important;
    font-weight: 600 !important;
}

/* 10. Komentarze pomocnicze */
.form-control-comment {
    font-size: 12px !important;
    color: #64748b !important;
    margin-top: 4px !important;
    margin-bottom: 0 !important;
    line-height: 1.4 !important;
    display: block !important;
}

/* 11. Checkboxy zgód i RODO */
.ps-auth-form-body .custom-checkbox,
body#authentication .custom-checkbox,
body#registration .custom-checkbox {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    margin-bottom: 12px !important;
}

.ps-auth-form-body .custom-checkbox label,
body#authentication .custom-checkbox label,
body#registration .custom-checkbox label {
    font-size: 13px !important;
    line-height: 1.45 !important;
    color: #475569 !important;
    font-weight: 400 !important;
    text-align: left !important;
    margin-bottom: 0 !important;
}

.ps-auth-form-body .custom-checkbox label a,
body#authentication .custom-checkbox label a,
body#registration .custom-checkbox label a {
    color: #c8101f !important;
    font-weight: 600 !important;
    text-decoration: underline !important;
}

.ps-auth-form-body .custom-checkbox input[type="checkbox"],
body#authentication .custom-checkbox input[type="checkbox"],
body#registration .custom-checkbox input[type="checkbox"] {
    accent-color: #c8101f !important;
    width: 16px !important;
    height: 16px !important;
    margin-top: 2px !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
}

/* 12. Wskaźnik siły hasła PrestaShop */
.field-password-policy {
    margin-bottom: 14px;
}

.field-password-policy .password-requirements-list {
    margin-top: 6px;
    padding-left: 0;
    list-style: none;
    font-size: 12px;
    color: #64748b;
}

.field-password-policy .password-requirements-list li {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 3px;
}

.field-password-policy .password-strength-feedback {
    margin-top: 6px;
    height: 5px;
    border-radius: 3px;
    background: #e2e8f0;
    overflow: hidden;
}

/* 13. Dolny prompt w karcie */
.ps-auth-footer-prompt {
    padding: 16px 32px;
    background: #f8fafc;
    border-top: 1px solid #e2e8f0;
    text-align: center;
    font-size: 13.5px;
    color: #64748b;
    display: flex;
    flex-direction: row;
    gap: 8px;
    align-items: center;
    justify-content: center;
}

.ps-auth-link-bold {
    color: #c8101f !important;
    font-family: 'Poppins', sans-serif;
    font-size: 13.5px;
    font-weight: 600;
    text-decoration: none !important;
    transition: color 0.15s ease;
}

.ps-auth-link-bold:hover {
    color: #a80d19 !important;
    text-decoration: underline !important;
}

body#authentication .login-form+hr,
body#authentication .no-account,
body#authentication .register-form>p,
body#registration .register-form>p {
    display: none !important;
}

/* 14. Powiadomienia o błędach i alerty */
body#authentication .alert-danger,
body#registration .alert-danger,
body#password .alert-danger,
.ps-auth-alert,
.help-block.alert-danger {
    background: #fef2f2 !important;
    border: 1px solid #fecaca !important;
    border-left: 4px solid #ef4444 !important;
    border-radius: 8px !important;
    color: #991b1b !important;
    padding: 12px 16px !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    margin-bottom: 18px !important;
}

body#authentication .alert-danger ul,
body#registration .alert-danger ul,
.ps-alert-error {
    margin: 0 !important;
    padding-left: 20px !important;
}

/* 15. Responsywność dla mobile */
@media (max-width: 640px) {

    .ps-auth-card,
    .ps-auth-card.ps-auth-card--register {
        border-radius: 10px;
        margin: 0 12px;
    }

    .ps-auth-header {
        padding: 22px 20px 14px;
    }

    .ps-auth-title {
        font-size: 19px;
    }

    .ps-auth-form-body,
    body#authentication #login-form,
    body#authentication #customer-form,
    body#registration #customer-form,
    body#password .forgotten-password {
        padding: 0 20px 20px;
    }

    .ps-auth-footer-prompt {
        padding: 14px 20px;
    }
}

/* ==========================================================================
   SEKCJA KONTA KLIENTA (PANEL KLIENTA / MOJE KONTO & PODSTRONY)
   Czysta, inżynierska estetyka PompySanok - BEZ AI SLOP
   ========================================================================== */

/* 1. Globalne resetowanie i wrapper dla stron klienta */
body.page-customer-account #main,
body#module-ps_emailalerts-account #main,
body#module-przelewy24-accountMyCards #main {
    padding-top: 15px;
    margin-bottom: 50px;
}

body.page-customer-account #content.page-content,
body#module-ps_emailalerts-account #content.page-content,
body#module-przelewy24-accountMyCards #content.page-content,
.ps-customer-page-content {
    background: #ffffff !important;
    border: 1px solid #eceef1 !important;
    border-radius: 6px !important;
    box-shadow: none !important;
    padding: 32px !important;
    margin-bottom: 24px !important;
}

body#my-account #content.page-content {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

/* 2. Nagłówek stron klienta (Breadcrumbs & Tytuł H1) */
.ps-customer-page-header {
    margin-bottom: 24px;
}

.ps-customer-header-inner {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ps-customer-breadcrumb {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #64748b;
}

.ps-breadcrumb-back-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #64748b;
    text-decoration: none !important;
    font-weight: 500;
    transition: color 0.15s ease;
}

.ps-breadcrumb-back-link i {
    font-size: 18px;
}

.ps-breadcrumb-back-link:hover {
    color: #c8101f;
}

.ps-breadcrumb-sep {
    color: #cbd5e1;
}

.ps-breadcrumb-current {
    color: #0f172a;
    font-weight: 500;
}

.ps-customer-h1 {
    font-family: 'Poppins', sans-serif;
    font-size: 24px;
    font-weight: 700;
    color: #0f172a;
    margin: 0;
    line-height: 1.25;
    letter-spacing: -0.3px;
}

/* 3. Pulpit klienta - Nagłówek powitalny */
.ps-account-dashboard-header .ps-customer-header-inner {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
    padding-bottom: 20px;
    border-bottom: 1px solid #e2e8f0;
}

.ps-account-welcome-title {
    font-family: 'Poppins', sans-serif;
    font-size: 24px;
    font-weight: 700;
    color: #0f172a;
    margin: 0 0 4px 0;
    line-height: 1.25;
    letter-spacing: -0.3px;
}

.ps-account-user-meta {
    font-family: 'Barlow', Helvetica, Arial, sans-serif;
    font-size: 13.5px;
    color: #64748b;
    margin: 0;
}

.ps-account-user-meta strong {
    color: #334155;
    font-weight: 600;
}

.ps-account-logout-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    height: 38px !important;
    padding: 0 16px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 4px !important;
    background: #ffffff !important;
    color: #475569 !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.02em !important;
    text-decoration: none !important;
    transition: all 0.15s ease !important;
}

.ps-account-logout-link i {
    font-size: 18px !important;
}

.ps-account-logout-link:hover {
    border-color: #c8101f !important;
    color: #c8101f !important;
    background: #fef2f2 !important;
}

/* 4. Siatka kafelków pulpitu klienta */
.ps-account-grid,
body#my-account .links {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 16px !important;
    margin: 0 0 32px 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

@media (max-width: 991px) {

    .ps-account-grid,
    body#my-account .links {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 14px !important;
    }
}

/* Reset stylów motywu nadrzędnego dla ikon w sekcji linków konta klienta */
body#my-account #content .links a i,
.ps-account-grid a i {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    width: auto !important;
    height: auto !important;
    line-height: 1 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* Karty kafelków (zarówno .ps-account-card, jak i modułowe) */
.ps-account-card,
.ps-account-grid>a,
body#my-account .links a {
    display: flex !important;
    align-items: center !important;
    padding: 18px !important;
    background: #ffffff !important;
    border: 1px solid #eceef1 !important;
    border-radius: 6px !important;
    text-decoration: none !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease !important;
    box-shadow: none !important;
    position: relative !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    min-height: 92px !important;
}

.ps-account-card::before,
.ps-account-card::after,
.ps-account-grid>a::before,
.ps-account-grid>a::after {
    display: none !important;
    content: none !important;
}

.ps-account-card:hover,
.ps-account-grid>a:hover,
body#my-account .links a:hover {
    border-color: #c8101f !important;
    box-shadow: 0 8px 20px -10px rgba(200, 16, 31, 0.18) !important;
    transform: translateY(-2px) !important;
}

/* Ikony kafelków w kartach autorskich .ps-account-card */
.ps-account-card-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    border-radius: 6px !important;
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    color: #475569 !important;
    flex-shrink: 0 !important;
    margin: 0 16px 0 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease !important;
}

.ps-account-card-icon i {
    font-size: 22px !important;
    color: inherit !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    width: auto !important;
    height: auto !important;
}

.ps-account-card:hover .ps-account-card-icon {
    background: #fef2f2 !important;
    border-color: #fecaca !important;
    color: #c8101f !important;
}

/* Treść w kafelkach autorskich */
.ps-account-card-content {
    flex: 1 !important;
    min-width: 0 !important;
}

.ps-account-card-title {
    display: block !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    color: #0f172a !important;
    margin: 0 0 2px 0 !important;
    line-height: 1.3 !important;
    text-align: left !important;
    text-transform: uppercase !important;
    letter-spacing: 0.02em !important;
}

.ps-account-card-desc {
    font-family: 'Barlow', Helvetica, Arial, sans-serif !important;
    font-size: 13px !important;
    color: #64748b !important;
    margin: 0 !important;
    line-height: 1.4 !important;
    text-align: left;
}

/* Strzałka w kafelkach autorskich */
.ps-account-card-arrow {
    color: #94a3b8 !important;
    margin-left: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    height: 24px !important;
    flex-shrink: 0 !important;
    background: transparent !important;
    border: none !important;
    transition: transform 0.18s ease, color 0.18s ease !important;
}

.ps-account-card-arrow i {
    font-size: 20px !important;
    color: inherit !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    width: auto !important;
    height: auto !important;
}

.ps-account-card:hover .ps-account-card-arrow {
    color: #c8101f !important;
    transform: translateX(3px) !important;
}

/* Kafelki z modułów zewnętrznych (displayCustomerAccount: np. emailalerts, przelewy24 itp.) */
.ps-account-grid>a:not(.ps-account-card) .link-item,
body#my-account .links a:not(.ps-account-card) .link-item {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    color: #0f172a !important;
    line-height: 1.3 !important;
    text-align: left !important;
    text-transform: uppercase !important;
    letter-spacing: 0.02em !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ps-account-grid>a:not(.ps-account-card) .link-item i,
body#my-account .links a:not(.ps-account-card) .link-item i {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    border-radius: 6px !important;
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    color: #475569 !important;
    font-size: 22px !important;
    flex-shrink: 0 !important;
    margin: 0 16px 0 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease !important;
}

.ps-account-grid>a:not(.ps-account-card):hover .link-item i,
body#my-account .links a:not(.ps-account-card):hover .link-item i {
    background: #fef2f2 !important;
    border-color: #fecaca !important;
    color: #c8101f !important;
}

.ps-account-grid>a:not(.ps-account-card) .link-item::after,
body#my-account .links a:not(.ps-account-card) .link-item::after {
    content: '\E315' !important;
    font-family: 'Material Icons' !important;
    font-size: 20px !important;
    color: #94a3b8 !important;
    margin-left: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    height: 24px !important;
    flex-shrink: 0 !important;
    transition: transform 0.18s ease, color 0.18s ease !important;
}

.ps-account-grid>a:not(.ps-account-card):hover .link-item::after,
body#my-account .links a:not(.ps-account-card):hover .link-item::after {
    color: #c8101f !important;
    transform: translateX(3px) !important;
}

/* 5. Formularze konta klienta: Dane osobowe (#identity) i Adres (#address) */
body#identity #content.page-content,
body#address #content.page-content {
    max-width: 640px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 32px 36px !important;
    background: #ffffff !important;
    border: 1px solid #eceef1 !important;
    border-radius: 6px !important;
    box-shadow: none !important;
}

body#identity .form-group.row,
body#address .form-group.row {
    display: flex !important;
    flex-direction: column !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 18px !important;
}

body#identity .form-group.row>[class*="col-"],
body#address .form-group.row>[class*="col-"] {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    flex: none !important;
}

body#identity .form-control-label,
body#address .form-control-label {
    font-family: 'Poppins', sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    color: #1e293b !important;
    margin-bottom: 6px !important;
    text-align: left !important;
}

body#identity .form-control,
body#address .form-control {
    width: 100% !important;
    height: 42px !important;
    padding: 8px 14px !important;
    font-family: 'Barlow', Helvetica, Arial, sans-serif !important;
    font-size: 14px !important;
    color: #0f172a !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 4px !important;
    background: #ffffff !important;
    box-shadow: none !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
    box-sizing: border-box !important;
}

body#identity .form-control:focus,
body#address .form-control:focus {
    border-color: #c8101f !important;
    box-shadow: 0 0 0 3px rgba(200, 16, 31, 0.1) !important;
    outline: none !important;
}

body#identity .form-control-comment,
body#address .form-control-comment {
    font-size: 12px !important;
    color: #94a3b8 !important;
    margin-top: 4px !important;
    padding: 0 !important;
}

/* Radio buttons dla Nazwa kontaktu (Pan/Pani) */
body#identity .radio-inline,
body#identity .custom-radio {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin-right: 20px !important;
    font-size: 14px !important;
    color: #334155 !important;
    cursor: pointer !important;
}

body#identity .custom-radio input[type="radio"] {
    accent-color: #c8101f !important;
    width: 16px !important;
    height: 16px !important;
    cursor: pointer !important;
}

/* Checkboxy zgód w danych osobowych */
body#identity .custom-checkbox {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    margin-bottom: 14px !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    color: #475569 !important;
}

body#identity .custom-checkbox input[type="checkbox"] {
    accent-color: #c8101f !important;
    width: 16px !important;
    height: 16px !important;
    margin-top: 2px !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
}

/* Przyciski zatwierdzenia formularza (spójne z .ps-btn-add-to-cart i resztą sklepu) */
body#identity .form-footer,
body#address .form-footer {
    margin-top: 24px !important;
    padding-top: 20px !important;
    border-top: 1px solid #f1f5f9 !important;
    display: flex !important;
    justify-content: flex-end !important;
}

body#identity .form-control-submit,
body#address .form-control-submit,
body#order-detail .form-control-submit {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 200px !important;
    height: 42px !important;
    padding: 0 28px !important;
    background: var(--ps-red, #c8101f) !important;
    border: 1px solid var(--ps-red, #c8101f) !important;
    border-radius: 4px !important;
    color: #ffffff !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 4px 12px rgba(200, 16, 31, 0.2) !important;
    text-decoration: none !important;
}

body#identity .form-control-submit:hover,
body#address .form-control-submit:hover {
    background: var(--ps-red-dark, #b30c1a) !important;
    border-color: var(--ps-red-dark, #b30c1a) !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 16px rgba(200, 16, 31, 0.3) !important;
}

/* 6. Książka adresowa (#addresses) */
body#addresses .address {
    background: #ffffff !important;
    border: 1px solid #eceef1 !important;
    border-radius: 6px !important;
    padding: 22px !important;
    box-shadow: none !important;
    margin-bottom: 24px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    min-height: 200px !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

body#addresses .address:hover {
    border-color: #cbd5e1 !important;
    box-shadow: 0 6px 16px -8px rgba(0, 0, 0, 0.08) !important;
}

body#addresses .address-body h4 {
    font-family: 'Poppins', sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #0f172a !important;
    margin: 0 0 12px 0 !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid #f1f5f9 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.02em !important;
}

body#addresses .address-body address {
    font-family: 'Barlow', Helvetica, Arial, sans-serif !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: #475569 !important;
    margin: 0 0 16px 0 !important;
}

body#addresses .address-footer {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding-top: 14px !important;
    border-top: 1px solid #f1f5f9 !important;
}

body#addresses .address-footer a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    height: 32px !important;
    padding: 0 12px !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.02em !important;
    color: #64748b !important;
    text-decoration: none !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 4px !important;
    background: #ffffff !important;
    transition: all 0.15s ease !important;
}

body#addresses .address-footer a i {
    font-size: 15px !important;
}

body#addresses .address-footer a:hover {
    border-color: #cbd5e1 !important;
    color: #0f172a !important;
    background: #f8fafc !important;
}

body#addresses .address-footer a[data-link-action="delete-address"]:hover {
    border-color: #fecaca !important;
    color: #dc2626 !important;
    background: #fef2f2 !important;
}

body#addresses .addresses-footer {
    margin-top: 24px !important;
    padding-top: 10px !important;
}

body#addresses .addresses-footer a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    height: 42px !important;
    padding: 0 24px !important;
    background: var(--ps-red, #c8101f) !important;
    border: 1px solid var(--ps-red, #c8101f) !important;
    border-radius: 4px !important;
    color: #ffffff !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.02em !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 4px 12px rgba(200, 16, 31, 0.2) !important;
}

body#addresses .addresses-footer a:hover {
    background: var(--ps-red-dark, #b30c1a) !important;
    border-color: var(--ps-red-dark, #b30c1a) !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 16px rgba(200, 16, 31, 0.3) !important;
}

/* 7. Tabele: Historia zamówień, Bony rabatowe, Korekty, Zwroty */
body#history .table,
body#order-detail .table,
body#discount .table,
body#order-slip .table,
body#order-follow .table {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border: 1px solid #eceef1 !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    margin-bottom: 24px !important;
}

body#history .table thead th,
body#order-detail .table thead th,
body#discount .table thead th,
body#order-slip .table thead th,
body#order-follow .table thead th {
    background: #f8fafc !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.03em !important;
    color: #64748b !important;
    padding: 12px 16px !important;
    border: none !important;
    border-bottom: 1px solid #eceef1 !important;
}

body#history .table tbody td,
body#history .table tbody th,
body#order-detail .table tbody td,
body#order-detail .table tbody th,
body#discount .table tbody td,
body#discount .table tbody th,
body#order-slip .table tbody td,
body#order-slip .table tbody th,
body#order-follow .table tbody td,
body#order-follow .table tbody th {
    padding: 14px 16px !important;
    font-size: 13.5px !important;
    color: #334155 !important;
    border: none !important;
    border-bottom: 1px solid #f1f5f9 !important;
    vertical-align: middle !important;
}

body#history .table tbody tr:last-child td,
body#history .table tbody tr:last-child th,
body#order-detail .table tbody tr:last-child td,
body#order-detail .table tbody tr:last-child th,
body#discount .table tbody tr:last-child td,
body#discount .table tbody tr:last-child th,
body#order-slip .table tbody tr:last-child td,
body#order-slip .table tbody tr:last-child th,
body#order-follow .table tbody tr:last-child td,
body#order-follow .table tbody tr:last-child th {
    border-bottom: none !important;
}

body#history .table tbody tr:hover td,
body#order-detail .table tbody tr:hover td,
body#discount .table tbody tr:hover td,
body#order-slip .table tbody tr:hover td,
body#order-follow .table tbody tr:hover td {
    background: #f8fafc !important;
}

body#history .label-pill,
body#order-detail .label-pill {
    display: inline-block !important;
    padding: 3px 8px !important;
    border-radius: 4px !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
}

/* Przyciski akcji w tabeli historii zamówień */
.order-actions a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    height: 30px !important;
    padding: 0 10px !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.02em !important;
    color: #475569 !important;
    text-decoration: none !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 4px !important;
    background: #ffffff !important;
    transition: all 0.15s ease !important;
    margin: 2px 4px 2px 0 !important;
}

.order-actions a:hover {
    border-color: #c8101f !important;
    color: #c8101f !important;
    background: #fef2f2 !important;
}

/* Karty zamówień w widoku mobilnym */
body#history .orders .order {
    background: #ffffff !important;
    border: 1px solid #eceef1 !important;
    border-radius: 6px !important;
    padding: 16px !important;
    margin-bottom: 14px !important;
}

/* 8. Komunikaty informacyjne i puste stany na stronach konta klienta */
.ps-customer-page-content .alert,
body.page-customer-account #content .alert,
body#module-ps_emailalerts-account #content .alert,
body#module-przelewy24-accountMyCards #content .alert {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-left: 4px solid #c8101f !important;
    border-radius: 4px !important;
    color: #334155 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    padding: 16px 20px !important;
    margin-bottom: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    box-shadow: none !important;
}

.ps-customer-page-content .alert i,
body.page-customer-account #content .alert i,
body#module-ps_emailalerts-account #content .alert i,
body#module-przelewy24-accountMyCards #content .alert i {
    font-size: 20px !important;
    color: #c8101f !important;
    flex-shrink: 0 !important;
}

.ps-customer-page-content .alert.alert-success,
body.page-customer-account #content .alert.alert-success {
    background: #f0fdf4 !important;
    border-color: #bbf7d0 !important;
    border-left-color: #16a34a !important;
    color: #166534 !important;
}

/* Nagłówki sekcji w podstronach konta */
.ps-customer-page-content h3,
.ps-customer-page-content h4,
.ps-customer-page-content h6 {
    font-family: 'Poppins', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #1e293b !important;
    text-transform: uppercase !important;
    letter-spacing: 0.02em !important;
    margin-top: 0 !important;
    margin-bottom: 8px !important;
}

/* 9. Przelewy24 - Moje karty płatnicze */
.p24-account-cards-container {
    display: flex;
    flex-direction: column;
}

.p24-account-card-form {
    margin-bottom: 24px;
}

.p24-checkbox-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
    padding: 16px 20px !important;
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 6px !important;
}

.p24-checkbox-wrap .p24-checkbox-label-container,
.p24-checkbox-wrap label.custom-checkbox {
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 0 !important;
    cursor: pointer !important;
    user-select: none !important;
}

.p24-checkbox-wrap .custom-checkbox {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
    float: none !important;
    flex-shrink: 0 !important;
}

.p24-checkbox-wrap .custom-checkbox input[type="checkbox"] {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
    opacity: 0 !important;
    cursor: pointer !important;
    z-index: 2 !important;
}

.p24-checkbox-wrap .custom-checkbox input[type="checkbox"]+span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
    border: 2px solid #cbd5e1 !important;
    border-radius: 4px !important;
    transition: all 0.2s ease !important;
    box-sizing: border-box !important;
    pointer-events: none !important;
    vertical-align: middle !important;
}

.p24-checkbox-wrap .p24-checkbox-label-container:hover .custom-checkbox input[type="checkbox"]+span,
.p24-checkbox-wrap label.custom-checkbox:hover .custom-checkbox input[type="checkbox"]+span {
    border-color: #94a3b8 !important;
}

.p24-checkbox-wrap .custom-checkbox input[type="checkbox"]:focus+span {
    border-color: #c8101f !important;
    box-shadow: 0 0 0 3px rgba(200, 16, 31, 0.15) !important;
}

.p24-checkbox-wrap .custom-checkbox input[type="checkbox"]:checked+span {
    background: #c8101f !important;
    border-color: #c8101f !important;
}

.p24-checkbox-wrap .custom-checkbox input[type="checkbox"]+span .checkbox-checked,
.p24-checkbox-wrap .custom-checkbox input[type="checkbox"]+span i {
    display: none !important;
    font-size: 16px !important;
    font-weight: bold !important;
    color: #ffffff !important;
    line-height: 1 !important;
    margin: 0 !important;
}

.p24-checkbox-wrap .custom-checkbox input[type="checkbox"]:checked+span .checkbox-checked,
.p24-checkbox-wrap .custom-checkbox input[type="checkbox"]:checked+span i {
    display: block !important;
    opacity: 1 !important;
    transform: none !important;
}

.p24-checkbox-wrap .p24-checkbox-text {
    font-family: 'Poppins', sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #334155 !important;
    line-height: 1.4 !important;
    cursor: pointer !important;
}

.p24-checkbox-wrap .p24-checkbox-label-container:hover .p24-checkbox-text {
    color: #0f172a !important;
}

.p24-btn-save {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 42px !important;
    padding: 0 28px !important;
    background: var(--ps-red, #c8101f) !important;
    border: 1px solid var(--ps-red, #c8101f) !important;
    border-radius: 4px !important;
    color: #ffffff !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 4px 12px rgba(200, 16, 31, 0.2) !important;
}

.p24-btn-save:hover {
    background: var(--ps-red-dark, #b30c1a) !important;
    border-color: var(--ps-red-dark, #b30c1a) !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 16px rgba(200, 16, 31, 0.3) !important;
}

.p24-ccbox {
    background: #ffffff !important;
    border: 1px solid #eceef1 !important;
    border-radius: 6px !important;
    padding: 20px !important;
    margin-bottom: 20px !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.p24-ccbox:hover {
    border-color: #cbd5e1 !important;
    box-shadow: 0 6px 16px -8px rgba(0, 0, 0, 0.08) !important;
}

.p24-card-type {
    font-family: 'Poppins', sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #0f172a !important;
    margin: 0 0 8px 0 !important;
    text-transform: uppercase !important;
}

.p24-card-mask {
    font-family: monospace !important;
    font-size: 15px !important;
    color: #334155 !important;
    margin-bottom: 4px !important;
}

.p24-card-expiry {
    font-size: 13px !important;
    color: #64748b !important;
    margin-bottom: 16px !important;
}

.p24-btn-delete {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    height: 32px !important;
    padding: 0 12px !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.02em !important;
    color: #64748b !important;
    text-decoration: none !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 4px !important;
    background: #ffffff !important;
    transition: all 0.15s ease !important;
    cursor: pointer !important;
}

.p24-btn-delete:hover {
    border-color: #fecaca !important;
    color: #dc2626 !important;
    background: #fef2f2 !important;
}

/* 10. Linki stopki podstron klienta (przyciski powrotu) */
.ps-customer-footer-links {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-top: 28px !important;
    padding-top: 20px !important;
    border-top: 1px solid #f1f5f9 !important;
}

.ps-customer-footer-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    height: 38px !important;
    padding: 0 16px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 4px !important;
    background: #ffffff !important;
    color: #334155 !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.02em !important;
    text-decoration: none !important;
    transition: all 0.15s ease !important;
}

.ps-customer-footer-link i {
    font-size: 18px !important;
}

.ps-customer-footer-link:hover {
    border-color: #c8101f !important;
    color: #c8101f !important;
    background: #fef2f2 !important;
}

.ps-customer-footer-link-secondary {
    border-color: #e2e8f0 !important;
    color: #64748b !important;
}

.ps-customer-footer-link-secondary:hover {
    border-color: #94a3b8 !important;
    color: #0f172a !important;
    background: #f8fafc !important;
}

/* 11. Responsywność dla urządzeń mobilnych */
@media (max-width: 991px) {

    .ps-account-grid,
    body#my-account .links {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important;
    }
}

@media (max-width: 640px) {

    .ps-account-grid,
    body#my-account .links {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    .ps-account-card,
    body#my-account .links a {
        padding: 14px !important;
        min-height: auto !important;
    }

    .ps-account-card-icon,
    body#my-account .links .link-item i {
        width: 40px !important;
        height: 40px !important;
        min-width: 40px !important;
        min-height: 40px !important;
        margin-right: 12px !important;
        border-radius: 4px !important;
    }

    .ps-account-card-icon i,
    body#my-account .links .link-item i {
        font-size: 20px !important;
    }

    .ps-account-dashboard-header .ps-customer-header-inner {
        flex-direction: column;
        align-items: flex-start;
    }

    body.page-customer-account #content.page-content,
    body#module-ps_emailalerts-account #content.page-content,
    body#module-przelewy24-accountMyCards #content.page-content,
    .ps-customer-page-content {
        padding: 20px 16px !important;
        border-radius: 6px !important;
    }

    body#identity #content.page-content,
    body#address #content.page-content {
        padding: 20px 16px !important;
    }

    body#identity .form-control-submit,
    body#address .form-control-submit,
    body#order-detail .form-control-submit,
    .p24-btn-save {
        width: 100% !important;
    }

    .p24-checkbox-wrap {
        flex-direction: column;
        align-items: stretch;
    }

    .ps-customer-footer-links {
        flex-direction: column;
        align-items: stretch;
    }

    .ps-customer-footer-link {
        justify-content: center;
    }
}