/*
Theme Name: Porto Child Melangers
Theme URI: https://www.portotheme.com/wordpress/porto
Author: P-THEMES
Author URI: https://www.portotheme.com/
Description: Porto Responsive WordPress + eCommerce Theme.
Version: 1.1
Template: porto
License: Commercial
License URI: http://themeforest.net/licenses/regular_extended
Tags: woocommerce, corporate, ecommerce, responsive, blue, black, green, white, light, dark, red, two-columns, three-columns, four-columns, left-sidebar, right-sidebar, fixed-layout, responsive-layout, custom-menu, editor-style, featured-images, flexible-header, full-width-template, microformats, post-formats, rtl-language-support, sticky-post, theme-options, translation-ready, accessibility-ready
*/

/* =========================================
   KOMPLEKSOWA OPTYMALIZACJA KOSZYKA WOOCOMMERCE
   Motyw: Porto | Układ zoptymalizowany (Mobile/Desktop)
   ========================================= */

/* =========================================
   1. LISTA PRODUKTÓW (DESKTOP)
   ========================================= */
@media (min-width: 769px) {
    table.shop_table.cart {
        border: none !important;
        border-collapse: collapse !important;
    }
    table.shop_table.cart th {
        background: #f8f9fa !important;
        border: none !important;
        border-bottom: 2px solid #e2e8f0 !important;
        text-transform: uppercase !important;
        font-size: 13px !important;
        color: #64748b !important;
        padding: 15px 10px !important;
    }
    table.shop_table.cart td {
        border: none !important;
        border-bottom: 1px solid #f1f5f9 !important;
        padding: 20px 10px !important;
        vertical-align: middle !important;
    }
    table.shop_table.cart .product-thumbnail img {
        border-radius: 6px !important;
        box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
        max-width: 80px !important;
    }
}

/* =========================================
   2. KARTY PRODUKTÓW (MOBILE GRID)
   ========================================= */
@media (max-width: 768px) {
    table.shop_table.cart thead {
        display: none !important;
    }
    
    table.shop_table.cart tbody tr.cart_item {
        display: grid !important;
        grid-template-columns: 90px 1fr !important;
        grid-template-rows: auto auto auto auto !important;
        gap: 5px 15px !important;
        padding: 15px !important;
        border: 1px solid #e2e8f0 !important;
        border-radius: 8px !important;
        margin-bottom: 15px !important;
        background: #ffffff !important;
        position: relative !important;
    }

    table.shop_table.cart tbody tr.cart_item td {
        display: block !important;
        width: 100% !important;
        border: none !important;
        padding: 0 !important;
        text-align: left !important;
    }

    table.shop_table.cart tbody tr.cart_item td::before {
        display: none !important;
    }

    /* Układ elementów w karcie (Grid) */
    table.shop_table.cart .product-thumbnail {
        grid-column: 1 / 2 !important;
        grid-row: 1 / 5 !important;
    }
    table.shop_table.cart .product-thumbnail img {
        width: 100% !important;
        border-radius: 6px !important;
    }

    table.shop_table.cart .product-name {
        grid-column: 2 / 3 !important;
        grid-row: 1 / 2 !important;
        padding-right: 25px !important; 
    }
    table.shop_table.cart .product-name a {
        font-weight: 600 !important;
        font-size: 15px !important;
        color: #222529 !important;
        line-height: 1.3 !important;
        display: block !important;
    }

    table.shop_table.cart .product-price {
        grid-column: 2 / 3 !important;
        grid-row: 2 / 3 !important;
        color: #64748b !important;
        font-size: 13px !important;
    }

    table.shop_table.cart .product-quantity {
        grid-column: 2 / 3 !important;
        grid-row: 3 / 4 !important;
        margin: 8px 0 !important;
    }

    table.shop_table.cart .product-subtotal {
        grid-column: 2 / 3 !important;
        grid-row: 4 / 5 !important;
    }
    table.shop_table.cart .product-subtotal .amount {
        font-weight: 700 !important;
        font-size: 16px !important;
        color: #222529 !important;
    }

    /* Przycisk "Usuń" w rogu karty */
    table.shop_table.cart .product-thumbnail .position-relative {
        position: static !important; 
    }
    table.shop_table.cart .remove-product.position-absolute {
        position: absolute !important;
        top: 10px !important;
        right: 10px !important;
        z-index: 10 !important;
        width: 24px !important;
        height: 24px !important;
        line-height: 24px !important;
        text-align: center !important;
        background: #f8f9fa !important;
        border-radius: 50% !important;
        color: #64748b !important;
        border: 1px solid #e2e8f0 !important;
    }
}

/* =========================================
   3. SEKCJA KUPONU RABATOWEGO (Global)
   ========================================= */
table.shop_table.cart td.actions .coupon {
    display: flex !important;
    align-items: stretch !important;
    gap: 10px !important;
    margin: 15px 0 !important;
    width: 100% !important;
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
}

table.shop_table.cart td.actions .coupon .input-text,
table.shop_table.cart td.actions .coupon .button {
    margin: 0 !important;
    height: 48px !important; 
    box-sizing: border-box !important;
}

