/* =========================================================
   PAPILART B2B – PEŁNY CSS ROBOCZY - WERSJA FINALNA NAPRAWIONA
   ========================================================= */


/* PRZYCISKI */

.btn-success {
    color: #fff;
    background-color: #0F9D94;
    border-color: #0F9D94;
}

.btn-success:hover,
.btn-success:focus,
.btn-success:active {
    color: #fff;
    background-color: #0A6F6A;
    border-color: #0A6F6A;
}


/* STOPKA GŁÓWNA – JASNA (ZACHOWANA) */

footer {
    background-image: none !important;
}

/* Wymuszenie białego tła tylko dla górnej części stopki z linkami */
footer > .container {
    background-color: #fff !important;
    padding-top: 20px !important;
}

.abs-panel-footer > .panel-heading,
.abs-panel-footer > .panel-body {
    color: #455a64;
}

.abs-panel-footer > .panel-body a.list-group-item {
    color: #455a64;
}

.abs-panel-footer > .panel-body a.list-group-item:hover {
    color: #0F9D94;
    text-decoration: none;
}


/* WYSZUKIWARKA – FIX: BIAŁA LUPKA, BRAK RAMKI, PRZYCISK NA MIEJSCU */

/* Kontener pigułki */
.abs-header-search .input-group,
.input-group:has(.searchInputClass) {
    position: relative !important;
    display: block !important;
    border: 1px solid #EF7B38 !important;
    border-radius: 50px !important;
    height: 40px !important;
    background: #fff !important;
    overflow: hidden !important;
    box-shadow: none !important;
}

/* Pole tekstowe - wyśrodkowanie i brak ramki po kliknięciu */
#searchInput_floatingCartPreview.form-control,
.searchInputClass.form-control {
    width: 100% !important;
    height: 38px !important; 
    line-height: 38px !important; 
    padding: 0 120px 0 20px !important; 
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    background: transparent !important;
}