table.shop_table.cart td.actions .coupon .input-text {
    flex: 1 !important;
    border-radius: 4px !important;
    border: 1px solid #cbd5e1 !important;
    background: #ffffff !important;
    padding-left: 15px !important;
}

table.shop_table.cart td.actions .coupon .button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 20px !important;
    background: #222529 !important;
    color: #ffffff !important;
    border-radius: 4px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    border: none !important;
    line-height: 1 !important;
}

/* =========================================
   4. PRAWA KOLUMNA / PODSUMOWANIE (CART TOTALS)
   ========================================= */
.woocommerce-cart .cart-collaterals .cart_totals {
    width: 100% !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.woocommerce-cart .cart-collaterals h2 {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #222529 !important;
    border-bottom: 2px solid #f1f5f9 !important;
    padding-bottom: 15px !important;
    margin-bottom: 20px !important;
}

/* Sticky w Porto (Tylko Desktop) */
@media (min-width: 769px) {
    .woocommerce-cart .cart-collaterals {
        position: -webkit-sticky !important;
        position: sticky !important;
        top: 30px !important;
        align-self: flex-start !important;
        height: auto !important;
    }
}

/* =========================================
   5. KALKULATOR WYSYŁKI I LOGO KURIERA
   ========================================= */
.woocommerce-shipping-methods img,
#shipping_method img {
    max-width: 70px !important;
    height: auto !important;
    display: inline-block !important;
    margin-top: 5px !important;
    border-radius: 4px !important;
}

.woocommerce-shipping-calculator .input-text,
.woocommerce-shipping-calculator select {
    height: 42px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 4px !important;
    margin-bottom: 10px !important;
    width: 100% !important;
    padding: 0 15px !important;
    background: #f8f9fa !important;
    color: #475569 !important;
}

.woocommerce-shipping-calculator .button {
    background: transparent !important;
    border: 1px solid #222529 !important;
    color: #222529 !important;
    font-weight: 600 !important;
    width: 100% !important;
    border-radius: 4px !important;
    padding: 10px !important;
    margin-top: 5px !important;
    text-transform: uppercase !important;
    transition: all 0.2s ease !important;
}

.woocommerce-shipping-calculator .button:hover {
    background: #222529 !important;
    color: #ffffff !important;
}

/* =========================================
   6. WYŚWIETLANIE PODATKU VAT
   ========================================= */
.woocommerce-cart .cart-collaterals .order-total .includes_tax,
.woocommerce-cart .cart-collaterals .order-total small {
    display: block !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    color: #64748b !important;
    margin-top: 4px !important;
    line-height: 1.2 !important;
    text-transform: none !important;
}

tr.order-total .includes_tax .amount,
tr.order-total .includes_tax .woocommerce-Price-currencySymbol {
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #64748b !important;
}

/* =========================================
   7. GŁÓWNY PRZYCISK ZAMÓWIENIA
   ========================================= */
.woocommerce-cart .wc-proceed-to-checkout {
    padding: 20px 0 0 0 !important;
    margin-top: 20px !important;
    border-top: 1px solid #f1f5f9 !important;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
    width: 100% !important;
    display: block !important;
    text-align: center !important;
    background: #E52329 !important;
    color: #ffffff !important;
    border-radius: 6px !important;
    font-size: 16px !important;
    padding: 18px !important;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover {
    background: #c81e24 !important;
}

/* =========================================
   STYlowanie MINICARTU (OFFCANVAS / POPUP)
   ========================================= */
/* 1. Kontener listy i reset elementu */
.widget_shopping_cart ul.cart_list li.mini_cart_item {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 15px 0 !important;
    border-bottom: 1px solid #f1f5f9 !important;
    position: relative !important;
    width: 100% !important;
    background: transparent !important;
}

/* 2. MINIATURKA PRODUKTU (Przeniesienie na LEWĄ stronę) */
.widget_shopping_cart ul.cart_list li.mini_cart_item .product-image {
    order: 1 !important;
    width: 65px !important;
    min-width: 65px !important;
    margin: 0 12px 0 0 !important;
    padding: 0 !important;
    float: none !important;
    position: static !important;
}

.widget_shopping_cart ul.cart_list li.mini_cart_item .product-image .inner {
    position: static !important;
}

.widget_shopping_cart ul.cart_list li.mini_cart_item .product-image img {
    width: 65px !important;
    height: 65px !important;
    object-fit: cover !important;
    border-radius: 6px !important;
    border: 1px solid #e2e8f0 !important;
}

/* 3. DANE PRODUKTU (ŚRODEK: Nazwa, Ilość, Cena) */
.widget_shopping_cart ul.cart_list li.mini_cart_item .product-details {
    order: 2 !important;
    flex: 1 1 auto !important;
    padding-right: 25px !important;
    margin: 0 !important;
    float: none !important;
    text-align: left !important;
}

/* Tytuł produktu */
.widget_shopping_cart ul.cart_list li.mini_cart_item .product-details a.text-v-dark {
    font-weight: 600 !important;
    font-size: 13px !important;
    color: #222529 !important;
    line-height: 1.3 !important;
    margin-bottom: 6px !important;
    display: block !important;
    word-break: break-word !important;
}

/* Wiersz z kontrolką ilości i ceną */
.widget_shopping_cart ul.cart_list li.mini_cart_item .product-details .quantity.buttons_added {
    display: inline-flex !important;
    align-items: center !important;
    vertical-align: middle !important;
    margin-right: 8px !important;
}

.widget_shopping_cart ul.cart_list li.mini_cart_item .product-details span.quantity {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #475569 !important;
    vertical-align: middle !important;
}

/* 4. PRZYCISK "X" (Uwolnienie z obrazka do PRAWYCH GÓRNYCH ROGÓW KARTY) */
/* Podmiana znaku X na ikonę kosza na śmieci (FontAwesome) */
.widget_shopping_cart ul.cart_list li.mini_cart_item .remove-product {
    position: absolute !important;
    top: 12px !important;
    right: 0 !important;
    z-index: 10 !important;
    width: 26px !important;
    height: 26px !important;
    line-height: 24px !important;
    background: #f8f9fa !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 50% !important;
    text-align: center !important;
    color: #94a3b8 !important;
    font-size: 0 !important; /* Ukrywamy domyślny tekst znaku X */
    padding: 0 !important;
    transition: all 0.2s ease !important;
}

/* Wstawienie ikony kosza (trash-can) przez pseudo-element */
.widget_shopping_cart ul.cart_list li.mini_cart_item .remove-product::before {
    content: "\f2ed" !important; /* Kod ikony kosza w FontAwesome */
    font-family: "Font Awesome 5 Free", "Font Awesome 6 Free", "porto-icons" !important;
    font-weight: 900 !important;
    font-size: 11px !important;
    display: inline-block !important;
}

.widget_shopping_cart ul.cart_list li.mini_cart_item .remove-product:hover {
    background: #fee2e2 !important; /* Czerwone tło przy najechaniu */
    border-color: #fca5a5 !important;
    color: #e52329 !important; /* Twój firmowy czerwony */
}

/* Ukrycie małego, zbędnego znaku mnożenia "x" obok kontrolki ilości */
.widget_shopping_cart ul.cart_list li.mini_cart_item .product-details span.quantity {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #222529 !important;
}

/* 5. SEKCJA PODSUMOWANIA (SUBTOTAL) */
.widget_shopping_cart p.woocommerce-mini-cart__total {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 15px 0 !important;
    border-top: 2px solid #f1f5f9 !important;
    margin-top: 10px !important;
    font-size: 14px !important;
}

.widget_shopping_cart p.woocommerce-mini-cart__total strong {
    color: #222529 !important;
    text-transform: uppercase !important;
}

.widget_shopping_cart p.woocommerce-mini-cart__total .amount {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #222529 !important;
}

.widget_shopping_cart p.woocommerce-mini-cart__total .tax_label {
    font-size: 11px !important;
    color: #64748b !important;
    display: block !important;
    text-align: right !important;
}

/* 6. PRZYCISKI DOLNE (VIEW BASKET & CHECKOUT) */
.widget_shopping_cart p.woocommerce-mini-cart__buttons {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    padding: 0 !important;
    margin: 15px 0 0 0 !important;
}

.widget_shopping_cart p.woocommerce-mini-cart__buttons a.button {
    width: 100% !important;
    text-align: center !important;
    padding: 14px !important;
    border-radius: 4px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    font-size: 13px !important;
    box-sizing: border-box !important;
}

/* Przycisk "View basket" */
.widget_shopping_cart p.woocommerce-mini-cart__buttons a.button:not(.checkout) {
    background: #f1f5f9 !important;
    color: #334155 !important;
    border: 1px solid #cbd5e1 !important;
}

/* Przycisk "Checkout" */
.widget_shopping_cart p.woocommerce-mini-cart__buttons a.button.checkout {
    background: #E52329 !important;
    color: #ffffff !important;
    border: none !important;
}

.widget_shopping_cart p.woocommerce-mini-cart__buttons a.button.checkout:hover {
    background: #c81e24 !important;
}

/*******************************************************/

/* Eliminacja podwójnych odstępów z góry (Porto + Fluid Checkout) */
.fc-content > .container,
.fc-content > .container > .main-content-wrap,
.fc-content > .container > .main-content-wrap > .main-content {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* =========================================
   STYLOWANIE DEDYKOWANEJ STRONY PODZIĘKOWANIA
   ========================================= */
.melangers-thankyou-wrapper { background: #f8f9fa; border-radius: 8px; padding: 40px; margin-bottom: 40px; border: 1px solid #e2e8f0; box-shadow: 0 4px 15px rgba(0,0,0,0.03); }
.melangers-thankyou-wrapper h2 { color: #222529; margin-top: 0; font-weight: 700; font-size: 26px; }
.thankyou-intro { color: #64748b; font-size: 16px; margin-bottom: 30px; }
.thankyou-steps { display: flex; gap: 20px; margin-bottom: 30px; }
.t-step { flex: 1; background: #ffffff; padding: 25px; border-radius: 6px; border-top: 4px solid #E52329; box-shadow: 0 2px 10px rgba(0,0,0,0.04); }
.t-step .t-icon { font-size: 32px; display: block; margin-bottom: 15px; }
.t-step h4 { font-size: 16px; margin-bottom: 10px; color: #222529; font-weight: 600; }
.t-step p { font-size: 13px; color: #64748b; line-height: 1.5; margin: 0; }
.thankyou-support { background: #eef2f6; padding: 18px 20px; border-radius: 6px; font-size: 14px; color: #334155; border-left: 4px solid #222529; }
@media (max-width: 768px) { .thankyou-steps { flex-direction: column; } .melangers-thankyou-wrapper { padding: 25px 20px; } }

/* Ukrycie dublującego się, domyślnego podziękowania WooCommerce */
.woocommerce-checkout .woocommerce-notice--success,
.woocommerce-thankyou-order-received {
    display: none !important;
}

/* Wyróżnienie sekcji z danymi konta bankowego na styl premium */
.woocommerce-bacs-bank-details {
    background: #ffffff !important;
    border: 2px dashed #cbd5e1 !important;
    padding: 30px !important;
    border-radius: 8px !important;
    margin-bottom: 40px !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.02) !important;
}

.woocommerce-bacs-bank-details h2 {
    font-size: 20px !important;
    color: #222529 !important;
    margin-top: 0 !important;
    margin-bottom: 20px !important;
    font-weight: 700 !important;
}

.woocommerce-bacs-bank-details ul {
    list-style-type: none !important;
    padding-left: 0 !important;
    margin-bottom: 0 !important;
}

.woocommerce-bacs-bank-details ul li {
    padding-bottom: 10px !important;
    border-bottom: 1px solid #f1f5f9 !important;
    margin-bottom: 10px !important;
    font-size: 15px !important;
    color: #334155 !important;
}

.woocommerce-bacs-bank-details ul li:last-child {
    border-bottom: none !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.woocommerce-bacs-bank-details ul li strong {
    color: #222529 !important;
    display: inline-block !important;
    min-width: 150px !important;
}

/*************** etykieta krótkiej przydatnosci do spożycia ****************/

.short-expiry-label,
.short-expiry-info {
    animation: flash 0.7s infinite alternate;
    background-color: #c00;
    color: #fff;
    padding:5px;
}

.product-inner .short-expiry-label{
    background-color: #c00;
    color: #fff;
    position: absolute;
    bottom: 0px;
    width: 100%;
}

@keyframes flash {
    from { opacity: 1; }
    to { opacity: 0.3; }
}

/************** sekcja breadcrumbs **************************/

.page-wrapper > .woocommerce-breadcrumb {
    background-color: #f8f9fa;
    padding: 15px 0;
    margin-bottom: 30px;
    border-bottom: 1px solid #e2e8f0;
}

.page-top .breadcrumbs-wrap {
    max-width: 1580px;
    margin-left: auto;
    margin-right: auto;
}

.page-top .page-title-wrap {
    max-width: 1580px;
    margin-left: auto;
    margin-right: auto;
}

.page-top ul.breadcrumb {
    display: flex;
    align-items: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    position: relative;
    flex-wrap: nowrap;
}

.page-top ul.breadcrumb>li {
    display: inline-flex;
    align-items: center;
}

.breadcrumb:after {
    content: "";
    display: block;
    width: calc(var(--gap, 8px)* 4);
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    background: linear-gradient(to right, rgba(255, 255, 255, 0), var(--color-custom-background, #fff));
}

body.single-product .page-top .breadcrumbs-wrap {
   padding-right:0px;
}

.page-top ul.breadcrumb>li .delimiter{
	width:10px;
}

.page-top .container{
	/*max-width:100%;*/
}

@media (max-width: 1639px) {
    .container {
        max-width: none !important;
    }
}

/************************************* dostosowanie wygladu listy ********************/

/* =========================================
   1. STRUKTURA KAFELKA (Czysty Flexbox)
   ========================================= */
ul.products.has-ccols li.product .product-inner {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    background: #fff !important;
}

ul.products.has-ccols.list li.product .product-inner {
    flex-direction: row !important;
}

ul.products.has-ccols li.product .product-content {
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
    padding: 15px 10px !important;
}

ul.products li.product-col .woocommerce-loop-product__title {
    white-space: normal;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

/* =========================================
   2. MINIATURY ZDJĘĆ
   ========================================= */
.product-col .product-image .inner {
    display: block;
    width: 100%;
    overflow: hidden;
    background-color: #ffffff;
}

.product-col .product-image .inner img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
}

/* Ukrycie dublujących się ikon Porto na zdjęciu */
ul.products.has-ccols li.product .product-image .links-on-image {
    display: none !important;
}

.product-col .product-image .stock {
    height: 4em;
    line-height: 1.5em;
    padding-top: 0.8em;
}

/* =========================================
   3. TYTUŁ I CENA (Hierarchia i Wyrównanie)
   ========================================= */
/* Typografia Tytułu */
ul.products.has-ccols li.product h3.single-product-loop-product__title {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #222529 !important; /* Zamiana na brandowy ciemny grafit */
}

/* Typografia i mechanizm wypychania Ceny */
ul.products.has-ccols li.product .price {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #E52329 !important; /* Cena w wyrazistym czerwonym kolorze */
    margin-top: auto !important; 
    margin-bottom: 15px !important;
    display: block !important;
}

/* Krótka charakterystyka (jeśli używasz) */
.custom-short-desc {
    font-size: 13px;
    color: #606669; /* Jaśniejszy grafit */
    margin: 8px 0 15px 0;
    line-height: 1.4;
}

/* =========================================
   4. INTELIGENTNA SEKCJA ZAKUPOWA (ANTI-CUT)
   ========================================= */
ul.products.has-ccols li.product .product-content .add-links-wrap {
    width: 100% !important;
    display: block !important;
    margin-top: 0 !important;
}

/* Główny kontener przycisków - Flex-Wrap zapobiega ucinaniu */
ul.products li.product .add-links {
    display: flex !important;
    flex-wrap: wrap !important; 
    justify-content: center !important; /* Środkuje ilość po załamaniu */
    align-items: center !important;
    gap: 10px !important;     
    width: 100% !important;
    padding: 0 !important;
}

ul.products.list li.product .add-links {
    justify-content: start !important;
}

/* ------ Pole Ilości ------ */

ul.products .add-links div.quantity{
    margin-bottom: 0px;
}

ul.products.has-ccols li.product .quantity input.qty {
    width: 40px !important;
    height: 48px !important;
    border: 1px solid #e2e8f0 !important;
    border-left: none !important;
    border-right: none !important;
    font-size: 15px !important;
    font-weight: 600;
    background: #ffffff !important;
    color: #222529 !important;
}

ul.products.has-ccols li.product .quantity .minus,
ul.products.has-ccols li.product .quantity .plus {
    width: 35px !important;
    height: 48px !important;
    background: #f4f5f7 !important;
    border: 1px solid #e2e8f0 !important;
    font-size: 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer;
    color: #222529 !important;
    transition: background-color 0.2s ease !important;
}

ul.products.has-ccols li.product .quantity .minus:hover,
ul.products.has-ccols li.product .quantity .plus:hover {
    background: #e2e8f0 !important;
}

/* ------ Przycisk Koszyka & Dowiedz się więcej ------ */
/* Zgrupowałem oba przyciski, aby wymusić identyczny wygląd i typografię */
ul.products.has-ccols li.product .add_to_cart_button,
ul.products.has-ccols li.product .add-links .add_to_cart_read_more {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    
    flex-grow: 1 !important; 
    flex-shrink: 0 !important;
    flex-basis: 140px !important; /* Uśredniona wartość */
    
    height: 48px !important;
    margin: 0 !important; 
    padding: 0 15px !important;
    
    font-family: 'Montserrat', sans-serif !important; /* Ujednolicona czcionka */
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.5px !important;
    background-color: #222529 !important; /* Brandowy grafit */
    color: #ffffff !important;
    border-radius: 4px !important;
    white-space: nowrap !important;
    transition: all 0.3s ease !important;
}

/* Efekt Hover na czerwony brandowy */
ul.products.has-ccols li.product .add_to_cart_button:hover,
ul.products.has-ccols li.product .add-links .add_to_cart_read_more:hover {
    background-color: #E52329 !important; 
    transform: translateY(-1px);
}

ul.products.has-ccols.list li.product .add_to_cart_button,
ul.products.has-ccols.list li.product .add_to_cart_read_more {
	flex-grow: 0 !important;
    min-width: 240px !important;
}

ul.products.has-ccols li.product .product-content .add-links-wrap .add-links::before,
ul.products.has-ccols li.product .product-content .add-links-wrap .add-links::after {
    display: none !important;
    content: none !important;
}

/* Ukrycie dodatkowych ikon z Porto na Hover */
ul.products.has-ccols li.product-col:hover .add-links .add_to_cart_button:before,
ul.products.has-ccols li.product .add_to_cart_button:hover:before,
ul.products.has-ccols li.product .add_to_cart_button:hover:after {
    display: none !important;
}

/* Sytuacja specjalna: Brak wyboru ilości (.hidden) */
ul.products.has-ccols li.product .quantity.hidden {
    display: none !important;
}
ul.products.has-ccols li.product .quantity.hidden + .add_to_cart_button,
ul.products.has-ccols li.product .add-links .add_to_cart_button:only-child {
    flex: 1 0 100% !important;
    margin-left: 0 !important;
}

/* =========================================
   5. RESPONSYWNOŚĆ (MEDIA QUERIES)
   ========================================= */

@media (min-width: 576px) {
    .product-col .product-image .inner {
        height: auto !important;
        aspect-ratio: 4 / 4 !important;
    }
    
    ul.products.has-ccols li.product .product-content .product-loop-title h3.single-product-loop-product__title {
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
        white-space: normal !important; 
        min-height: 44px !important; 
        margin-bottom: 10px !important;
    }
}

@media (max-width: 575px) {
    ul.products.has-ccols li.product .product-image .inner {
        height: auto !important;
        aspect-ratio: auto !important;
    }
    
    ul.products.has-ccols li.product .product-image {
        margin-bottom: 0px !important;
    }
    ul.products.has-ccols li.product .product-image .inner img {
        margin-bottom: 0px !important;
		max-height: 320px;
    }
    
    ul.products.has-ccols li.product .product-content .product-loop-title h3.single-product-loop-product__title {
        white-space: normal !important;
        margin-bottom: 10px !important;
    }
    
    ul.products.has-ccols li.product .add-links .add_to_cart_button,
    ul.products.has-ccols li.product .quantity.buttons_added:not(.hidden) {
        height: 52px !important;
    }

    ul.products.has-ccols li.product .quantity input.qty,
    ul.products.has-ccols li.product .quantity .minus,
    ul.products.has-ccols li.product .quantity .plus {
        height: 52px !important;
    }

	ul.products.has-ccols li.product .add-links .add_to_cart_read_more {
        height: 52px !important;
    }
}

/* =========================================
   ETYKIETA "BRAK W MAGAZYNIE"
   ========================================= */

ul.products.has-ccols li.product .product-image {
    position: relative !important; 
}

ul.products.has-ccols li.product .product-image .stock.out-of-stock {
    /* Wymuszenie stabilnego pozycjonowania (Twoje reguły) */
    position: absolute !important;
    top: 15px !important;
    left: 15px !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important; 
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    display: inline-block !important;
    z-index: 100 !important;
    
    /* Spójny styl wizualny (Brand) */
    background-color: #E52329 !important; /* Firmowa czerwień */
    color: #ffffff !important;
    padding: 6px 12px !important;
    font-family: 'Montserrat', sans-serif !important; /* Spójność z przyciskami */
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    border-radius: 2px !important; /* Nowoczesne, lekko ostre krawędzie */
    box-shadow: none !important; /* Płaski, czysty design */
}

ul.products.has-ccols li.product.outofstock .product-image,
ul.products.has-ccols li.product.outofstock .product-image a {
    background: transparent !important;
}

ul.products.has-ccols li.product.outofstock .product-image img {
    filter: grayscale(80%) opacity(0.7) !important;
    transition: filter 0.3s ease !important;
}

ul.products.has-ccols li.product.outofstock:hover .product-image img {
    filter: grayscale(0%) opacity(1) !important;
}

/************************ OPIS SEO ***********/

.category-description-bottom {
    margin-top: 50px;
    padding-top: 40px;
    border-top: 1px solid #e2e8f0;
    color: #555555;
    font-size: 14px;
    line-height: 1.7;
    clear: both;
}

.category-description-bottom h2 {
    color: #222529; /* Dopasowanie do reszty nagłówków */
    font-family: 'Montserrat', sans-serif; /* Spójność z nagłówkami z sekcji Home */
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 20px;
}

@media (max-width: 767px) {
    .category-description-bottom {
        margin-top: 30px;
        padding-top: 30px;
    }
}
/* stylizacja badge sale, hot.... */
.product-image .labels .onhot, .product-image .labels .onsale {
    border-radius: 20px;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 600;
    padding: 8px 12px;
}

/* =========================================
   STYLIZACJA AKTYWNYCH FILTRÓW (FILTER EVERYTHING)
   ========================================= */

ul.wpc-filter-chips-list {
    display: flex !important;
    flex-wrap: wrap;
    gap: 10px;
    margin: 15px 0 25px 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

ul.wpc-filter-chips-list .wpc-filter-chip {
    margin: 0 !important;
    padding: 0 !important;
}

ul.wpc-filter-chips-list .wpc-filter-chip a {
    display: inline-flex !important;
    align-items: center;
    padding: 6px 14px !important;
    border: 1px solid #d9d9d9 !important;
    background-color: #ffffff !important;
    color: #333333 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    border-radius: 2px !important;
    text-decoration: none !important;
    transition: all 0.2s ease-in-out !important;
    box-shadow: none !important;
}

ul.wpc-filter-chips-list .wpc-filter-chip a:hover {
    border-color: #222529 !important;
    color: #222529 !important;
    background-color: #f4f5f7 !important;
}

ul.wpc-filter-chips-list .wpc-chip-remove-icon {
    margin-left: 8px !important;
    font-size: 16px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    color: #999999 !important;
    transition: color 0.2s !important;
}

ul.wpc-filter-chips-list .wpc-filter-chip a:hover .wpc-chip-remove-icon {
    color: #E52329 !important; /* Techniczny czerwony akcent przy usuwaniu */
}

/* Wygląd resetowania filtrów */
ul.wpc-filter-chips-list .wpc-chip-reset-all a {
    background-color: #f4f5f7 !important;
    border-color: #e2e8f0 !important;
    color: #666666 !important;
}

ul.wpc-filter-chips-list .wpc-chip-reset-all a:hover {
    background-color: #222529 !important;
    border-color: #222529 !important;
    color: #ffffff !important;
}

ul.wpc-filter-chips-list .wpc-chip-reset-all a:hover .wpc-chip-remove-icon {
    color: #ffffff !important;
}

.wpc-filters-open-button-container {
    display: none !important;
}

.porto-product-filters-toggle.has-active-filters {
    background-color: #222529 !important; 
    color: #ffffff !important;
    border-color: #222529 !important;
}

/* =========================================
   6. KARTA PRODUKTU (SINGLE PRODUCT PAGE)
   ========================================= */

.single-product .main-content {
    padding-top: 0px;
    padding-bottom: 20px;
}

@media (min-width: 768px) {
	.single-product .product_title.show-product-nav {
		width: calc(100% - 110px);
	}
}

.product-nav {
    display: flex !important;
    gap: 8px !important;
    margin-bottom: 25px !important;
    justify-content: flex-end;
}

.product-nav div {
    display: inline-block !important;
}

.product-nav span.product-link.disabled {
    display: none !important;
}

.product-nav a{
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    background-color: #ffffff !important;
    color: #333333 !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 4px !important;
    transition: all 0.3s ease !important;
    text-decoration: none !important;
}

.product-nav a:hover {
    background-color: #1a1a1a !important;
    color: #ffffff !important;
    border-color: #1a1a1a !important;
    box-shadow: none !important;
}

.product-nav a::before {
    font-size: 15px !important;
    font-weight: 600 !important;
    margin: 0 !important;
}

.single-product div.product .single-product-price .price {
    font-size: 28px !important;
    font-weight: 700 !important;
    color: #E52329 !important;
    margin-bottom: 25px !important;
    display: block !important;
    line-height: 1.2 !important;
}

.single-product div.product form.cart {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 15px !important;
    margin-bottom: 30px !important;
}

.single-product div.product form.cart div.quantity.hidden {
    display: none !important;
}

.single-product div.product form.cart div.quantity {
    display: flex !important;
    height: 48px !important;
    margin: 0 !important;
}

.single-product div.product form.cart div.quantity input.qty {
    width: 45px !important;
    height: 48px !important;
    border: 1px solid #e2e8f0 !important;
    border-left: none !important;
    border-right: none !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    background: #fff !important;
    text-align: center !important;
    padding: 0 !important;
    color: #111111 !important;
}

.single-product div.product form.cart div.quantity .minus,
.single-product div.product form.cart div.quantity .plus {
    width: 40px !important;
    height: 48px !important;
    background: #f4f5f7 !important;
    border: 1px solid #e2e8f0 !important;
    font-size: 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    color: #111111 !important;
}

.single-product div.product form.cart .button.single_add_to_cart_button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-grow: 0 !important;
    min-width: 240px !important;
    height: 48px !important;
    padding: 0 30px !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    background-color: #1a1a1a !important;
    color: #ffffff !important;
    border-radius: 4px !important;
    border: none !important;
    transition: all 0.3s ease !important;
}

.single-product div.product form.cart .button.single_add_to_cart_button:hover {
    background-color: #333333 !important;
    transform: translateY(-1px);
}

.single-product div.product .product_meta {
    margin-top: 30px !important;
    padding-top: 20px !important;
    border-top: 1px dashed #e2e8f0 !important;
    font-size: 14px !important;
    color: #555555 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important; 
}

.single-product div.product .product_meta > span {
    display: block !important;
}

.single-product div.product .product_meta strong,
.single-product div.product .product_meta span.sku_wrapper > span {
    color: #111111 !important;
    font-weight: 600 !important;
}

.single-product div.product .product_meta a {
    color: #111111 !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.single-product div.product .product_meta a:hover {
    color: #E52329 !important;
    text-decoration: underline !important;
}

.single-product .related.products ul.products li.product .add_to_cart_button,
.single-product .upsells.products ul.products li.product .add_to_cart_button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 48px !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    background-color: #1a1a1a !important;
    color: #ffffff !important;
    border-radius: 4px !important;
    border: none !important;
    padding: 0 15px !important;
    margin: 0 !important;
}

.single-product .related.products ul.products li.product .add_to_cart_button:hover,
.single-product .upsells.products ul.products li.product .add_to_cart_button:hover {
    background-color: #333333 !important;
    transform: translateY(-1px);
}

.single-product .inner img {
    max-height: 500px;
    width: auto;
    margin: 0 auto;
}

/* =========================================
   7. RESPONSYWNOŚĆ KARTY PRODUKTU (MOBILE)
   ========================================= */
@media (max-width: 575px) {
    .woocommerce div.product form.cart div.quantity,
    .woocommerce div.product form.cart div.quantity input.qty,
    .woocommerce div.product form.cart div.quantity .minus,
    .woocommerce div.product form.cart div.quantity .plus,
    .woocommerce div.product form.cart .button.single_add_to_cart_button,
    .woocommerce .related.products ul.products li.product .add_to_cart_button,
    .woocommerce .upsells.products ul.products li.product .add_to_cart_button {
        height: 52px !important;
    }
    
    .woocommerce div.product form.cart {
        flex-wrap: nowrap !important;
        gap: 10px !important;
    }

    .woocommerce div.product form.cart .button.single_add_to_cart_button {
        flex: 1 1 auto !important;
        width: auto !important;
        padding: 0 10px !important;
        font-size: 13px !important;
		min-width: 200px !important;
    }

    .woocommerce div.product .product_title {
        font-size: 24px !important;
        margin-top: 15px !important;
        line-height: 1.3 !important;
    }
}

/* =========================================
   8. STICKY PRODUCT BAR (Pływający pasek zakupu)
   ========================================= */

.sticky-product .add-to-cart .single_add_to_cart_button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 48px !important;
    padding: 0 25px !important;
    
    font-family: 'Poppins', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    background-color: #1a1a1a !important;
    color: #ffffff !important;
    border-radius: 4px !important;
    border: none !important;
    transition: all 0.3s ease !important;
    white-space: nowrap !important;
}

.sticky-product .add-to-cart .single_add_to_cart_button:hover {
    background-color: #333333 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15) !important;
}

.sticky-product .container {
    display: flex !important;
    align-items: center !important;
}

.sticky-product .sticky-detail {
    flex-grow: 1 !important; 
    padding-right: 20px !important;
}

.sticky-product .add-to-cart {
    display: flex !important;
    justify-content: flex-end !important;
    margin-left: auto !important;
    width: auto !important;
    flex-shrink: 0 !important;
}

@media (max-width: 575px) {
    .sticky-product .add-to-cart .single_add_to_cart_button {
        height: 44px !important;
        font-size: 12px !important;
        padding: 0 15px !important;
    }
}

/* =========================================
   9. PRODUKTY Z WARIANTAMI (Opcje wyboru)
   ========================================= */

.woocommerce div.product form.cart table.variations {
    width: 100% !important;
    margin-bottom: 0px !important;
    border: none !important;
    background: transparent !important;
}

.woocommerce div.product form.cart table.variations tr {
    display: flex !important;
    flex-direction: column !important;
    margin-bottom: 15px !important;
    border: none !important;
    padding: 0 !important;
}

.woocommerce div.product form.cart table.variations th,
.woocommerce div.product form.cart table.variations td {
    display: block !important;
    padding: 0 !important;
    border: none !important;
    text-align: left !important;
}

.woocommerce div.product form.cart table.variations th.label {
    margin-bottom: 8px !important;
}

.woocommerce div.product form.cart table.variations th.label label {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #111111 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

.woocommerce div.product form.cart table.variations td.value select {
    width: 100% !important;
    max-width: 320px !important;
    height: 48px !important;
    padding: 0 15px !important;
    font-family: inherit !important;
    font-size: 14px !important;
    color: #111111 !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 4px !important;
    background-color: #fff !important;
    box-shadow: none !important;
    outline: none !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

.woocommerce div.product form.cart table.variations td.value select:focus {
    border-color: #1a1a1a !important; 
}

.woocommerce div.product form.cart table.variations .reset_variations {
    display: inline-block !important;
    margin-top: 8px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #E52329 !important;
    text-decoration: underline !important;
    transition: opacity 0.3s ease !important;
}

.woocommerce div.product form.cart table.variations .reset_variations:hover {
    opacity: 0.7 !important;
}

.woocommerce div.product form.cart .woocommerce-variation {
    margin-bottom: 15px !important;
}
.woocommerce div.product form.cart .woocommerce-variation .price {
    font-size: 24px !important;
    font-weight: 700 !important;
    color: #111111 !important;
    margin-bottom: 5px !important;
}

.woocommerce div.product form.cart .woocommerce-variation-add-to-cart {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 15px !important;
    width: 100% !important;
}

@media (max-width: 575px) {
    .woocommerce div.product form.cart table.variations td.value select {
        max-width: 100% !important;
    }
    
    .woocommerce div.product form.cart .woocommerce-variation-add-to-cart {
        flex-wrap: nowrap !important;
        gap: 8px !important;
    }
}


/* Ukrycie dodatkowego tekstu SEO w przyciskach */
.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
}


/********** free shipping ****************/

.dokan-info:before, .woocommerce-info:before {
    display:none;
}

.fs-free-shipping-notice-continue-shopping-button-wrapper, .fs-free-shipping-notice-text-and-progress-bar-wrapper {
    flex: auto 1 1;
}

.fs-free-shipping-notice-and-button-wrapper {
    padding: 20px;
    border: 2px dashed #ccc;
    color:#666;
    font-size:14px;
}

.fs-free-shipping-notice-and-button-wrapper .woocommerce-Price-amount{
    font-size:1.2em;
    font-weight:bold;
}


.fs-free-shipping-notice-progress-bar {
    border: 0px solid #fff;
    border-radius: 20px;
    height: 20px;
    background-color:#f4f4f4;
}

@keyframes progress-bar-stripes1 {
    0% {
        background-position-x: 40px
    }
}

.fs-free-shipping-notice-progress-bar>span {
    background-color: rgb(48, 172, 138);
    background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
    background-size: 40px 40px;
    animation: progress-bar-stripes 2s linear infinite;
    animation-name: progress-bar-stripes1;
}

/****************************************/

/* lazy litespeed tunning */
/* PART 1 - Before Lazy Load */
img[data-lazyloaded]{
    opacity: 0;
}
/* PART 2 - Upon Lazy Load */
img.litespeed-loaded{
    -webkit-transition: opacity .5s linear 0.2s;
    -moz-transition: opacity .5s linear 0.2s;
    transition: opacity .5s linear 0.2s;
    opacity: 1;
}