/* Usuwamy ramkę przy kliknięciu (focus) */
#searchInput_floatingCartPreview.form-control:focus,
.searchInputClass.form-control:focus {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Przycisk SZUKAJ - przyklejony do prawej strony */
.abs-header-search .input-group-btn,
.input-group-btn-search {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 110px !important;
    padding: 0 !important;
    margin: 0 !important;
    z-index: 5 !important;
}

.input-group-btn-search .btn.btn-default,
.abs-header-search .input-group-btn .btn {
    width: 100% !important;
    height: 100% !important;
    background: #EF7B38 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 0 50px 50px 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    box-shadow: none !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    opacity: 1 !important;
    transition: background-color 0.2s ease !important;
}

/* EFEKT HOVER – Delikatne rozjaśnienie */
.input-group-btn-search .btn.btn-default:hover,
.abs-header-search .input-group-btn .btn:hover {
    background-color: #ff914f !important;
    color: #fff !important;
    opacity: 1 !important;
}

/* Biała lupka na przycisku */
.abs-header-search .btn .abs-icon-search,
.input-group-btn-search .btn .abs-icon-search {
    display: inline-block !important;
    filter: brightness(0) invert(1) !important;
    margin-right: 6px !important;
    font-size: 15px !important;
}

/* Ukrycie wadliwych elementów */
.input-group:has(.searchInputClass)::before,
.input-group-btn-search .btn .glyphicon {
    display: none !important;
}


/* PRODUKTY – HOVER KAFELKA */

.abs-layout-product-gallery .abs-img-wrapper {
    border: 2px solid transparent !important;
    border-radius: 6px;
    box-shadow: none !important;
}

.abs-layout-product-gallery {
    border-radius: 6px;
    transition: box-shadow 0.25s ease-out, transform 0.25s ease-out;
    overflow: visible;
    box-shadow: 0 0 0 0 #0A6F6A !important;
}

.abs-layout-product-gallery:hover {
    box-shadow: 0 0 0 1px #0A6F6A !important;
    transform: translateY(-2px);
}

.abs-layout-product-gallery:hover .abs-img-wrapper {
    border-color: transparent !important;
    box-shadow: none !important;
}


/* NEWSLETTER */

section[data-panel-id="newsletter"] {
    border-radius: 10px !important;
    overflow: hidden !important;
}

section[data-panel-id="newsletter"] .panel-heading,
section[data-panel-id="newsletter"] .panel-body {
    background-color: #455A64 !important;
    color: #ffffff !important;
}

section[data-panel-id="newsletter"] .panel-heading {
    padding: 10px 15px;
    margin: 0 !important;
    border-bottom: 0 !important;
}

section[data-panel-id="newsletter"] .panel-heading h2 {
    margin: 0 !important;
    padding: 0 !important;
    color: #ffffff !important;
}

section[data-panel-id="newsletter"] .panel-body {
    padding: 15px;
    margin: 0 !important;
    border-bottom-left-radius: 10px !important;
    border-bottom-right-radius: 10px !important;
}

section[data-panel-id="newsletter"] input[type="email"] {
    border: 1px solid #ffffff !important;
    color: #ffffff !important;
    background-color: transparent !important;
}

section[data-panel-id="newsletter"] input[type="email"]::placeholder {
    color: #ffffff !important;
}

section[data-panel-id="newsletter"] .input-group-btn .btn {
    background-color: #ffffff !important;
    border: none !important;
}

section[data-panel-id="newsletter"] .input-group-btn .btn .abs-icon-subscribe {
    filter: invert(0) !important;
}


/* PANEL LOGOWANIA */

section[data-panel-id="client-zone"] {
    border-radius: 10px !important;
    overflow: hidden !important;
}

section[data-panel-id="client-zone"] .panel-heading {
    background-color: #455A64 !important;
    color: #ffffff !important;
    padding: 10px 15px !important;
    margin: 0 !important;
    border-bottom: 0 !important;
}

section[data-panel-id="client-zone"] .panel-heading h2,
section[data-panel-id="client-zone"] .panel-heading a {
    color: #ffffff !important;
    margin: 0 !important;
    padding: 0 !important;
    text-decoration: none !important;
}

section[data-panel-id="client-zone"] .panel-heading a:hover h2 {
    opacity: 0.9 !important;
}

section[data-panel-id="client-zone"] .panel-body {
    background-color: #455A64 !important;
    padding: 15px !important;
    margin: 0 !important;
    color: #ffffff !important;
    border-bottom-left-radius: 10px !important;
    border-bottom-right-radius: 10px !important;
}

section[data-panel-id="client-zone"] .list-group-item {
    background: transparent !important;
    border: none !important;
    padding: 10px 0 !important;
    color: #ffffff !important;
    border-bottom: 1px solid rgba(255,255,255,0.25) !important;
}

section[data-panel-id="client-zone"] .list-group-item:last-child {
    border-bottom: none !important;
}

section[data-panel-id="client-zone"] .abs-icon-bullet {
    filter: invert(1) !important;
    opacity: 0.9 !important;
}

section[data-panel-id="client-zone"] a {
    color: #ffffff !important;
    text-decoration: none !important;
}

section[data-panel-id="client-zone"] a:hover {
    color: #e6ffff !important;
    text-decoration: underline !important;
}


/* OPIEKUNOWIE KLIENTA */

.customer-assistants.panel {
    margin: 25px 0;
    background: #0A6F6A;
    border-radius: 8px;
    border: none;
    box-shadow: none;
    color: #fff;
}

.customer-assistants .panel-heading {
    background: transparent !important;
    border-radius: 8px 8px 0 0;
    padding: 10px 15px 6px;
    margin: 0;
}

.customer-assistants .panel-heading h2 {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    text-align: left;
}

.customer-assistants .panel-body {
    padding: 6px 15px 12px !important;
    position: relative;
}

.customer-assistants .abs-profile-tiles {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}

.customer-assistants .abs-profile-tile {
    background: transparent !important;
    padding: 4px 0;
    height: auto !important;
    min-height: 0 !important;
    border-top: 1px solid rgba(255,255,255,0.35);
}

.customer-assistants .abs-profile-tile:first-child {
    border-top: none;
    padding-top: 4px;
}

.customer-assistants .abs-profile-tile:last-child {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.customer-assistants .abs-profile-tile,
.customer-assistants .abs-profile-data,
.customer-assistants .abs-profile-data-details,
.customer-assistants .abs-profile-data-details div,
.customer-assistants .abs-profile-data-details p {
    text-align: left !important;
}

.customer-assistants .abs-profile-data-details > div {
    padding-left: 6px;
}

.customer-assistants .abs-profile-data-details p:first-child {
    font-size: 16px !important;
    font-weight: 600;
    margin: 0 0 4px 0;
    line-height: 1.3;
    color: #fff;
}

.customer-assistants .abs-profile-data-details p {
    margin: 1px 0;
    font-size: 14px;
    color: #fff;
}

.customer-assistants i {
    margin-right: 5px;
    color: #fff !important;
}

.customer-assistants a {
    color: #fff !important;
    text-decoration: underline;
}

.customer-assistants a:hover {
    opacity: 0.85;
}

.customer-assistants .panel-body::after {
    content: "W razie pytań śmiało skontaktuj się ze swoim opiekunem.";
    display: block;
    color: #fff;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.3;
    margin-top: 6px;
    margin-bottom: 2px;
}


/* OPIS KATEGORII NA DOLE */

.abs-category-view,
#products-list-wrapper {
    display: flex !important;
    flex-direction: column !important;
}

.abs-description.abs-simple-panel {
    order: 10 !important;
    margin-top: 30px !important;
}

.abs-products-grid,
.abs-products-list,
.abs-items-container {
    order: 1 !important;
}


/* TŁO STRONY */

body,
#abs-layout-body,
.abs-layout-main {
    background-color: #fbfbfb !important;
    background-image: none !important;
}


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

#header,
#header.navbar,
#header.navbar-default,
#header .abs-header-content,
#header .abs-header-content-row,
#header .abs-header-menu-top,
#header .navbar {
    background: #ffffff !important;
    border: none !important;
    box-shadow: none !important;
}

.abs-header-menu-main {
    position: relative !important;
    background: #0A6F6A !important;
    border: none !important;
    box-shadow: none !important;
    overflow: visible !important;
    z-index: 1000 !important;
}

.abs-header-menu-main::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 100vw;
    transform: translateX(-50%);
    background: #0A6F6A !important;
    z-index: 0;
}

.abs-header-menu-main > .container,
#mainMenu,
#mainMenu > ul.nav {
    position: relative !important;
    z-index: 2 !important;
}

.abs-header-menu-main,
.abs-header-menu-main .container,
#mainMenu,
#mainMenu > ul.nav {
    overflow: visible !important;
}

#mainMenu {
    background: #0A6F6A !important;
    border: none !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

#mainMenu > ul.nav {
    display: flex !important;
    align-items: stretch !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    background: #0A6F6A !important;
    margin: 0 !important;
    padding: 0 !important;
}

#mainMenu > ul.nav > li {
    position: static !important;
    z-index: auto !important;
    background: #0A6F6A !important;
}

#mainMenu > ul.nav > li > a {
    position: static !important;
    z-index: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 50px !important;
    padding: 0 22px !important;
    background: #0A6F6A !important;
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    text-decoration: none !important;
    border-right: 1px solid rgba(255,255,255,0.20) !important;
    box-shadow: none !important;
    transition: background-color 0.2s ease, color 0.2s ease;
}

#mainMenu #home-link > a {
    width: 58px !important;
    padding: 0 !important;
}

#mainMenu .abs-icon-home {
    filter: brightness(0) invert(1) !important;
}

#mainMenu > ul.nav > li:hover > a,
#mainMenu > ul.nav > li.open > a,
#mainMenu > ul.nav > li.active > a,
#mainMenu > ul.nav > li > a:hover,
#mainMenu > ul.nav > li > a:focus {
    background: #0F9D94 !important;
    color: #ffffff !important;
}

#mainMenu > ul.nav > li > a .caret {
    display: none !important;
}

#mainMenu > ul.nav > li > a.has-submenu::after {
    content: "";
    margin-left: 8px;
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 6px solid #ffffff;
    transition: transform 0.2s ease;
}

#mainMenu > ul.nav > li.open > a.has-submenu::after,
#mainMenu > ul.nav > li > a.has-submenu[aria-expanded="true"]::after {
    transform: rotate(180deg);
}

#mainMenu li#offerLabelPage-1002 > a,
#mainMenu li#offerLabelPage-1007 > a,
#mainMenu li#offerLabelPage-1003 > a,
#mainMenu li#offerLabelPage-1009 > a,
#mainMenu li#offerLabelPage-1011 > a {
    color: #ffffff !important;
}


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

#mainMenu li.abs-mega-menu {
    position: static !important;
}

#mainMenu li.abs-mega-menu > ul.mega-menu,
#mainMenu li.abs-mega-menu > ul.mega-menu.mm-ready {
    position: absolute !important;

    left: 0 !important;
    right: auto !important;

    width: 1330px !important;
    min-width: 1330px !important;
    max-width: calc(100vw - 80px) !important;

    padding: 18px 34px 22px 34px !important;
    margin: 0 !important;

    background: #ffffff !important;
    background-color: #ffffff !important;

    border: none !important;
    border-radius: 0 0 10px 10px !important;

    box-shadow: 0 18px 40px rgba(0,0,0,0.16) !important;
    -webkit-box-shadow: 0 18px 40px rgba(0,0,0,0.16) !important;

    overflow: visible !important;
    z-index: 999999 !important;
}

#mainMenu li.abs-mega-menu > ul.mega-menu::before,
#mainMenu li.abs-mega-menu > ul.mega-menu::after,
#mainMenu li.abs-mega-menu > ul.mega-menu.mm-ready::before,
#mainMenu li.abs-mega-menu > ul.mega-menu.mm-ready::after {
    display: none !important;
    border: none !important;
    box-shadow: none !important;
}

#mainMenu li.abs-mega-menu > ul.mega-menu > li,
#mainMenu li.abs-mega-menu > ul.mega-menu .container,
#mainMenu li.abs-mega-menu > ul.mega-menu .row,
#mainMenu ul.abs-mega-menu-container,
#mainMenu li.abs-mega-menu-links-box,
#mainMenu li.abs-mega-menu-links-box > ul {
    background: #ffffff !important;
    background-color: #ffffff !important;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    border: none !important;
}

#mainMenu li.abs-mega-menu > ul.mega-menu .container {
    width: 100% !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

#mainMenu li.abs-mega-menu > ul.mega-menu .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

#mainMenu ul.abs-mega-menu-container {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

#mainMenu li.abs-mega-menu-links-box {
    height: auto !important;
    min-height: 0 !important;
    display: block !important;
    column-count: 4 !important;
    column-gap: 54px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

#mainMenu li.abs-mega-menu-links-box > ul {
    display: inline-block !important;
    width: 100% !important;
    margin: 0 0 12px 0 !important;
    padding: 0 !important;
    list-style: none !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
    -webkit-column-break-inside: avoid !important;
}

#mainMenu li.abs-mega-menu-links-box li {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

#mainMenu li.abs-mega-menu-links-box .abs-mega-menu-header > a {
    display: block !important;
    padding: 3px 12px !important;
    margin: 0 -12px 5px -12px !important;
    background: transparent !important;
    color: #0b2638 !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.18 !important;
    text-decoration: none !important;
}

#mainMenu li.abs-mega-menu-links-box a {
    display: block !important;
    padding: 3px 12px !important;
    margin: 0 -12px !important;
    background: transparent !important;
    color: #0b2638 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.28 !important;
    text-decoration: none !important;
    white-space: normal !important;
}

#mainMenu li.abs-mega-menu-links-box a:hover,
#mainMenu li.abs-mega-menu-links-box a:focus {
    background-color: #0F9D94 !important;
    color: #ffffff !important;
    text-decoration: none !important;
}


/* RESPONSYWNOŚĆ MENU */

@media (max-width: 1399px) {

    #mainMenu li.abs-mega-menu > ul.mega-menu,
    #mainMenu li.abs-mega-menu > ul.mega-menu.mm-ready {
        width: 1180px !important;
        min-width: 1180px !important;
    }

    #mainMenu li.abs-mega-menu-links-box {
        column-gap: 42px !important;
    }
}

@media (max-width: 1199px) {

    #mainMenu li.abs-mega-menu-links-box {
        column-count: 3 !important;
    }
}

@media (max-width: 991px) {

    .abs-header-menu-main {
        background: #0A6F6A !important;
    }

    #mainMenu > ul.nav {
        display: block !important;
    }

    #mainMenu > ul.nav > li {
        width: 100% !important;
    }

    #mainMenu > ul.nav > li > a {
        justify-content: flex-start !important;
        height: auto !important;
        min-height: 46px !important;
        padding: 14px 18px !important;
        border-right: none !important;
        border-bottom: 1px solid rgba(255,255,255,0.18) !important;
    }

    #mainMenu li.abs-mega-menu {
        position: relative !important;
    }

    #mainMenu li.abs-mega-menu > ul.mega-menu,
    #mainMenu li.abs-mega-menu > ul.mega-menu.mm-ready {
        position: static !important;
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        padding: 16px !important;
        border-radius: 0 !important;
    }

    #mainMenu li.abs-mega-menu-links-box {
        column-count: 1 !important;
        column-gap: 0 !important;
    }
}


/* =========================================================
   STOPKA DOLNA – TOTALNY RESET KOLORÓW (0A6F6A)
   ========================================================= */

/* Pasek tła - musi być block z wymuszonym kolorem */
.abs-footer-bottom-text {
    background-color: #0A6F6A !important;
    background-image: none !important;
    color: #ffffff !important;
    padding: 20px 0 !important;
    text-align: center !important;
    font-size: 13px !important;
    width: 100% !important;
    display: block !important;
    border: none !important;
}

/* Wymuszenie bieli dla wszystkich linków, spanów i ich stanów */
.abs-footer-bottom-text a, 
.abs-footer-bottom-text a span,
.abs-footer-bottom-text a:visited, 
.abs-footer-bottom-text a.cookie-settings-btn {
    color: #ffffff !important;
    text-decoration: underline !important;
    background: transparent !important;
}

/* Wymuszenie bieli dla ikony ciasteczka i FontAwesome */
.abs-footer-bottom-text a.cookie-settings-btn i, 
.abs-footer-bottom-text .fa-cookie-bite,
.abs-footer-bottom-text i.fa-solid,
.abs-footer-bottom-text [class*="fa-"] {
    color: #ffffff !important;
    opacity: 1 !important;
    background: transparent !important;
}

/* Efekt najechania dla linków w dolnej stopce */
.abs-footer-bottom-text a:hover {
    color: #e0e0e0 !important;
    text-decoration: none !important;
}