/*
Theme Name: Ekopol Shop
Theme URI: https://ekopol.pl
Author: Ekopol
Version: 1.3
Text Domain: ekopol-shop
*/

/* =========================
   BASE
   ========================= */
body{
    margin:0;
    font-family:Arial,sans-serif;
    background:#f3f3f3;
    color:#111;
}

.container{
    max-width:1360px;
    margin:0 auto;
    padding:0 20px;
}

a{
    color:inherit;
}

.site-footer{
    background:#fff;
    border-top:1px solid #ddd;
    padding:30px 0;
    margin-top:50px;
}

/* =========================
   HEADER / MENU EKOPOL
   ========================= */
.site-header{
    position:sticky;
    top:0;
    z-index:9999;
    background:#fff;
    border-bottom:1px solid #dfe3e1;
    box-shadow:0 1px 0 rgba(0,0,0,.03);
}

.admin-bar .site-header{
    top:32px;
}

.site-header .container,
.site-branding{
    overflow:visible;
}

.site-header-inner{
    display:grid;
    grid-template-columns:120px 1fr;
    align-items:center;
    gap:34px;
    min-height:94px;
}

.site-logo-link,
.custom-logo-link{
    display:inline-flex;
    align-items:center;
    text-decoration:none;
}

.site-logo-link img,
.custom-logo{
    display:block;
    width:auto;
    max-height:72px;
}

.site-logo-text{
    color:#84c341;
    font-size:28px;
    font-weight:700;
}

.main-nav{
    display:flex;
    align-items:center;
    justify-content:flex-start;
}

.main-menu{
    list-style:none;
    margin:0;
    padding:0;
    display:flex;
    align-items:stretch;
    gap:34px;
    position:relative;
}

.main-menu > li{
    position:relative;
    margin:0;
    padding:0;
    display:flex;
    align-items:stretch;
}

.main-menu > li > a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:94px;
    padding:0 0 20px;
    text-decoration:none;
    color:#111;
    font-size:17px;
    line-height:1;
    font-weight:700;
    text-transform:uppercase;
    position:relative;
    transition:color .2s ease;
}

.main-menu > li > a:hover,
.main-menu > li.current-menu-item > a,
.main-menu > li.current-menu-parent > a,
.main-menu > li.current-menu-ancestor > a,
.main-menu > li.is-open > a{
    color:#84c341;
}

.main-menu > li > a::before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:18px;
    height:4px;
    background:transparent;
}

.main-menu > li > a:hover::before,
.main-menu > li.current-menu-item > a::before,
.main-menu > li.current-menu-parent > a::before,
.main-menu > li.current-menu-ancestor > a::before,
.main-menu > li.is-open > a::before{
    background:#84c341;
}

.main-menu > li.menu-item-has-children > a::after{
    content:"";
    position:absolute;
    left:50%;
    right:auto;
    top:55px;
    width:8px;
    height:8px;
    border-right:2px solid #84c341;
    border-bottom:2px solid #84c341;
    transform:translateX(-50%) rotate(45deg);
}

.main-menu > li.is-open.menu-item-has-children > a::after{
    transform:translateX(-50%) rotate(225deg);
}

.main-menu > li > .sub-menu{
    list-style:none;
    margin:0;
    padding:18px 24px 18px;
    position:absolute;
    left:50%;
    top:100%;
    transform:translateX(-50%);
    width:1080px;
    max-width:calc(100vw - 40px);
    min-width:280px;
    background:#fff;
    border:1px solid #e5e5e5;
    box-shadow:0 10px 26px rgba(0,0,0,.06);
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(130px,1fr));
    gap:18px 16px;
    align-items:start;
    justify-content:start;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
}

.main-menu > li.is-open > .sub-menu{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
}

.main-menu > li > .sub-menu > li{
    margin:0;
    padding:0;
}

.main-menu > li > .sub-menu > li > a{
    display:block;
    position:relative;
    text-decoration:none;
    color:#111;
    font-size:13px;
    line-height:1.15;
    font-weight:700;
    text-transform:uppercase;
    text-align:center;
    padding:46px 4px 0;
    min-height:86px;
    transition:color .2s ease;
}

.main-menu > li > .sub-menu > li > a:hover,
.main-menu > li > .sub-menu > li.current-menu-item > a{
    color:#84c341;
}

.main-menu > li > .sub-menu > li > a::before{
    content:"";
    position:absolute;
    top:0;
    left:50%;
    width:34px;
    height:34px;
    transform:translateX(-50%);
    background-repeat:no-repeat;
    background-position:center;
    background-size:34px 34px;
    border:none;
    border-radius:0;
    box-shadow:none;
    opacity:1;
    filter:none;
}

/* IKONY submenu */
.main-menu > li > .sub-menu > li.icon-bio > a::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64' fill='none'><path d='M32 10C32 10 42 21 42 31C42 38 37 43 32 43C27 43 22 38 22 31C22 21 32 10 32 10Z' stroke='%2384c341' stroke-width='3'/><path d='M10 46C16 42 22 42 28 46C34 50 40 50 46 46C50 43 54 42 58 43' stroke='%2384c341' stroke-width='3' stroke-linecap='round'/><path d='M6 53C12 49 18 49 24 53C30 57 36 57 42 53C48 49 54 49 58 51' stroke='%2384c341' stroke-width='3' stroke-linecap='round'/></svg>");}
.main-menu > li > .sub-menu > li.icon-eco > a::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64' fill='none'><rect x='14' y='18' width='36' height='28' rx='4' stroke='%2384c341' stroke-width='3'/><path d='M22 34C26 29 30 29 34 34C38 39 42 39 46 34' stroke='%2384c341' stroke-width='3' stroke-linecap='round'/><path d='M32 10C32 10 40 18 40 24C40 28 36 32 32 32C28 32 24 28 24 24C24 18 32 10 32 10Z' stroke='%2384c341' stroke-width='3'/></svg>");}
.main-menu > li > .sub-menu > li.icon-tank > a::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64' fill='none'><path d='M22 16H42V48H22V16Z' stroke='%2384c341' stroke-width='3'/><path d='M22 22H42' stroke='%2384c341' stroke-width='3'/><path d='M22 42H42' stroke='%2384c341' stroke-width='3'/><path d='M16 48H48' stroke='%2384c341' stroke-width='3' stroke-linecap='round'/></svg>");}
.main-menu > li > .sub-menu > li.icon-firm > a::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64' fill='none'><path d='M10 42C16 38 22 38 28 42C34 46 40 46 46 42C50 39 54 38 58 39' stroke='%2384c341' stroke-width='3' stroke-linecap='round'/><path d='M8 50C14 46 20 46 26 50C32 54 38 54 44 50C50 46 56 46 58 47' stroke='%2384c341' stroke-width='3' stroke-linecap='round'/><path d='M32 12C32 12 42 23 42 32C42 38 37 43 32 43C27 43 22 38 22 32C22 23 32 12 32 12Z' stroke='%2384c341' stroke-width='3'/></svg>");}
.main-menu > li > .sub-menu > li.icon-project > a::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64' fill='none'><path d='M16 18H48V46H16V18Z' stroke='%2384c341' stroke-width='3'/><path d='M22 26H42' stroke='%2384c341' stroke-width='3' stroke-linecap='round'/><path d='M22 34H42' stroke='%2384c341' stroke-width='3' stroke-linecap='round'/><path d='M22 42H34' stroke='%2384c341' stroke-width='3' stroke-linecap='round'/></svg>");}
.main-menu > li > .sub-menu > li.icon-acc > a::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64' fill='none'><path d='M20 18L44 42' stroke='%2384c341' stroke-width='3' stroke-linecap='round'/><path d='M28 46L18 36L36 18L46 28L28 46Z' stroke='%2384c341' stroke-width='3'/></svg>");}
.main-menu > li > .sub-menu > li.icon-gw > a::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64' fill='none'><circle cx='32' cy='28' r='14' stroke='%2384c341' stroke-width='3'/><path d='M32 18L35 25L42 25L36 30L38 37L32 33L26 37L28 30L22 25L29 25L32 18Z' stroke='%2384c341' stroke-width='3'/></svg>");}
.main-menu > li > .sub-menu > li.icon-montaz > a::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64' fill='none'><path d='M18 44L44 18' stroke='%2384c341' stroke-width='3' stroke-linecap='round'/><path d='M18 18L30 30' stroke='%2384c341' stroke-width='3' stroke-linecap='round'/><path d='M34 34L46 46' stroke='%2384c341' stroke-width='3' stroke-linecap='round'/></svg>");}
.main-menu > li > .sub-menu > li.icon-how > a::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64' fill='none'><circle cx='32' cy='32' r='18' stroke='%2384c341' stroke-width='3'/><path d='M32 22V34L40 38' stroke='%2384c341' stroke-width='3' stroke-linecap='round'/></svg>");}
.main-menu > li > .sub-menu > li.icon-exp > a::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64' fill='none'><path d='M12 44C18 40 24 40 30 44C36 48 42 48 48 44C52 41 56 40 58 41' stroke='%2384c341' stroke-width='3' stroke-linecap='round'/><path d='M32 10C32 10 40 18 40 24C40 28 36 32 32 32C28 32 24 28 24 24C24 18 32 10 32 10Z' stroke='%2384c341' stroke-width='3'/><path d='M24 48H40' stroke='%2384c341' stroke-width='3' stroke-linecap='round'/></svg>");}
.main-menu > li > .sub-menu > li.icon-shop > a::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64' fill='none'><path d='M20 24H48L44 42H24L20 24Z' stroke='%2384c341' stroke-width='3'/><circle cx='28' cy='48' r='2.5' fill='%2384c341'/><circle cx='40' cy='48' r='2.5' fill='%2384c341'/><path d='M16 18H20L22 24' stroke='%2384c341' stroke-width='3' stroke-linecap='round'/></svg>");}
.main-menu > li > .sub-menu > li.icon-cert > a::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64' fill='none'><circle cx='32' cy='24' r='12' stroke='%2384c341' stroke-width='3'/><path d='M32 18L35 23L41 24L36 28L37 34L32 31L27 34L28 28L23 24L29 23L32 18Z' stroke='%2384c341' stroke-width='3'/><path d='M26 36L22 50L32 44L42 50L38 36' stroke='%2384c341' stroke-width='3'/></svg>");}
.main-menu > li > .sub-menu > li.icon-awards > a::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64' fill='none'><path d='M24 16H40V24C40 30 36 34 32 34C28 34 24 30 24 24V16Z' stroke='%2384c341' stroke-width='3'/><path d='M20 20H16C16 26 20 30 24 30' stroke='%2384c341' stroke-width='3'/><path d='M44 20H48C48 26 44 30 40 30' stroke='%2384c341' stroke-width='3'/><path d='M32 34V46' stroke='%2384c341' stroke-width='3'/><path d='M24 50H40' stroke='%2384c341' stroke-width='3' stroke-linecap='round'/></svg>");}
.main-menu > li > .sub-menu > li.icon-ref > a::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64' fill='none'><rect x='16' y='14' width='32' height='36' rx='4' stroke='%2384c341' stroke-width='3'/><path d='M24 26H40' stroke='%2384c341' stroke-width='3' stroke-linecap='round'/><path d='M24 34H40' stroke='%2384c341' stroke-width='3' stroke-linecap='round'/><path d='M24 42H34' stroke='%2384c341' stroke-width='3' stroke-linecap='round'/></svg>");}
.main-menu > li > .sub-menu > li.icon-gallery > a::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64' fill='none'><rect x='14' y='16' width='36' height='30' rx='4' stroke='%2384c341' stroke-width='3'/><circle cx='25' cy='27' r='3' stroke='%2384c341' stroke-width='3'/><path d='M20 40L30 30L38 36L44 30L50 40' stroke='%2384c341' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/></svg>");}
.main-menu > li > .sub-menu > li.icon-installers > a::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64' fill='none'><circle cx='22' cy='22' r='5' stroke='%2384c341' stroke-width='3'/><circle cx='42' cy='22' r='5' stroke='%2384c341' stroke-width='3'/><path d='M14 40C14 34 18 30 22 30C26 30 30 34 30 40' stroke='%2384c341' stroke-width='3'/><path d='M34 40C34 34 38 30 42 30C46 30 50 34 50 40' stroke='%2384c341' stroke-width='3'/></svg>");}
.main-menu > li > .sub-menu > li.icon-eshop > a::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64' fill='none'><path d='M20 24H48L44 42H24L20 24Z' stroke='%2384c341' stroke-width='3'/><circle cx='28' cy='48' r='2.5' fill='%2384c341'/><circle cx='40' cy='48' r='2.5' fill='%2384c341'/><path d='M16 18H20L22 24' stroke='%2384c341' stroke-width='3' stroke-linecap='round'/></svg>");}

@media (max-width:1280px){
    .main-menu{gap:22px;}
    .main-menu > li > a{font-size:15px;}
    .main-menu > li > .sub-menu{width:980px;}
}

@media (max-width:1100px){
    .site-header{position:relative;top:auto;}
    .admin-bar .site-header{top:auto;}
    .site-header-inner{grid-template-columns:1fr;min-height:auto;gap:16px;padding:16px 0;}
    .main-menu{flex-wrap:wrap;gap:14px 18px;}
    .main-menu > li > a{min-height:auto;padding:8px 0 18px;font-size:15px;}
    .main-menu > li > a::before{top:0;}
    .main-menu > li.menu-item-has-children > a::after{top:auto;bottom:4px;}
    .main-menu > li > .sub-menu{left:0;transform:none;width:100%;padding:18px;grid-template-columns:repeat(2,minmax(0,1fr));box-shadow:none;}
}

@media (max-width:782px){
    .admin-bar .site-header{top:46px;}
}

@media (max-width:700px){
    .main-menu > li > .sub-menu{grid-template-columns:1fr;}
}

/* =========================
   SHOP LAYOUT / SIDEBAR
   ========================= */
.ekopol-main{
    padding-top:24px;
    padding-bottom:50px;
}

.ekopol-shop-shell{
    background:#fff;
    padding:24px 28px 36px;
    min-height:500px;
}

.ekopol-shop-layout.has-sidebar{
    display:grid;
    grid-template-columns:340px minmax(0,1fr);
    gap:35px;
    align-items:start;
}

.ekopol-shop-layout.no-sidebar{
    display:block;
}

.ekopol-shop-sidebar,
.ekopol-shop-content{
    min-width:0;
}

.shop-side-box{
    background:#fafafa;
    border:1px solid #dfe5df;
    padding:22px 20px;
}

.shop-side-section{
    padding-bottom:24px;
    margin-bottom:24px;
    border-bottom:1px solid #dfe5df;
}

.shop-side-section:last-child{
    padding-bottom:0;
    margin-bottom:0;
    border-bottom:0;
}

.shop-side-box h3{
    margin:0 0 14px;
    font-size:18px;
    line-height:1.25;
    font-weight:700;
    color:#111;
}

.shop-cat-menu ul,
.shop-product-menu ul,
.shop-sidebar-menu,
.shop-sidebar-menu ul{
    list-style:none;
    margin:0;
    padding:0;
}

.shop-cat-menu li,
.shop-product-menu li,
.shop-sidebar-menu li{
    margin:0 0 10px;
}

.shop-cat-menu a,
.shop-product-menu a,
.shop-sidebar-menu a{
    display:block;
    text-decoration:none;
    color:#111;
    font-size:15px;
    line-height:1.45;
    font-weight:600;
}

.shop-cat-menu .current-cat > a,
.shop-product-menu .current-product > a,
.shop-sidebar-menu .current-menu-item > a,
.shop-sidebar-menu .current_page_item > a,
.shop-cat-menu a:hover,
.shop-product-menu a:hover,
.shop-sidebar-menu a:hover{
    color:#84c341;
}

.shop-side-category-image{
    margin:0 0 8px;
}

.shop-side-category-image img{
    display:block;
    width:100%;
    height:auto;
}

/* =========================
   SHOP CATEGORY / ARCHIVE
   ========================= */
.ekopol-archive-header{
    margin:0 0 24px;
    padding-bottom:16px;
    border-bottom:1px solid #e5e5e5;
}

.ekopol-page-title{
    margin:0;
    font-size:44px;
    line-height:1.08;
    font-weight:500;
    color:#111;
}

.woocommerce-result-count,
.woocommerce-ordering{
    display:none !important;
}

.woocommerce ul.products{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:34px 28px;
    margin:0 !important;
    padding:0 !important;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after{
    display:none !important;
}
.woocommerce ul.products li.product{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    float:none !important;
    clear:none !important;
    margin:0 !important;
    list-style:none;
    text-align:left;
    border:1px solid #e6e6e6;
    background:#fff;
    padding:18px;
    box-sizing:border-box !important;
    overflow:hidden !important;
}

.woocommerce ul.products li.product a{
    text-decoration:none;
}
.woocommerce ul.products li.product img{
    display:block !important;
    width:auto !important;
    max-width:100% !important;
    height:280px !important;
    max-height:280px !important;
    object-fit:contain !important;
    object-position:center center !important;
    margin:0 auto 18px !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title{
    font-size:21px !important;
    line-height:1.2;
    font-weight:500;
    color:#111;
    padding:0 !important;
    margin:0 0 10px !important;
}

.woocommerce ul.products li.product .price{
    color:#111 !important;
    font-size:20px !important;
    font-weight:700;
    margin:0 0 14px !important;
}

.woocommerce ul.products li.product .button{
    display:inline-block;
    padding:12px 18px;
    background:#84c341 !important;
    color:#fff !important;
    border-radius:0;
    font-weight:700;
    text-transform:uppercase;
    font-size:13px;
    letter-spacing:.02em;
}

.woocommerce ul.products li.product .button:hover{
    opacity:.92;
}

.ekopol-bottom-category-desc{
    margin-top:32px;
    padding:20px;
    border:1px solid #84c341;
    background:#fff;
}

.ekopol-bottom-category-desc h3{
    margin:0 0 14px;
    font-size:28px;
    line-height:1.15;
    font-weight:500;
    color:#111;
}

.ekopol-bottom-category-desc p:last-child{
    margin-bottom:0;
}

/* =========================
   SINGLE PRODUCT
   ========================= */
.single-product .ekopol-shop-content{
    padding-top:6px;
}

.single-product div.product{
    display:grid;
    grid-template-columns:minmax(0,1.08fr) minmax(430px,520px);
    gap:28px;
    align-items:start;
}

.single-product div.product > div.images{
    grid-column:1;
}

.single-product div.product > div.summary{
    grid-column:2;
}

.single-product div.product div.images,
.single-product div.product div.summary{
    float:none !important;
    width:auto !important;
    margin:0 !important;
}

.single-product div.product div.images{
    background:#fff;
    border:1px solid #dfdfdf;
    padding:22px;
}

.single-product div.product div.images img{
    width:100%;
    height:auto;
    display:block;
}

.single-product div.product div.images .flex-control-thumbs{
    margin-top:14px !important;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
}

.single-product div.product div.images .flex-control-thumbs li{
    margin:0 !important;
}

.single-product div.product div.summary{
    background:#fff;
    border:1px solid #dfdfdf;
    padding:28px 30px 24px;
}

.single-product .woocommerce-breadcrumb{
    margin:0 0 16px;
    font-size:14px;
    color:#777;
}

.single-product .woocommerce-breadcrumb a{
    color:#777;
    text-decoration:none;
}

.single-product .product_title{
    margin:0 0 14px;
    font-size:22px;
    line-height:1.08;
    font-weight:700;
    color:#111;
    word-break:normal;
}

.single-product div.product p.price,
.single-product div.product span.price{
    color:#84c341 !important;
    font-size:32px !important;
    font-weight:700;
    margin:0 0 16px !important;
    line-height:1.1;
}

.single-product .ekopol-pills{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin:0 0 20px;
}

.single-product .ekopol-pills span{
    display:inline-block;
    padding:8px 12px;
    border:1px solid #dbe7cd;
    background:#f7fbf2;
    color:#628d2f;
    font-size:14px;
    font-weight:600;
    line-height:1.2;
}

.single-product .woocommerce-product-details__short-description{
    margin:0 0 18px;
    font-size:16px;
    line-height:1.72;
    color:#333;
    max-width:100%;
}

.single-product .woocommerce-product-details__short-description p{
    margin:0 0 12px;
}

.single-product .woocommerce-product-details__short-description strong{
    color:#111;
}

.single-product .ekopol-short-list{
    list-style:none;
    margin:14px 0 0;
    padding:0;
}

.single-product .ekopol-short-list li{
    position:relative;
    margin:0 0 10px;
    padding-left:28px;
    line-height:1.55;
}

.single-product .ekopol-short-list li::before{
    content:"âś“";
    position:absolute;
    left:0;
    top:0;
    color:#84c341;
    font-size:22px;
    line-height:1;
    font-weight:700;
}

.single-product form.cart{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    margin:18px 0 16px !important;
    width:100%;
}

.single-product form.cart .quantity{
    margin:0 !important;
}

.single-product form.cart .qty{
    width:64px;
    min-height:46px;
    border:1px solid #d8d8d8;
    font-size:18px;
}

.single-product form.cart .single_add_to_cart_button{
    min-height:48px;
    padding:0 20px !important;
    background:#84c341 !important;
    color:#fff !important;
    border:none !important;
    border-radius:0 !important;
    font-size:14px !important;
    font-weight:700 !important;
    text-transform:none;
}

.single-product form.cart .single_add_to_cart_button:hover{
    background:#74b02d !important;
}

.single-product .product_meta{
    margin-top:16px;
    padding-top:14px;
    border-top:1px solid #ececec;
    font-size:14px;
    line-height:1.7;
    color:#444;
}

.single-product .product_meta a{
    color:#84c341;
    text-decoration:none;
}

.single-product .product_meta .sku_wrapper,
.single-product .product_meta .tagged_as{
    display:none;
}

.single-product .ekopol-benefits-strip,
.single-product div.product .woocommerce-tabs,
.single-product .related.products,
.single-product .upsells.products{
    grid-column:1 / -1;
}

.single-product .ekopol-benefits-strip{
    margin:22px 0 0;
    padding:0;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px;
}

.single-product .ekopol-benefit{
    background:#fff;
    border:1px solid #e5e5e5;
    padding:18px 16px;
    min-height:88px;
}

.single-product .ekopol-benefit-title{
    display:block;
    font-size:17px;
    font-weight:700;
    color:#111;
    margin:0 0 6px;
    line-height:1.2;
}

.single-product .ekopol-benefit-desc{
    display:block;
    font-size:13px;
    line-height:1.45;
    color:#555;
}

.single-product div.product .woocommerce-tabs{
    margin-top:26px;
    background:#fff;
    border:1px solid #dfdfdf;
    padding:28px;
}

.single-product div.product .woocommerce-tabs ul.tabs{
    margin:0 0 24px;
    padding:0;
    border-bottom:1px solid #ececec;
}

.single-product div.product .woocommerce-tabs ul.tabs::before{
    display:none !important;
}

.single-product div.product .woocommerce-tabs ul.tabs li{
    background:none !important;
    border:none !important;
    border-radius:0 !important;
    margin:0 18px 0 0 !important;
    padding:0 0 12px !important;
}

.single-product div.product .woocommerce-tabs ul.tabs li a{
    padding:0 !important;
    color:#222 !important;
    font-size:17px;
    font-weight:600;
}

.single-product div.product .woocommerce-tabs ul.tabs li.active{
    border-bottom:3px solid #84c341 !important;
}

.single-product div.product .woocommerce-tabs .panel{
    margin:0;
    font-size:16px;
    line-height:1.75;
    color:#333;
}

.single-product div.product .woocommerce-tabs h2{
    font-size:34px;
    line-height:1.15;
    margin:0 0 16px;
    color:#111;
}

.single-product div.product .woocommerce-tabs h3{
    font-size:22px;
    line-height:1.2;
    margin:24px 0 12px;
    color:#111;
}

.single-product div.product .woocommerce-tabs p{
    margin:0 0 16px;
}

.single-product div.product .woocommerce-tabs ul{
    margin:0 0 18px 22px;
}

.single-product div.product .woocommerce-tabs li{
    margin-bottom:8px;
}

/* =========================
   CATEGORY DESCRIPTION PREMIUM
   ========================= */
.tax-product_cat .woocommerce-products-header__description,
.tax-product_cat .term-description{
    display:block;
    width:100%;
    max-width:none;
}

.ekopol-cat-premium{
    width:100%;
    margin-top:28px;
    color:#1b1b1b;
}

.ekopol-cat-premium__hero{
    background:linear-gradient(180deg,#fbfcfa 0%,#f4f8f0 100%);
    border:1px solid #dfe7d7;
    padding:34px 38px;
    margin-bottom:26px;
}

.ekopol-cat-premium__eyebrow{
    display:inline-block;
    font-size:13px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#84c341;
    margin-bottom:10px;
}

.ekopol-cat-premium__hero h2{
    margin:0 0 16px;
    font-size:42px;
    line-height:1.08;
    font-weight:800;
    color:#111;
}

.ekopol-cat-premium__lead{
    max-width:980px;
    margin:0;
    font-size:18px;
    line-height:1.75;
    color:#333;
}

.ekopol-cat-premium__badges{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:24px;
}

.ekopol-cat-premium__badges span{
    display:inline-flex;
    align-items:center;
    min-height:42px;
    padding:0 16px;
    border:1px solid #cfe1bf;
    background:#fff;
    color:#5d8f23;
    font-size:14px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.02em;
}

.ekopol-cat-premium__icons{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:20px;
    margin-bottom:30px;
}

.ekopol-cat-premium .ekopol-feature-card{
    background:#fff;
    border:1px solid #e5e5e5;
    padding:26px 22px 22px;
    transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.ekopol-cat-premium .ekopol-feature-card:hover{
    transform:translateY(-4px);
    box-shadow:0 14px 30px rgba(0,0,0,.07);
    border-color:#d8e7cc;
}

.ekopol-feature-card__icon{
    width:72px;
    height:72px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid #d7e8c8;
    background:#f8fcf4;
    margin-bottom:18px;
}

.ekopol-feature-card__icon svg{
    width:42px;
    height:42px;
    fill:none;
    stroke:#84c341;
    stroke-width:2.2;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.ekopol-cat-premium .ekopol-feature-card h3{
    margin:0 0 10px;
    font-size:22px;
    line-height:1.2;
    color:#111;
}

.ekopol-cat-premium .ekopol-feature-card p{
    margin:0;
    font-size:15px;
    line-height:1.7;
    color:#444;
}

.ekopol-cat-premium__content{
    display:grid;
    grid-template-columns:minmax(0,2fr) minmax(280px,.9fr);
    gap:28px;
    align-items:start;
}

.ekopol-cat-premium__main,
.ekopol-cat-premium__aside{
    min-width:0;
}

.ekopol-cat-premium__main{
    background:#fff;
    border:1px solid #e5e5e5;
    padding:32px;
}

.ekopol-cat-premium__main h3{
    margin:0 0 16px;
    font-size:32px;
    line-height:1.15;
    color:#111;
}

.ekopol-cat-premium__main p{
    margin:0 0 18px;
    font-size:16px;
    line-height:1.8;
    color:#333;
}

.ekopol-benefits-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
    margin-top:24px;
}

.ekopol-benefit-box{
    border:1px solid #e6e6e6;
    background:#fbfbfb;
    padding:22px 20px;
}

.ekopol-benefit-box h4{
    margin:0 0 10px;
    font-size:19px;
    line-height:1.3;
    color:#84c341;
}

.ekopol-benefit-box p{
    margin:0;
    font-size:15px;
    line-height:1.7;
}

.ekopol-cat-premium__aside{
    display:grid;
    gap:18px;
}

.ekopol-aside-box{
    border:1px solid #e5e5e5;
    background:#fff;
    padding:24px 22px;
}

.ekopol-aside-box h4{
    margin:0 0 14px;
    font-size:22px;
    line-height:1.2;
    color:#111;
}

.ekopol-aside-box p{
    margin:0;
    font-size:15px;
    line-height:1.7;
    color:#333;
}

.ekopol-aside-box ul{
    margin:0;
    padding-left:18px;
}

.ekopol-aside-box li{
    margin-bottom:10px;
    font-size:15px;
    line-height:1.6;
}

.ekopol-aside-box--green{
    background:#84c341;
    border-color:#84c341;
    color:#fff;
}

.ekopol-aside-box--green h4,
.ekopol-aside-box--green p{
    color:#fff;
}

/* =========================
   RESPONSIVE
   ========================= */
@media (max-width:1200px){
    .ekopol-page-title{font-size:36px;}
    .single-product div.product{grid-template-columns:1fr;}
    .single-product div.product > div.images,
    .single-product div.product > div.summary,
    .single-product .ekopol-benefits-strip,
    .single-product div.product .woocommerce-tabs,
    .single-product .related.products,
    .single-product .upsells.products{grid-column:1 / -1;}
    .single-product .product_title{font-size:34px;}
    .single-product .ekopol-benefits-strip{grid-template-columns:repeat(2,1fr);}
    .ekopol-cat-premium__icons{grid-template-columns:repeat(2,minmax(0,1fr));}
    .ekopol-cat-premium__content{grid-template-columns:1fr;}
}

@media (max-width:991px){
    .ekopol-shop-layout.has-sidebar{grid-template-columns:1fr;}
    .woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media (max-width:767px){
    .ekopol-cat-premium__hero{padding:24px 20px;}
    .ekopol-cat-premium__hero h2{font-size:32px;}
    .ekopol-cat-premium__lead{font-size:16px;}
    .ekopol-cat-premium__icons{grid-template-columns:1fr;}
    .ekopol-benefits-grid{grid-template-columns:1fr;}
    .ekopol-cat-premium__main{padding:24px 20px;}
}

@media (max-width:700px){
    .ekopol-shop-shell{padding:18px;}
    .ekopol-page-title{font-size:30px;}
    .woocommerce ul.products{grid-template-columns:1fr;}
    .single-product div.product div.images,
    .single-product div.product div.summary,
    .single-product div.product .woocommerce-tabs{padding:16px;}
    .single-product .product_title{font-size:28px;}
    .single-product div.product p.price,
    .single-product div.product span.price{font-size:28px !important;}
    .single-product .ekopol-benefits-strip{grid-template-columns:1fr;}
    .single-product .ekopol-pills{gap:8px;}
    .single-product .ekopol-pills span{font-size:14px;padding:8px 11px;}
}

.ekopol-premium-category-page{
    margin-top: 36px;
}

/* Lightbox WooCommerce / PhotoSwipe */
.pswp{
    z-index: 100000 !important;
}

.admin-bar .pswp{
    top: 32px;
}

@media (max-width: 782px){
    .admin-bar .pswp{
        top: 46px;
    }
}

/* =========================
   GALERIA PRODUKTU â€“ wiÄ™ksze miniatury
   ========================= */

.single-product div.product div.images .flex-control-thumbs{
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
    margin-top: 14px !important;
    padding: 0 !important;
}

.single-product div.product div.images .flex-control-thumbs li{
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    list-style: none !important;
}

.single-product div.product div.images .flex-control-thumbs img{
    display: block !important;
    width: 100% !important;
    height: auto !important;
    border: 1px solid #dcdcdc;
    padding: 2px;
    background: #fff;
    opacity: 1 !important;
    cursor: pointer;
}

.single-product div.product div.images .flex-control-thumbs img.flex-active,
.single-product div.product div.images .flex-control-thumbs img:hover{
    border-color: #84c341;
}

/* trochÄ™ wiÄ™ksze gĹ‚Ăłwne zdjÄ™cie */
.single-product div.product div.images{
    padding: 18px !important;
}

.single-product div.product div.images .woocommerce-product-gallery__image img{
    width: 100% !important;
    height: auto !important;
    display: block !important;
}

/* =========================
   LIGHTBOX â€“ tĹ‚o ciemne, ale nie peĹ‚na czerĹ„
   ========================= */

.pswp{
    z-index: 100000 !important;
}

.pswp__bg{
    background: #000 !important;
    opacity: 0.6 !important;
}

.admin-bar .pswp{
    top: 32px;
}

@media (max-width: 782px){
    .admin-bar .pswp{
        top: 46px;
    }
}

/* =========================================
   SINGLE PRODUCT â€“ OPIS BEZ TABSĂ“W
   ========================================= */

.single-product .ekopol-benefits-strip{
    display: none !important;
}

.single-product div.product .woocommerce-tabs{
    display: none !important;
}

.single-product .ekopol-single-description{
    grid-column: 1 / -1;
    margin-top: 28px;
    background: #fff;
    border: 1px solid #dfdfdf;
    padding: 34px 36px;
}

.single-product .ekopol-single-description h2{
    margin: 0 0 18px;
    font-size: 40px;
    line-height: 1.1;
    font-weight: 700;
    color: #111;
}

.single-product .ekopol-single-description h3{
    margin: 28px 0 14px;
    font-size: 28px;
    line-height: 1.15;
    font-weight: 700;
    color: #111;
}

.single-product .ekopol-single-description h4{
    margin: 0 0 10px;
    font-size: 20px;
    line-height: 1.2;
    font-weight: 700;
    color: #111;
}

.single-product .ekopol-single-description p{
    margin: 0 0 16px;
    font-size: 17px;
    line-height: 1.8;
    color: #333;
}

.single-product .ekopol-single-description ul{
    margin: 0 0 18px 22px;
}

.single-product .ekopol-single-description li{
    margin-bottom: 8px;
    font-size: 16px;
    line-height: 1.75;
}

/* premium sekcje w opisie */
.single-product .ekopol-desc-hero{
    background: linear-gradient(180deg, #fbfcfa 0%, #f4f8f0 100%);
    border: 1px solid #dfe7d7;
    padding: 28px 30px;
    margin-bottom: 28px;
}

.single-product .ekopol-desc-hero h2{
    margin-bottom: 14px;
}

.single-product .ekopol-desc-badges{
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 18px;
}

.single-product .ekopol-desc-badges span{
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 0 14px;
    border: 1px solid #cfe1bf;
    background: #fff;
    color: #5d8f23;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
}

.single-product .ekopol-desc-grid{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin: 26px 0 30px;
}

.single-product .ekopol-desc-card{
    border: 1px solid #e6e6e6;
    background: #fafafa;
    padding: 22px 20px;
}

.single-product .ekopol-desc-card h4{
    color: #84c341;
}

.single-product .ekopol-desc-highlight{
    margin: 26px 0 28px;
    padding: 20px 22px;
    border-left: 4px solid #84c341;
    background: #f8fbf4;
}

.single-product .ekopol-desc-checks{
    list-style: none;
    margin: 18px 0 0;
    padding: 0;
}

.single-product .ekopol-desc-checks li{
    position: relative;
    padding-left: 28px;
    margin-bottom: 12px;
}

.single-product .ekopol-desc-checks li::before{
    content: "âś“";
    position: absolute;
    left: 0;
    top: 0;
    color: #84c341;
    font-size: 22px;
    line-height: 1;
    font-weight: 700;
}

@media (max-width: 900px){
    .single-product .ekopol-single-description{
        padding: 24px 20px;
    }

    .single-product .ekopol-single-description h2{
        font-size: 30px;
    }

    .single-product .ekopol-single-description h3{
        font-size: 24px;
    }

    .single-product .ekopol-desc-grid{
        grid-template-columns: 1fr;
    }
}

/* =========================
   STICKY LEWA KOLUMNA â€” FINAL
   ========================= */

.ekopol-main,
.ekopol-shop-shell,
.ekopol-shop-layout,
.ekopol-shop-sidebar{
    overflow: visible !important;
}

.ekopol-shop-layout.has-sidebar{
    align-items: start !important;
}

.ekopol-shop-sidebar{
    position: -webkit-sticky;
    position: sticky;
    top: 118px;
    align-self: start !important;
}

.ekopol-shop-sidebar .shop-side-box{
    max-height: calc(100vh - 138px);
    overflow: auto;
}

.admin-bar .ekopol-shop-sidebar{
    top: 150px;
}

.admin-bar .ekopol-shop-sidebar .shop-side-box{
    max-height: calc(100vh - 170px);
}

@media (max-width: 1100px){
    .ekopol-shop-sidebar{
        position: static;
        top: auto;
    }

    .ekopol-shop-sidebar .shop-side-box{
        max-height: none;
        overflow: visible;
    }
}

/* =========================================
   MOBILE MENU â€“ proste jak ekopol.pl
   ========================================= */

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

@media (max-width: 1100px){

    .site-header{
        position: sticky !important;
        top: 0 !important;
    }

    .admin-bar .site-header{
        top: 46px !important;
    }

    .site-header-inner{
        grid-template-columns: 1fr 52px !important;
        align-items: center !important;
        gap: 12px !important;
        min-height: 84px !important;
        padding: 10px 0 !important;
    }

    .site-branding{
        display:flex !important;
        align-items:center !important;
    }

    .site-logo-link img,
    .custom-logo{
        max-height: 58px !important;
        width: auto !important;
    }

    .mobile-menu-toggle{
        display:inline-flex !important;
        width: 46px;
        height: 46px;
        margin-left: auto;
        align-items:center;
        justify-content:center;
        flex-direction:column;
        gap:6px;
        border:0;
        background:none;
        padding:0;
        cursor:pointer;
    }

    .mobile-menu-toggle span{
        display:block;
        width:32px;
        height:4px;
        background:#111;
        transition:transform .2s ease, opacity .2s ease;
    }

    .site-header.is-mobile-open .mobile-menu-toggle span:nth-child(1){
        transform: translateY(10px) rotate(45deg);
    }

    .site-header.is-mobile-open .mobile-menu-toggle span:nth-child(2){
        opacity:0;
    }

    .site-header.is-mobile-open .mobile-menu-toggle span:nth-child(3){
        transform: translateY(-10px) rotate(-45deg);
    }

    .main-nav{
        display:none !important;
        grid-column: 1 / -1 !important;
        width:100% !important;
        padding: 6px 0 10px !important;
    }

    .site-header.is-mobile-open .main-nav{
        display:block !important;
    }

    .main-menu{
        display:block !important;
        width:100% !important;
        margin:0 !important;
        padding:0 !important;
        gap:0 !important;
    }

    .main-menu > li{
        display:block !important;
        margin:0 !important;
        padding:0 !important;
        border-top:1px solid #ecefec;
    }

    .main-menu > li > a{
        display:block !important;
        min-height:auto !important;
        padding:14px 0 !important;
        font-size:18px !important;
        line-height:1.25 !important;
        text-align:left !important;
        color:#111 !important;
    }

    .main-menu > li > a::before{
        display:none !important;
    }

    .main-menu > li.menu-item-has-children > a{
        position:relative !important;
        padding-right:24px !important;
    }

    .main-menu > li.menu-item-has-children > a::after{
        content:"" !important;
        position:absolute !important;
        left:auto !important;
        right:4px !important;
        top:50% !important;
        bottom:auto !important;
        width:8px !important;
        height:8px !important;
        margin:0 !important;
        border-right:2px solid #84c341 !important;
        border-bottom:2px solid #84c341 !important;
        transform:translateY(-50%) rotate(45deg) !important;
    }

    .main-menu > li.is-open.menu-item-has-children > a::after{
        transform:translateY(-50%) rotate(225deg) !important;
    }

    .main-menu > li > .sub-menu{
        position:static !important;
        left:auto !important;
        top:auto !important;
        transform:none !important;
        width:100% !important;
        max-width:none !important;
        min-width:0 !important;
        margin:0 !important;
        padding:0 0 8px 14px !important;
        border:0 !important;
        box-shadow:none !important;
        background:transparent !important;
        opacity:1 !important;
        visibility:visible !important;
        pointer-events:auto !important;
        display:none !important;
        grid-template-columns:1fr !important;
        gap:0 !important;
    }

    .main-menu > li.is-open > .sub-menu{
        display:block !important;
    }

    .main-menu > li > .sub-menu > li{
        margin:0 !important;
        padding:0 !important;
    }

    .main-menu > li > .sub-menu > li > a{
        display:block !important;
        min-height:auto !important;
        padding:10px 0 !important;
        font-size:15px !important;
        line-height:1.4 !important;
        text-align:left !important;
        text-transform:uppercase !important;
        color:#111 !important;
    }

    .main-menu > li > .sub-menu > li > a::before{
        display:none !important;
    }
}

/* =========================================
   MOBILE â€“ sidebar przeniesiony do hamburgera
   ========================================= */

.mobile-sidebar-slot{
    display:none;
}

@media (max-width: 1100px){

    /* ukryj sidebar w treĹ›ci strony */
    .ekopol-shop-sidebar{
        display:none !important;
    }

    .ekopol-shop-layout.has-sidebar{
        grid-template-columns:1fr !important;
    }

    /* pokaĹĽ sidebar w hamburgerze */
    .site-header.is-mobile-open .mobile-sidebar-slot{
        display:block !important;
        margin-top:14px;
        padding-top:14px;
        border-top:1px solid #ecefec;
    }

    .mobile-sidebar-slot .shop-side-box{
        background:transparent !important;
        border:0 !important;
        padding:0 !important;
        box-shadow:none !important;
    }

    .mobile-sidebar-slot .shop-side-section{
        margin:0 0 18px !important;
        padding:0 0 16px !important;
        border-bottom:1px solid #ecefec !important;
    }

    .mobile-sidebar-slot .shop-side-section:last-child{
        border-bottom:0 !important;
        padding-bottom:0 !important;
        margin-bottom:0 !important;
    }

    .mobile-sidebar-slot .shop-side-box h3{
        margin:0 0 10px !important;
        font-size:18px !important;
        line-height:1.2 !important;
        font-weight:700 !important;
        color:#111 !important;
    }

    .mobile-sidebar-slot .shop-cat-menu ul,
    .mobile-sidebar-slot .shop-product-menu ul,
    .mobile-sidebar-slot .shop-sidebar-menu,
    .mobile-sidebar-slot .shop-sidebar-menu ul{
        list-style:none !important;
        margin:0 !important;
        padding:0 !important;
    }

    .mobile-sidebar-slot .shop-cat-menu li,
    .mobile-sidebar-slot .shop-product-menu li,
    .mobile-sidebar-slot .shop-sidebar-menu li{
        margin:0 !important;
        padding:0 !important;
    }

    .mobile-sidebar-slot .shop-cat-menu a,
    .mobile-sidebar-slot .shop-product-menu a,
    .mobile-sidebar-slot .shop-sidebar-menu a{
        display:block !important;
        padding:9px 0 !important;
        text-decoration:none !important;
        color:#111 !important;
        font-size:15px !important;
        line-height:1.4 !important;
        font-weight:700 !important;
        text-transform:uppercase !important;
    }

    .mobile-sidebar-slot .shop-cat-menu .current-cat > a,
    .mobile-sidebar-slot .shop-product-menu .current-product > a,
    .mobile-sidebar-slot .shop-sidebar-menu .current-menu-item > a,
    .mobile-sidebar-slot .shop-sidebar-menu .current_page_item > a{
        color:#84c341 !important;
    }

    .mobile-sidebar-slot .shop-side-category-image{
        display:none !important;
    }
}

@media (max-width: 1100px){
    .site-header.is-mobile-open .mobile-sidebar-slot{
        display:block !important;
        margin-top:0 !important;
        margin-bottom:14px;
        padding-top:0 !important;
        padding-bottom:14px;
        border-top:0 !important;
        border-bottom:1px solid #ecefec;
    }
}

@media (max-width: 1100px){

    .site-header{
        overflow: visible !important;
    }

    .site-header.is-mobile-open{
        height: auto !important;
    }

    .site-header.is-mobile-open .main-nav{
        display: block !important;
        width: 100% !important;
        max-height: calc(100vh - 90px);
        overflow-y: auto !important;
        overflow-x: hidden !important;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
        touch-action: pan-y;
        padding-right: 4px;
    }

    .site-header.is-mobile-open .mobile-sidebar-slot{
        overflow: visible !important;
    }

    .site-header.is-mobile-open .main-menu{
        width: 100% !important;
    }

    .site-header.is-mobile-open .main-menu > li > a,
    .site-header.is-mobile-open .main-menu > li > .sub-menu > li > a,
    .site-header.is-mobile-open .mobile-sidebar-slot a{
        touch-action: manipulation;
    }
}

/* =========================================
   MOBILE â€“ peĹ‚na szerokoĹ›Ä‡ bez szarych marginesĂłw
   ========================================= */

@media (max-width: 1100px){

    html,
    body{
        background: #fff !important;
    }

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

    .container{
        max-width: none !important;
        width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .site-header,
    .site-header-inner,
    .main-nav,
    .ekopol-main,
    .ekopol-shop-shell,
    .ekopol-shop-layout,
    .ekopol-shop-content,
    .site-footer{
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .ekopol-main{
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    .ekopol-shop-shell{
        padding: 0 !important;
        background: #fff !important;
        border: 0 !important;
        min-height: auto !important;
    }

    .ekopol-shop-content{
        padding: 0 !important;
    }

    .woocommerce-breadcrumb,
    .ekopol-archive-header,
    .woocommerce-notices-wrapper,
    .single-product div.product,
    .single-product .ekopol-single-description,
    .tax-product_cat .woocommerce-products-header,
    .tax-product_cat .term-description,
    .ekopol-bottom-category-desc{
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* jeĹ›li chcesz lekki oddech tylko wewnÄ…trz tekstu i kart */
    .single-product div.product div.images,
    .single-product div.product div.summary,
    .single-product .ekopol-single-description,
    .woocommerce ul.products li.product,
    .ekopol-bottom-category-desc,
    .tax-product_cat .term-description,
    .woocommerce-products-header{
        border-left: 0 !important;
        border-right: 0 !important;
        border-radius: 0 !important;
    }
}
/* =========================================================
   WOOCOMMERCE – KOSZYK / CHECKOUT / OGÓLNY STYL EKOPOL
   Wklej zamiast starej sekcji od tego komentarza w dół
========================================================= */

/* kontener */
.woocommerce-page .woocommerce,
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce {
    width: 100%;
}

/* komunikaty */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    border: 1px solid #d9e9c7;
    background: #f8fcf2;
    color: #222;
    padding: 16px 18px;
    margin-bottom: 25px;
    border-radius: 0;
}

/* =========================================
   KOSZYK – układ 1 kolumna
   ========================================= */

.woocommerce-cart .woocommerce {
    display: block !important;
}

.woocommerce-cart .woocommerce-notices-wrapper {
    width: 100% !important;
    margin: 0 0 20px 0 !important;
}

.woocommerce-cart .woocommerce-notices-wrapper:empty {
    display: none !important;
}

.woocommerce-cart .woocommerce-cart-form,
.woocommerce-cart .cart-collaterals {
    width: 100% !important;
    float: none !important;
    clear: both !important;
    margin: 0 0 30px 0 !important;
}

.woocommerce-cart .cart-collaterals .cart_totals {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
}

.woocommerce-cart table.shop_table {
    width: 100% !important;
    border-collapse: collapse !important;
    background: #fff !important;
    border: 1px solid #e5e5e5 !important;
}

.woocommerce-cart table.shop_table th,
.woocommerce-cart table.shop_table td {
    padding: 18px 16px !important;
    vertical-align: middle !important;
    border-bottom: 1px solid #ececec !important;
}

.woocommerce-cart table.shop_table th {
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    color: #111 !important;
    background: #fafafa !important;
}

.woocommerce-cart table.shop_table td.product-name a {
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    color: #111 !important;
    text-decoration: none !important;
}

.woocommerce-cart table.shop_table td.product-thumbnail img {
    width: 72px !important;
    height: auto !important;
    border: 1px solid #ddd !important;
    background: #fff !important;
    padding: 3px !important;
}

.woocommerce-cart .product-remove a {
    color: #cc2a2a !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

.woocommerce-cart .quantity .qty {
    width: 72px !important;
    height: 46px !important;
    text-align: center !important;
    border: 1px solid #d9d9d9 !important;
}

.woocommerce-cart .actions {
    padding: 18px 16px !important;
}

.woocommerce-cart .actions .button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    background: #8cc63f !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 0 !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    padding: 16px 28px !important;
    text-transform: none !important;
    box-shadow: none !important;
}

.woocommerce-cart .actions .button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
    background: #79b12f !important;
    color: #fff !important;
}

.woocommerce-cart .actions .coupon {
    display: none !important;
}

.woocommerce-cart .cart_totals {
    border: 1px solid #e5e5e5 !important;
    background: #fff !important;
    padding: 28px !important;
}

.woocommerce-cart .cart_totals h2 {
    font-size: 28px !important;
    line-height: 1.2 !important;
    margin: 0 0 24px 0 !important;
    font-weight: 800 !important;
    color: #111 !important;
}

.woocommerce-cart .cart_totals table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin-bottom: 24px !important;
}

.woocommerce-cart .cart_totals th,
.woocommerce-cart .cart_totals td {
    padding: 16px 0 !important;
    border-bottom: 1px solid #ececec !important;
    text-align: left !important;
    vertical-align: top !important;
}

.woocommerce-cart .cart_totals tr.order-total th,
.woocommerce-cart .cart_totals tr.order-total td {
    font-size: 20px !important;
    font-weight: 800 !important;
    color: #111 !important;
}

.woocommerce-cart .wc-proceed-to-checkout {
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    margin: 0 !important;
}

.woocommerce-cart .woocommerce-shipping-destination,
.woocommerce-cart .shipping-calculator-button,
.woocommerce-cart .shipping-calculator-form {
    display: none !important;
}

.woocommerce-cart .cart_totals tr.shipping th,
.woocommerce-checkout .shop_table tr.shipping th {
    vertical-align: top;
    text-align: left !important;
    padding-top: 18px !important;
}

.woocommerce-cart .cart_totals tr.shipping td,
.woocommerce-checkout .shop_table tr.shipping td {
    text-align: left !important;
    vertical-align: top;
}

.woocommerce-cart .cart_totals ul#shipping_method,
.woocommerce-checkout ul#shipping_method {
    list-style: none;
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce-cart .cart_totals ul#shipping_method li,
.woocommerce-checkout ul#shipping_method li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    width: 100%;
    margin: 0 0 12px 0 !important;
    padding: 0 !important;
    text-align: left !important;
}

.woocommerce-cart .cart_totals ul#shipping_method li input[type="radio"],
.woocommerce-checkout ul#shipping_method li input[type="radio"] {
    margin: 4px 0 0 0 !important;
    flex: 0 0 auto;
}

.woocommerce-cart .cart_totals ul#shipping_method li label,
.woocommerce-checkout ul#shipping_method li label {
    display: block;
    margin: 0 !important;
    line-height: 1.5;
    font-weight: 400;
    cursor: pointer;
    text-align: left !important;
}

.woocommerce-cart .cart_totals .shipping td *,
.woocommerce-checkout .shop_table .shipping td * {
    text-align: left !important;
}

.woocommerce-cart .cart_totals tr.shipping td::before,
.woocommerce-checkout .shop_table tr.shipping td::before {
    display: none !important;
    content: none !important;
}

.woocommerce-cart .cart_totals tr.shipping td,
.woocommerce-checkout .shop_table tr.shipping td {
    width: 100% !important;
}

/* =========================================
   MOBILE FIX – koszyk
   ========================================= */
@media (max-width: 768px){
    html,
    body,
    .ekopol-main,
    .ekopol-shop-shell,
    .woocommerce,
    .woocommerce-cart-form,
    .cart-collaterals{
        overflow-x: hidden !important;
    }

    .woocommerce-cart .woocommerce,
    .woocommerce-cart .woocommerce-cart-form,
    .woocommerce-cart .cart-collaterals,
    .woocommerce-cart .cart-collaterals .cart_totals{
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    .woocommerce-cart table.shop_table,
    .woocommerce-cart table.shop_table tbody,
    .woocommerce-cart table.shop_table tr,
    .woocommerce-cart table.shop_table td{
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .woocommerce-cart td.product-remove,
    .woocommerce-cart td.product-thumbnail{
        display: none !important;
    }

    .woocommerce-cart table.shop_table_responsive tr,
    .woocommerce-page table.shop_table_responsive tr{
        display: block !important;
        border-bottom: 1px solid #ececec !important;
        margin-bottom: 0 !important;
    }

    .woocommerce-cart table.shop_table_responsive td,
    .woocommerce-page table.shop_table_responsive td{
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
        text-align: left !important;
        padding: 14px 12px !important;
        border-bottom: 1px solid #ececec !important;
    }

    .woocommerce-cart table.shop_table_responsive td::before,
    .woocommerce-page table.shop_table_responsive td::before{
        flex: 0 0 92px !important;
        font-weight: 700 !important;
        color: #111 !important;
        text-align: left !important;
        margin: 0 !important;
        padding-right: 8px !important;
    }

    .woocommerce-cart table.shop_table_responsive td.product-name,
    .woocommerce-cart table.shop_table_responsive td.product-price,
    .woocommerce-cart table.shop_table_responsive td.product-quantity,
    .woocommerce-cart table.shop_table_responsive td.product-subtotal{
        overflow: hidden !important;
    }

    .woocommerce-cart table.shop_table_responsive td.product-name a{
        display: block !important;
        max-width: 100% !important;
        text-align: right !important;
        word-break: break-word !important;
        overflow-wrap: anywhere !important;
        line-height: 1.35 !important;
    }

    .woocommerce-cart table.shop_table_responsive td.product-price .amount,
    .woocommerce-cart table.shop_table_responsive td.product-subtotal .amount{
        text-align: right !important;
        word-break: break-word !important;
    }

    .woocommerce-cart .quantity{
        margin-left: auto !important;
    }

    .woocommerce-cart .quantity .qty{
        width: 64px !important;
        min-width: 64px !important;
        max-width: 64px !important;
        height: 42px !important;
    }

    .woocommerce-cart .actions{
        padding: 14px 12px !important;
    }

    .woocommerce-cart .actions .button{
        width: 100% !important;
    }

    .woocommerce-cart .cart_totals{
        padding: 20px 16px !important;
    }

    .woocommerce-cart .cart_totals h2{
        font-size: 22px !important;
        line-height: 1.2 !important;
    }

    .woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
        width: 100% !important;
        font-size: 20px !important;
        padding: 18px 14px !important;
        box-sizing: border-box !important;
    }

    .woocommerce-cart .shop_table_responsive{
        overflow-x: hidden !important;
    }
}

/* =========================================
   CHECKOUT – układ i styl
   ========================================= */

body.woocommerce-checkout .wp-block-woocommerce-checkout,
body.woocommerce-checkout .wc-block-checkout {
    max-width: 1160px !important;
    margin: 0 auto !important;
}

/* desktop */
@media (min-width: 1101px) {
    body.woocommerce-checkout .wc-block-checkout {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: flex-start !important;
        gap: 28px !important;
    }

    body.woocommerce-checkout .wc-block-checkout__sidebar {
        order: 1 !important;
        flex: 0 0 400px !important;
        width: 400px !important;
        min-width: 400px !important;
        max-width: 400px !important;
        position: sticky !important;
        top: 118px !important;
        align-self: start !important;
        background: transparent !important;
        border: none !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    body.admin-bar.woocommerce-checkout .wc-block-checkout__sidebar {
        top: 150px !important;
    }

    body.woocommerce-checkout .wc-block-checkout__main {
        order: 2 !important;
        flex: 1 1 0 !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
    }

    body.woocommerce-checkout .wc-block-checkout__main > *,
    body.woocommerce-checkout .wc-block-checkout__main .wc-block-components-main,
    body.woocommerce-checkout .wc-block-checkout__main .wc-block-components-checkout-step,
    body.woocommerce-checkout .wc-block-checkout__main .wc-block-components-checkout-step__container,
    body.woocommerce-checkout .wc-block-checkout__main .wc-block-components-address-form {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    body.woocommerce-checkout .wc-block-components-main {
        background: #fff !important;
        border: 1px solid #dfe5d8 !important;
        padding: 24px !important;
    }
}

/* mobile */
@media (max-width: 1100px) {
    body.woocommerce-checkout .wc-block-checkout,
    body.woocommerce-checkout .wc-block-components-sidebar-layout {
        display: block !important;
    }

    body.woocommerce-checkout .wc-block-components-drawer,
    body.woocommerce-checkout .wc-block-components-drawer__screen-overlay,
    body.woocommerce-checkout .wc-block-components-drawer__content {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    body.woocommerce-checkout .wc-block-checkout__sidebar,
    body.woocommerce-checkout .wc-block-components-sidebar,
    body.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-sidebar {
        position: static !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: 0 !important;
        transform: none !important;
        overflow: visible !important;
        margin: 0 0 20px 0 !important;
        padding: 0 !important;
        box-shadow: none !important;
        background: transparent !important;
        border: none !important;
        z-index: 1 !important;
    }

    body.woocommerce-checkout .wc-block-checkout__main {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.woocommerce-checkout .wc-block-components-main {
        background: #fff !important;
        border: 1px solid #dfe5d8 !important;
        padding: 18px !important;
    }

    body.woocommerce-checkout .wc-block-components-order-summary__button,
    body.woocommerce-checkout .wc-block-components-order-summary__button-text,
    body.woocommerce-checkout .wc-block-components-order-summary__button-icon,
    body.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-sidebar__header {
        display: none !important;
    }

    body.woocommerce-checkout html,
    body.woocommerce-checkout body,
    body.woocommerce-checkout .site,
    body.woocommerce-checkout .site-content,
    body.woocommerce-checkout .content-area,
    body.woocommerce-checkout .woocommerce,
    body.woocommerce-checkout .wc-block-checkout {
        overflow-x: hidden !important;
    }
}

body.woocommerce-checkout .wc-block-components-title,
body.woocommerce-checkout .wc-block-components-checkout-step__title,
body.woocommerce-checkout .wc-block-components-order-summary__title {
    color: #111 !important;
    font-weight: 800 !important;
}

body.woocommerce-checkout .wc-block-components-button,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button {
    background: #8cc63f !important;
    border: 1px solid #8cc63f !important;
    color: #fff !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-weight: 800 !important;
}

body.woocommerce-checkout .wc-block-components-button:hover,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover {
    background: #79b12f !important;
    border-color: #79b12f !important;
    color: #fff !important;
}

body.woocommerce-checkout .wc-block-components-text-input,
body.woocommerce-checkout .wc-block-components-select,
body.woocommerce-checkout .wc-block-components-combobox,
body.woocommerce-checkout .wc-block-components-address-form > div {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    position: relative !important;
}

body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-select select,
body.woocommerce-checkout .wc-block-components-address-form input,
body.woocommerce-checkout .wc-block-components-address-form select,
body.woocommerce-checkout .wc-block-components-combobox .components-combobox-control__input {
    min-height: 58px !important;
    height: 58px !important;
    padding: 24px 14px 8px !important;
    border: 1px solid #d7ddd2 !important;
    background: #fff !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
    color: #111 !important;
}

body.woocommerce-checkout .wc-block-components-text-input label,
body.woocommerce-checkout .wc-block-components-select label,
body.woocommerce-checkout .wc-block-components-address-form label {
    position: absolute !important;
    top: 8px !important;
    left: 14px !important;
    transform: none !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 12px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    color: #6d7568 !important;
    background: transparent !important;
    pointer-events: none !important;
    z-index: 2 !important;
    max-width: calc(100% - 28px) !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

body.woocommerce-checkout .wc-block-components-text-input input:focus,
body.woocommerce-checkout .wc-block-components-select select:focus,
body.woocommerce-checkout .wc-block-components-address-form input:focus,
body.woocommerce-checkout .wc-block-components-address-form select:focus,
body.woocommerce-checkout .wc-block-components-combobox .components-combobox-control__input:focus {
    border-color: #8cc63f !important;
    box-shadow: 0 0 0 2px rgba(140,198,63,.14) !important;
    outline: none !important;
}

body.woocommerce-checkout input::placeholder {
    color: #8c9387 !important;
}

body.woocommerce-checkout input[type="checkbox"],
body.woocommerce-checkout input[type="radio"] {
    accent-color: #8cc63f;
}

body.woocommerce-checkout .wc-block-components-shipping-rates-control,
body.woocommerce-checkout .wc-block-components-checkout-step--order-notes,
body.woocommerce-checkout .wc-block-checkout__shipping-method,
body.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-method-block,
body.woocommerce-checkout .wc-block-checkout__shipping-method-block,
body.woocommerce-checkout .wc-block-components-checkout-step[data-step-id="shipping-method"],
body.woocommerce-checkout .wc-block-components-radio-control-accordion,
body.woocommerce-checkout .wc-block-components-shipping-methods,
body.woocommerce-checkout fieldset#shipping-method {
    display: none !important;
}

/* =========================================================
   EKOPOL FINAL 1.2 - kategorie produktu w sidebarze
   Zastepuje stare bloki "Sidebar - blok kategorii" i "EKOPOL: boczne kategorie".
   Wymagane: blok WooCommerce Kategorie produktow ma klase: ekopol-product-categories
========================================================= */

/* Sidebar zewnetrzny zostaje, ale bez wewnetrznego scrolla. */
.ekopol-shop-sidebar .shop-side-box,
.shop-side-box{
    max-height: none !important;
    overflow: visible !important;
}

.admin-bar .ekopol-shop-sidebar .shop-side-box{
    max-height: none !important;
}

/* Pierwsza sekcja to Kategorie sklepu z widgetow. Bez dodatkowego bialego pudelka i bez ramki. */
.shop-side-box .shop-side-section:first-child{
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid #dfe5df !important;
    padding: 0 0 24px 0 !important;
    margin: 0 0 24px 0 !important;
    box-shadow: none !important;
}

/* Ukryj ewentualny reczny naglowek dodany jako osobny blok. */
.shop-side-box .shop-side-section:first-child .wp-block-heading,
.shop-side-box .shop-side-section:first-child h2.wp-block-heading,
.shop-side-box .shop-side-section:first-child h3.wp-block-heading{
    display: none !important;
}

/* Tytul dodany bezposrednio do bloku kategorii, zeby nie tworzyl osobnej ramki. */
.shop-side-box .ekopol-product-categories::before{
    content: "Kategorie";
    display: block;
    margin: 0 0 22px 0;
    padding: 0;
    color: #111;
    font-size: 22px;
    line-height: 1.2;
    font-weight: 700;
}

/* Reset list i kropek systemowych. */
.shop-side-box .wc-block-product-categories-list,
.shop-side-box .wc-block-product-categories-list ul,
.shop-side-box .wc-block-product-categories-list li,
.shop-side-box .ekopol-product-categories,
.shop-side-box .ekopol-product-categories ul,
.shop-side-box .ekopol-product-categories li{
    list-style: none !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
}

.shop-side-box .wc-block-product-categories-list li::marker,
.shop-side-box .ekopol-product-categories li::marker{
    content: "" !important;
    font-size: 0 !important;
}

/* Ukrycie domyslnej kategorii WooCommerce. */
.shop-side-box .wc-block-product-categories-list-item:has(> a[href*="/bez-kategorii"]),
.shop-side-box .wc-block-product-categories-list-item:has(> a[href*="bez-kategorii"]),
.shop-side-box .wc-block-product-categories-list-item > a[href*="/bez-kategorii"],
.shop-side-box .wc-block-product-categories-list-item > a[href*="bez-kategorii"]{
    display: none !important;
}

/* Wiersze kategorii glownego poziomu. */
.shop-side-box .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item{
    margin: 0 !important;
    padding: 11px 0 !important;
    border-bottom: 1px solid #e5e5e5 !important;
}

.shop-side-box .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item:last-child{
    border-bottom: 0 !important;
}

/* Linki glownego poziomu. */
.shop-side-box .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item > a{
    display: block !important;
    position: relative !important;
    padding-right: 24px !important;
    color: #111 !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

/* Usuniecie wszystkich starych tekstowych strzalek typu >, ktore przez kodowanie robily zielone znaki zapytania. */
.shop-side-box .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item > a::after,
.shop-side-box .ekopol-product-categories .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item > a::after{
    content: "" !important;
    font-size: 0 !important;
    line-height: 0 !important;
    display: none !important;
}

/* Nowa strzalka tylko przy kategoriach z dziecmi, rysowana borderem, bez znakow tekstowych. */
.shop-side-box .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item:has(> ul) > a::after{
    content: "" !important;
    display: block !important;
    position: absolute !important;
    right: 4px !important;
    top: 50% !important;
    width: 7px !important;
    height: 7px !important;
    border-right: 2px solid #62b900 !important;
    border-bottom: 2px solid #62b900 !important;
    transform: translateY(-65%) rotate(45deg) !important;
}

/* Podkategorie. */
.shop-side-box .wc-block-product-categories-list--depth-1{
    margin: 9px 0 0 0 !important;
    padding-left: 14px !important;
}

.shop-side-box .wc-block-product-categories-list--depth-1 > .wc-block-product-categories-list-item{
    margin: 7px 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

.shop-side-box .wc-block-product-categories-list--depth-1 a{
    display: block !important;
    position: relative !important;
    padding-left: 14px !important;
    padding-right: 0 !important;
    color: #111 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    font-weight: 400 !important;
    text-decoration: none !important;
}

/* Bez strzalek przy podkategoriach. */
.shop-side-box .wc-block-product-categories-list--depth-1 a::after{
    display: none !important;
    content: none !important;
}

/* Zielone kropki przy podkategoriach. */
.shop-side-box .wc-block-product-categories-list--depth-1 a::before{
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 7px !important;
    width: 5px !important;
    height: 5px !important;
    background: #62b900 !important;
    border-radius: 50% !important;
}

.shop-side-box .wc-block-product-categories-list a:hover,
.shop-side-box .wc-block-product-categories-list .current-cat > a,
.shop-side-box .wc-block-product-categories-list .current-cat-parent > a{
    color: #58b900 !important;
    text-decoration: none !important;
}

/* Mobile: te same kategorie w hamburgerze/sidebarze. */
@media (max-width: 1100px){
    .mobile-sidebar-slot .wc-block-product-categories-list,
    .mobile-sidebar-slot .wc-block-product-categories-list ul,
    .mobile-sidebar-slot .wc-block-product-categories-list li{
        list-style: none !important;
        margin-left: 0 !important;
        padding-left: 0 !important;
    }

    .mobile-sidebar-slot .ekopol-product-categories::before{
        content: "Kategorie";
        display: block;
        margin: 0 0 10px 0;
        font-size: 18px;
        line-height: 1.2;
        font-weight: 700;
        color: #111;
    }

    .mobile-sidebar-slot .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item{
        padding: 0 !important;
        border-bottom: 1px solid #ecefec !important;
    }

    .mobile-sidebar-slot .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item > a{
        display: block !important;
        padding: 10px 24px 10px 0 !important;
        color: #111 !important;
        font-size: 15px !important;
        line-height: 1.4 !important;
        font-weight: 700 !important;
        text-decoration: none !important;
        text-transform: uppercase !important;
    }

    .mobile-sidebar-slot .wc-block-product-categories-list--depth-1{
        padding-left: 14px !important;
        margin: 0 0 8px 0 !important;
    }

    .mobile-sidebar-slot .wc-block-product-categories-list--depth-1 a{
        font-size: 14px !important;
        text-transform: none !important;
    }
}

/* =====================================================
   EKOPOL FINAL — kategoria produktów / lista produktów
   mniejsze zdjęcia, brak rozmywania, brak wychodzenia poza kontener
===================================================== */

.tax-product_cat .ekopol-shop-content,
.post-type-archive-product .ekopol-shop-content {
    min-width: 0 !important;
    overflow: hidden !important;
}

.tax-product_cat .woocommerce ul.products,
.post-type-archive-product .woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 26px 24px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

.tax-product_cat .woocommerce ul.products::before,
.tax-product_cat .woocommerce ul.products::after,
.post-type-archive-product .woocommerce ul.products::before,
.post-type-archive-product .woocommerce ul.products::after {
    display: none !important;
    content: none !important;
}

.tax-product_cat .woocommerce ul.products li.product,
.post-type-archive-product .woocommerce ul.products li.product {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    float: none !important;
    clear: none !important;
    margin: 0 !important;
    padding: 18px !important;
    box-sizing: border-box !important;
    list-style: none !important;
    border: 1px solid #e6e6e6 !important;
    background: #fff !important;
    overflow: hidden !important;
}

/* link obejmujący obrazek */
.tax-product_cat .woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-decoration: none !important;
}

/* najważniejsze: ramka/obszar zdjęcia */
.tax-product_cat .woocommerce ul.products li.product a.woocommerce-LoopProduct-link > img,
.post-type-archive-product .woocommerce ul.products li.product a.woocommerce-LoopProduct-link > img,
.tax-product_cat .woocommerce ul.products li.product img,
.post-type-archive-product .woocommerce ul.products li.product img {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    height: 300px !important;
    max-height: 300px !important;
    object-fit: contain !important;
    object-position: center center !important;
    margin: 0 auto 18px !important;
}

/* tytuł produktu */
.tax-product_cat .woocommerce ul.products li.product .woocommerce-loop-product__title,
.post-type-archive-product .woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 20px !important;
    line-height: 1.25 !important;
    font-weight: 500 !important;
    color: #111 !important;
    padding: 0 !important;
    margin: 0 0 10px !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
}

/* cena */
.tax-product_cat .woocommerce ul.products li.product .price,
.post-type-archive-product .woocommerce ul.products li.product .price {
    display: block !important;
    color: #111 !important;
    font-size: 20px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    margin: 0 0 18px !important;
}

/* przycisk */
.tax-product_cat .woocommerce ul.products li.product .button,
.post-type-archive-product .woocommerce ul.products li.product .button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 42px !important;
    padding: 0 18px !important;
    background: #84c341 !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 0 !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
}

/* trochę mniejsze zdjęcia na węższych ekranach */
@media (max-width: 1300px) {
    .tax-product_cat .woocommerce ul.products li.product img,
    .post-type-archive-product .woocommerce ul.products li.product img {
        height: 260px !important;
        max-height: 260px !important;
    }
}

@media (max-width: 991px) {
    .tax-product_cat .woocommerce ul.products,
    .post-type-archive-product .woocommerce ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .tax-product_cat .woocommerce ul.products li.product img,
    .post-type-archive-product .woocommerce ul.products li.product img {
        height: 240px !important;
        max-height: 240px !important;
    }
}

@media (max-width: 700px) {
    .tax-product_cat .woocommerce ul.products,
    .post-type-archive-product .woocommerce ul.products {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }

    .tax-product_cat .woocommerce ul.products li.product img,
    .post-type-archive-product .woocommerce ul.products li.product img {
        height: 230px !important;
        max-height: 230px !important;
    }
}

/* =====================================================
   EKOPOL FINAL FIX — krótki opis produktu, ikona + tekst w jednej linii
===================================================== */

.single-product .woocommerce-product-details__short-description .ekopol-short-product {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.single-product .woocommerce-product-details__short-description .ekopol-short-features {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 20px 0 22px !important;
    padding: 0 !important;
    border-top: 1px solid #e7e7e7 !important;
    box-sizing: border-box !important;
}

.single-product .woocommerce-product-details__short-description .ekopol-short-feature {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 18px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 18px 0 !important;
    margin: 0 !important;
    border-bottom: 1px solid #e7e7e7 !important;
    box-sizing: border-box !important;
    clear: both !important;
}

.single-product .woocommerce-product-details__short-description .ekopol-short-icon {
    flex: 0 0 58px !important;
    width: 58px !important;
    min-width: 58px !important;
    max-width: 58px !important;
    height: 58px !important;
    min-height: 58px !important;
    border: 2px solid #84c341 !important;
    color: #84c341 !important;
    background: #fff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
}

.single-product .woocommerce-product-details__short-description .ekopol-short-icon svg {
    display: block !important;
    width: 32px !important;
    height: 32px !important;
    max-width: 32px !important;
    max-height: 32px !important;
    color: #84c341 !important;
    stroke: currentColor !important;
    margin: 0 !important;
    padding: 0 !important;
}

.single-product .woocommerce-product-details__short-description .ekopol-short-text {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: none !important;
    width: auto !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

.single-product .woocommerce-product-details__short-description .ekopol-short-text strong {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 0 6px !important;
    padding: 0 !important;
    font-size: 16px !important;
    line-height: 1.3 !important;
    font-weight: 800 !important;
    color: #111 !important;
    white-space: normal !important;
}

.single-product .woocommerce-product-details__short-description .ekopol-short-text small {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    color: #333 !important;
    white-space: normal !important;
}

/* gdy WordPress doda automatyczne p/br w środku */
.single-product .woocommerce-product-details__short-description .ekopol-short-feature p {
    margin: 0 !important;
    padding: 0 !important;
}

.single-product .woocommerce-product-details__short-description .ekopol-short-feature br {
    display: none !important;
}

.single-product .woocommerce-product-details__short-description .ekopol-short-help {
    margin: 22px 0 18px !important;
    padding: 18px 20px !important;
    background: #f8fbf4 !important;
    border: 1px solid #dfead4 !important;
    border-left: 4px solid #84c341 !important;
    box-sizing: border-box !important;
}

.single-product .woocommerce-product-details__short-description .ekopol-short-help strong {
    display: block !important;
    margin: 0 0 7px !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
    font-weight: 800 !important;
    color: #111 !important;
}

.single-product .woocommerce-product-details__short-description .ekopol-short-help span {
    display: block !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
    color: #333 !important;
}

@media (max-width: 700px) {
    .single-product .woocommerce-product-details__short-description .ekopol-short-feature {
        gap: 14px !important;
    }

    .single-product .woocommerce-product-details__short-description .ekopol-short-icon {
        flex-basis: 48px !important;
        width: 48px !important;
        min-width: 48px !important;
        height: 48px !important;
        min-height: 48px !important;
    }

    .single-product .woocommerce-product-details__short-description .ekopol-short-icon svg {
        width: 26px !important;
        height: 26px !important;
    }
}
/* =====================================================
   EKOPOL FIX — duże zielone ptaszki bez kwadratu i bez błędu kodowania
===================================================== */

.single-product .ekopol-desc-checks {
    list-style: none !important;
    margin: 18px 0 24px 0 !important;
    padding: 0 !important;
}

.single-product .ekopol-desc-checks li {
    position: relative !important;
    margin: 0 0 13px 0 !important;
    padding-left: 34px !important;
    font-size: 16px !important;
    line-height: 1.65 !important;
    color: #222 !important;
}

/* usuwa stary popsuty znak albo kwadracik */
.single-product .ekopol-desc-checks li::before {
    content: "" !important;
    position: absolute !important;
    left: 2px !important;
    top: 7px !important;
    width: 9px !important;
    height: 17px !important;
    border-right: 4px solid #84c341 !important;
    border-bottom: 4px solid #84c341 !important;
    transform: rotate(45deg) !important;
    background: transparent !important;
    box-sizing: border-box !important;
}

/* usuwa ewentualny drugi element po poprzednim kodzie */
.single-product .ekopol-desc-checks li::after {
    content: none !important;
    display: none !important;
}

/* =====================================================
   EKOPOL FIX — komunikat po dodaniu do koszyka
===================================================== */

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    position: relative !important;
    display: block !important;
    min-height: 44px !important;
    margin: 0 0 24px 0 !important;
    padding: 18px 190px 18px 58px !important;
    background: #f8fbf4 !important;
    border: 1px solid #dfead4 !important;
    border-left: 4px solid #84c341 !important;
    color: #111 !important;
    font-size: 16px !important;
    line-height: 1.45 !important;
    box-sizing: border-box !important;
}

/* usuwa domyślną ikonę WooCommerce i rysuje własny ptaszek */
.woocommerce-message::before {
    content: "" !important;
    position: absolute !important;
    left: 24px !important;
    top: 22px !important;
    width: 8px !important;
    height: 15px !important;
    border-right: 4px solid #84c341 !important;
    border-bottom: 4px solid #84c341 !important;
    transform: rotate(45deg) !important;
    background: transparent !important;
    color: transparent !important;
    font-family: none !important;
}

/* przycisk Zobacz koszyk */
.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button {
    position: absolute !important;
    right: 18px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    float: none !important;
    margin: 0 !important;
    padding: 12px 20px !important;
    background: #84c341 !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 0 !important;
    font-size: 14px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

.woocommerce-message .button:hover,
.woocommerce-info .button:hover,
.woocommerce-error .button:hover {
    background: #74b02d !important;
    color: #fff !important;
}

/* linki w komunikacie */
.woocommerce-message a:not(.button),
.woocommerce-info a:not(.button),
.woocommerce-error a:not(.button) {
    color: #84c341 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

/* mobile */
@media (max-width: 700px) {
    .woocommerce-message,
    .woocommerce-info,
    .woocommerce-error {
        padding: 16px 16px 16px 52px !important;
    }

    .woocommerce-message .button,
    .woocommerce-info .button,
    .woocommerce-error .button {
        position: static !important;
        transform: none !important;
        display: block !important;
        width: 100% !important;
        margin-top: 14px !important;
        text-align: center !important;
    }
}

/* =========================================================
   EKOPOL FINAL 1.3 — CHECKOUT / PODSUMOWANIE ZAMÓWIENIA
   Jedyny blok dla wc-block-components-order-summary.
   Układ: obrazek na górze, nazwa / cena / opis pod spodem.
========================================================= */

body.woocommerce-checkout .wc-block-checkout__sidebar,
body.woocommerce-checkout .wc-block-components-sidebar,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
    box-sizing: border-box !important;
}

/* zawartość podsumowania */
body.woocommerce-checkout .wc-block-components-order-summary__content {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* karta produktu */
body.woocommerce-checkout .wc-block-components-order-summary__content > .wc-block-components-order-summary-item {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;

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

    margin: 0 0 12px 0 !important;
    padding: 18px !important;

    background: #fff !important;
 

    gap: 0 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

/* miniatura produktu — pierwszy rząd */
body.woocommerce-checkout .wc-block-components-order-summary__content > .wc-block-components-order-summary-item > .wc-block-components-order-summary-item__image {
    order: 1 !important;
    display: block !important;
    position: relative !important;

    width: 120px !important;
    height: 120px !important;
    min-width: 120px !important;
    max-width: 120px !important;
    min-height: 120px !important;
    max-height: 120px !important;

    flex: 0 0 auto !important;
    float: none !important;
    clear: both !important;

    margin: 0 0 16px 0 !important;
    padding: 0 !important;

    transform: none !important;
    box-sizing: border-box !important;
}

body.woocommerce-checkout .wc-block-components-order-summary__content > .wc-block-components-order-summary-item > .wc-block-components-order-summary-item__image img {
    display: block !important;

    width: 120px !important;
    height: 120px !important;
    min-width: 120px !important;
    max-width: 120px !important;
    min-height: 120px !important;
    max-height: 120px !important;

    object-fit: contain !important;
    object-position: center center !important;

    margin: 0 !important;
    padding: 5px !important;

    background: #fff !important;
    border: 1px solid #dfe5df !important;
    border-radius: 8px !important;

    float: none !important;
    box-sizing: border-box !important;
}

/* ilość na miniaturze */
body.woocommerce-checkout .wc-block-components-order-summary__content .wc-block-components-order-summary-item__quantity {
    position: absolute !important;
    top: -10px !important;
    right: -10px !important;

    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    min-height: 26px !important;

    border-radius: 50% !important;
    background: #84c341 !important;
    color: #fff !important;
    border: 2px solid #fff !important;

    font-size: 13px !important;
    line-height: 22px !important;
    font-weight: 700 !important;
    text-align: center !important;

    box-shadow: 0 0 0 1px #6fae2a !important;
    box-sizing: border-box !important;
}

/* treść produktu — pod obrazkiem, pełna szerokość */
body.woocommerce-checkout .wc-block-components-order-summary__content > .wc-block-components-order-summary-item > .wc-block-components-order-summary-item__description {
    order: 2 !important;
    display: block !important;

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

    flex: 0 0 auto !important;
    float: none !important;
    clear: both !important;

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

    transform: none !important;
    box-sizing: border-box !important;
}

/* nazwa produktu */
body.woocommerce-checkout .wc-block-components-order-summary__content .wc-block-components-product-name {
    display: block !important;

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

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

    color: #111 !important;
    font-size: 18px !important;
    line-height: 1.28 !important;
    font-weight: 800 !important;
    text-align: left !important;

    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    hyphens: none !important;
}

/* cena pod nazwą — ta wewnątrz .wc-block-cart-item__prices */
body.woocommerce-checkout .wc-block-components-order-summary__content .wc-block-cart-item__prices {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;

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

    text-align: left !important;
}

body.woocommerce-checkout .wc-block-components-order-summary__content .wc-block-cart-item__prices .price,
body.woocommerce-checkout .wc-block-components-order-summary__content .wc-block-cart-item__prices .wc-block-formatted-money-amount {
    display: inline-block !important;

    color: #111 !important;
    font-size: 19px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;

    white-space: normal !important;
    text-align: left !important;
}

/* druga cena WooCommerce po prawej — ukryta, bo dubluje cenę i psuje układ */
body.woocommerce-checkout .wc-block-components-order-summary__content > .wc-block-components-order-summary-item > .wc-block-components-order-summary-item__total-price {
    display: none !important;
}

/* opis / metadata produktu */
body.woocommerce-checkout .wc-block-components-order-summary__content .wc-block-components-product-metadata,
body.woocommerce-checkout .wc-block-components-order-summary__content .wc-block-components-product-metadata__description {
    display: block !important;

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

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

    color: #555 !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
    text-align: left !important;

    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
}

body.woocommerce-checkout .wc-block-components-order-summary__content .wc-block-components-product-metadata__description p {
    margin: 0 !important;
    padding: 0 !important;
}

/* opis skrócony, żeby karta nie robiła się zbyt wysoka */
body.woocommerce-checkout .wc-block-components-order-summary__content .wc-block-components-product-metadata__description {
    max-height: 72px !important;
    overflow: hidden !important;
}

/* screen-reader text nie może się pokazać wizualnie */
body.woocommerce-checkout .wc-block-components-order-summary__content .screen-reader-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* kwoty i linie pod produktem */
body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-wrapper,
body.woocommerce-checkout .wc-block-components-sidebar .wc-block-components-totals-wrapper {
    border: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-item,
body.woocommerce-checkout .wc-block-components-sidebar .wc-block-components-totals-item {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    width: 100% !important;
    max-width: 100% !important;

    margin: 0 0 10px 0 !important;
    padding: 16px 18px !important;

    background: #fff !important;
    border: 1px solid #dfe5d8 !important;
    border-radius: 14px !important;

    box-sizing: border-box !important;
}

body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-item__label,
body.woocommerce-checkout .wc-block-components-sidebar .wc-block-components-totals-item__label,
body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-item__value,
body.woocommerce-checkout .wc-block-components-sidebar .wc-block-components-totals-item__value {
    color: #111 !important;
    font-weight: 800 !important;
}

/* mobile */
@media (max-width: 700px) {
    body.woocommerce-checkout .wc-block-components-order-summary__content > .wc-block-components-order-summary-item {
        padding: 16px 14px 18px !important;
    }

    body.woocommerce-checkout .wc-block-components-order-summary__content > .wc-block-components-order-summary-item > .wc-block-components-order-summary-item__image,
    body.woocommerce-checkout .wc-block-components-order-summary__content > .wc-block-components-order-summary-item > .wc-block-components-order-summary-item__image img {
        width: 96px !important;
        height: 96px !important;
        min-width: 96px !important;
        max-width: 96px !important;
        min-height: 96px !important;
        max-height: 96px !important;
    }

    body.woocommerce-checkout .wc-block-components-order-summary__content .wc-block-components-product-name {
        font-size: 16px !important;
    }
}

/* =====================================================
   EKOPOL FIX — link "Zobacz koszyk" na liście kategorii
===================================================== */

/* kontener produktu po dodaniu do koszyka */
.woocommerce ul.products li.product {
    position: relative !important;
}

/* przycisk Dodaj do koszyka */
.woocommerce ul.products li.product .button.add_to_cart_button,
.woocommerce ul.products li.product .button.product_type_simple {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 42px !important;
    padding: 0 18px !important;
    margin: 0 !important;
    background: #84c341 !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 0 !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
}

/* =====================================================
   EKOPOL FIX — przyciski w kaflu produktu po dodaniu do koszyka
===================================================== */

.woocommerce ul.products li.product .button.add_to_cart_button,
.woocommerce ul.products li.product .button.product_type_simple,
.woocommerce ul.products li.product .added_to_cart.wc-forward {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 44px !important;
    min-height: 44px !important;
    box-sizing: border-box !important;
    padding: 0 18px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    vertical-align: top !important;
    border-radius: 0 !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    letter-spacing: 0 !important;
}

/* zielony przycisk */
.woocommerce ul.products li.product .button.add_to_cart_button,
.woocommerce ul.products li.product .button.product_type_simple {
    background: #84c341 !important;
    color: #fff !important;
    border: 1px solid #84c341 !important;
}

/* link Zobacz koszyk */
.woocommerce ul.products li.product .added_to_cart.wc-forward {
    background: #fff !important;
    color: #5d8f23 !important;
    border: 1px solid #84c341 !important;
    margin-left: 8px !important;
}

/* hover */
.woocommerce ul.products li.product .added_to_cart.wc-forward:hover {
    background: #84c341 !important;
    color: #fff !important;
}

/* usunięcie dziwnych odstępów z WooCommerce */
.woocommerce ul.products li.product .button::after,
.woocommerce ul.products li.product .added_to_cart::after {
    line-height: 1 !important;
    margin: 0 0 0 8px !important;
}

/* mobile / wąskie kafle */
@media (max-width: 700px) {
    .woocommerce ul.products li.product .button.add_to_cart_button,
    .woocommerce ul.products li.product .button.product_type_simple,
    .woocommerce ul.products li.product .added_to_cart.wc-forward {
        width: 100% !important;
        margin-left: 0 !important;
        margin-top: 8px !important;
    }
}
/* =====================================================
   EKOPOL FIX — checkboxy w checkout WooCommerce Blocks
   naprawia "Utwórz konto" nachodzące na Adres do wysyłki
===================================================== */

body.woocommerce-checkout .wc-block-components-checkbox,
body.woocommerce-checkout .wc-block-components-checkbox label,
body.woocommerce-checkout .wc-block-components-checkbox__label {
    position: static !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    width: auto !important;
    max-width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 10px 0 22px 0 !important;
    padding: 0 !important;
    background: transparent !important;
    color: #111 !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    font-weight: 400 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;
    pointer-events: auto !important;
    z-index: auto !important;
    transform: none !important;
}

/* sam checkbox */
body.woocommerce-checkout .wc-block-components-checkbox input[type="checkbox"],
body.woocommerce-checkout .wc-block-components-checkbox__input,
body.woocommerce-checkout input.wc-block-components-checkbox__input {
    position: static !important;
    display: inline-block !important;
    flex: 0 0 20px !important;
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
    max-width: 20px !important;
    max-height: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #bfc8b8 !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    accent-color: #84c341 !important;
}

/* tekst przy checkboxie */
body.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__label,
body.woocommerce-checkout .wc-block-components-checkbox span:not(.screen-reader-text) {
    position: static !important;
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #333 !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    font-weight: 400 !important;
    white-space: normal !important;
    transform: none !important;
}

/* dodatkowy odstęp przed nagłówkiem Adres do wysyłki */
body.woocommerce-checkout .wc-block-components-checkout-step__heading,
body.woocommerce-checkout .wc-block-checkout__shipping-address h2,
body.woocommerce-checkout .wc-block-checkout__shipping-address .wc-block-components-title {
    clear: both !important;
}

/* =====================================================
   EKOPOL ORDER RECEIVED - CLEAN VERSION
===================================================== */

body.woocommerce-order-received {
    background: #f3f3f3 !important;
}

body.woocommerce-order-received .ekopol-main {
    padding-top: 26px !important;
    padding-bottom: 60px !important;
}

body.woocommerce-order-received .ekopol-shop-shell {
    background: #fff !important;
    padding: 34px 42px 44px !important;
}

body.woocommerce-order-received .woocommerce-order {
    max-width: 1080px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    background: #fff !important;
    border: 0 !important;
    box-sizing: border-box !important;
}

/* success message */
body.woocommerce-order-received .woocommerce-thankyou-order-received,
body.woocommerce-order-received .woocommerce-notice--success {
    position: relative !important;
    display: block !important;
    margin: 0 0 26px !important;
    padding: 22px 26px 22px 66px !important;
    background: #f8fbf4 !important;
    border: 1px solid #dfead4 !important;
    border-left: 4px solid #84c341 !important;
    color: #111 !important;
    font-size: 19px !important;
    line-height: 1.35 !important;
    font-weight: 800 !important;
    box-sizing: border-box !important;
}

body.woocommerce-order-received .woocommerce-thankyou-order-received::before,
body.woocommerce-order-received .woocommerce-notice--success::before {
    content: "" !important;
    position: absolute !important;
    left: 28px !important;
    top: 24px !important;
    width: 9px !important;
    height: 17px !important;
    border-right: 4px solid #84c341 !important;
    border-bottom: 4px solid #84c341 !important;
    transform: rotate(45deg) !important;
    box-sizing: border-box !important;
}

/* order overview - remove Woo defaults */
body.woocommerce-order-received ul.woocommerce-order-overview,
body.woocommerce-order-received ul.order_details {
    float: none !important;
    clear: both !important;
    width: 100% !important;
    margin: 0 0 34px !important;
    padding: 0 !important;
    list-style: none !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 14px !important;
    box-sizing: border-box !important;
}

body.woocommerce-order-received ul.woocommerce-order-overview::before,
body.woocommerce-order-received ul.woocommerce-order-overview::after,
body.woocommerce-order-received ul.order_details::before,
body.woocommerce-order-received ul.order_details::after {
    display: none !important;
    content: none !important;
}

/* hide email tile to avoid useless/empty layout */
body.woocommerce-order-received .woocommerce-order-overview__email {
    display: none !important;
}

/* overview cards */
body.woocommerce-order-received ul.woocommerce-order-overview li,
body.woocommerce-order-received ul.order_details > li {
    float: none !important;
    clear: none !important;
    flex: 1 1 190px !important;
    min-width: 190px !important;
    max-width: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 17px 18px !important;
    border: 1px solid #dfe5df !important;
    border-right: 1px solid #dfe5df !important;
    background: #fff !important;
    color: #666 !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    box-sizing: border-box !important;
}

body.woocommerce-order-received ul.woocommerce-order-overview li strong,
body.woocommerce-order-received ul.order_details > li strong {
    display: block !important;
    margin: 6px 0 0 !important;
    color: #111 !important;
    font-size: 17px !important;
    line-height: 1.25 !important;
    font-weight: 900 !important;
    text-transform: none !important;
    word-break: break-word !important;
}

/* section headings */
body.woocommerce-order-received .woocommerce-order h2,
body.woocommerce-order-received .woocommerce-order h3,
body.woocommerce-order-received .woocommerce-order-details__title,
body.woocommerce-order-received .woocommerce-column__title,
body.woocommerce-order-received .wc-bacs-bank-details-heading {
    margin: 34px 0 16px !important;
    padding: 0 !important;
    color: #111 !important;
    font-size: 26px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
}

/* bank section */
body.woocommerce-order-received .woocommerce-bacs-bank-details {
    display: block !important;
    margin: 0 0 36px !important;
    padding: 0 !important;
    clear: both !important;
}

body.woocommerce-order-received .wc-bacs-bank-details-account-name {
    display: none !important;
}

body.woocommerce-order-received ul.wc-bacs-bank-details {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

body.woocommerce-order-received ul.wc-bacs-bank-details li {
    float: none !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 18px 20px !important;
    background: #f8fbf4 !important;
    border: 1px solid #dfead4 !important;
    color: #666 !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    box-sizing: border-box !important;
}

body.woocommerce-order-received ul.wc-bacs-bank-details li strong {
    display: block !important;
    margin: 6px 0 0 !important;
    color: #111 !important;
    font-size: 18px !important;
    line-height: 1.35 !important;
    font-weight: 900 !important;
    text-transform: none !important;
    word-break: break-word !important;
}

/* order table */
body.woocommerce-order-received .woocommerce-order-details {
    margin: 0 0 36px !important;
    padding: 0 !important;
    clear: both !important;
}

body.woocommerce-order-received table.shop_table,
body.woocommerce-order-received table.woocommerce-table {
    width: 100% !important;
    margin: 0 !important;
    border: 1px solid #dfe5df !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    background: #fff !important;
    box-sizing: border-box !important;
}

body.woocommerce-order-received table.shop_table th,
body.woocommerce-order-received table.shop_table td,
body.woocommerce-order-received table.woocommerce-table th,
body.woocommerce-order-received table.woocommerce-table td {
    padding: 16px 18px !important;
    border: 0 !important;
    border-bottom: 1px solid #e8eee5 !important;
    color: #111 !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
    text-align: left !important;
    vertical-align: top !important;
}

body.woocommerce-order-received table.shop_table th,
body.woocommerce-order-received table.woocommerce-table th {
    background: #fafcf7 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
}

body.woocommerce-order-received table.shop_table td.product-name a,
body.woocommerce-order-received table.woocommerce-table td.product-name a {
    color: #111 !important;
    font-weight: 900 !important;
    text-decoration: none !important;
}

body.woocommerce-order-received table.shop_table td.product-total,
body.woocommerce-order-received table.woocommerce-table td.product-total {
    text-align: right !important;
    white-space: nowrap !important;
    font-weight: 800 !important;
}

body.woocommerce-order-received table.shop_table tfoot th,
body.woocommerce-order-received table.shop_table tfoot td,
body.woocommerce-order-received table.woocommerce-table tfoot th,
body.woocommerce-order-received table.woocommerce-table tfoot td {
    font-weight: 900 !important;
}

body.woocommerce-order-received table.shop_table tfoot tr:last-child th,
body.woocommerce-order-received table.shop_table tfoot tr:last-child td,
body.woocommerce-order-received table.woocommerce-table tfoot tr:last-child th,
body.woocommerce-order-received table.woocommerce-table tfoot tr:last-child td {
    background: #f8fbf4 !important;
    border-top: 2px solid #84c341 !important;
    font-size: 17px !important;
}

/* customer details */
body.woocommerce-order-received .woocommerce-customer-details {
    margin: 36px 0 0 !important;
    padding: 0 !important;
    clear: both !important;
}

body.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns,
body.woocommerce-order-received .woocommerce-columns--addresses {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.woocommerce-order-received .woocommerce-customer-details .woocommerce-column,
body.woocommerce-order-received .woocommerce-column {
    float: none !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

body.woocommerce-order-received .woocommerce-customer-details address {
    min-height: 128px !important;
    margin: 0 !important;
    padding: 20px 22px !important;
    background: #fff !important;
    border: 1px solid #dfe5df !important;
    color: #222 !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
    font-style: normal !important;
    box-sizing: border-box !important;
}

body.woocommerce-order-received .woocommerce-customer-details address p {
    margin: 8px 0 0 !important;
}

body.woocommerce-order-received .woocommerce-customer-details address a {
    color: #84c341 !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

/* additional info */
body.woocommerce-order-received .woocommerce-order > h2:last-of-type {
    margin-top: 36px !important;
}

body.woocommerce-order-received .woocommerce-order table:not(.shop_table):not(.woocommerce-table) {
    width: 100% !important;
    margin: 0 0 30px !important;
    border: 1px solid #dfe5df !important;
    border-collapse: collapse !important;
    background: #fff !important;
}

body.woocommerce-order-received .woocommerce-order table:not(.shop_table):not(.woocommerce-table) th,
body.woocommerce-order-received .woocommerce-order table:not(.shop_table):not(.woocommerce-table) td {
    padding: 15px 18px !important;
    border-bottom: 1px solid #e8eee5 !important;
    color: #111 !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    text-align: left !important;
}

body.woocommerce-order-received .woocommerce-order table:not(.shop_table):not(.woocommerce-table) th {
    background: #fafcf7 !important;
    font-weight: 900 !important;
}

/* responsive */
@media (max-width: 900px) {
    body.woocommerce-order-received .ekopol-shop-shell {
        padding: 24px 20px 34px !important;
    }

    body.woocommerce-order-received ul.wc-bacs-bank-details,
    body.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns,
    body.woocommerce-order-received .woocommerce-columns--addresses {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 600px) {
    body.woocommerce-order-received .ekopol-shop-shell {
        padding: 20px 14px 28px !important;
    }

    body.woocommerce-order-received .woocommerce-thankyou-order-received,
    body.woocommerce-order-received .woocommerce-notice--success {
        padding: 18px 18px 18px 54px !important;
        font-size: 17px !important;
    }

    body.woocommerce-order-received .woocommerce-thankyou-order-received::before,
    body.woocommerce-order-received .woocommerce-notice--success::before {
        left: 24px !important;
        top: 21px !important;
    }

    body.woocommerce-order-received ul.woocommerce-order-overview,
    body.woocommerce-order-received ul.order_details {
        display: block !important;
    }

    body.woocommerce-order-received ul.woocommerce-order-overview li,
    body.woocommerce-order-received ul.order_details > li {
        width: 100% !important;
        margin-bottom: 12px !important;
    }

    body.woocommerce-order-received table.shop_table,
    body.woocommerce-order-received table.woocommerce-table {
        display: block !important;
        overflow-x: auto !important;
    }

    body.woocommerce-order-received table.shop_table th,
    body.woocommerce-order-received table.shop_table td,
    body.woocommerce-order-received table.woocommerce-table th,
    body.woocommerce-order-received table.woocommerce-table td {
        padding: 13px 12px !important;
        font-size: 14px !important;
    }
}

/* =====================================================
   EKOPOL FIX — adres rozliczeniowy / adres do wysyłki
===================================================== */

body.woocommerce-order-received .woocommerce-customer-details {
    clear: both !important;
    margin: 36px 0 0 !important;
    padding: 0 !important;
}

body.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns,
body.woocommerce-order-received .woocommerce-columns--addresses,
body.woocommerce-order-received .col2-set.addresses {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 24px !important;
    align-items: start !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* reset kolumn */
body.woocommerce-order-received .woocommerce-customer-details .woocommerce-column,
body.woocommerce-order-received .woocommerce-customer-details .col-1,
body.woocommerce-order-received .woocommerce-customer-details .col-2,
body.woocommerce-order-received .woocommerce-column--billing-address,
body.woocommerce-order-received .woocommerce-column--shipping-address {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

/* wymuś właściwą kolejność */
body.woocommerce-order-received .woocommerce-column--billing-address,
body.woocommerce-order-received .col-1 {
    grid-column: 1 !important;
}

body.woocommerce-order-received .woocommerce-column--shipping-address,
body.woocommerce-order-received .col-2 {
    grid-column: 2 !important;
}

/* nagłówki w kolumnach */
body.woocommerce-order-received .woocommerce-customer-details .woocommerce-column__title,
body.woocommerce-order-received .woocommerce-customer-details h2 {
    display: block !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
    text-align: left !important;
    font-size: 24px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
    color: #111 !important;
}

/* box adresu */
body.woocommerce-order-received .woocommerce-customer-details address {
    display: block !important;
    width: 100% !important;
    min-height: 130px !important;
    margin: 0 !important;
    padding: 20px 22px !important;
    background: #fff !important;
    border: 1px solid #dfe5df !important;
    box-sizing: border-box !important;
    font-style: normal !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
    color: #222 !important;
}

/* dodatkowe info pod adresami */
body.woocommerce-order-received .woocommerce-order > h2:last-of-type,
body.woocommerce-order-received .woocommerce-order table:not(.shop_table):not(.woocommerce-table) {
    clear: both !important;
}

/* mobile */
@media (max-width: 900px) {
    body.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns,
    body.woocommerce-order-received .woocommerce-columns--addresses,
    body.woocommerce-order-received .col2-set.addresses {
        grid-template-columns: 1fr !important;
    }

    body.woocommerce-order-received .woocommerce-column--billing-address,
    body.woocommerce-order-received .col-1,
    body.woocommerce-order-received .woocommerce-column--shipping-address,
    body.woocommerce-order-received .col-2 {
        grid-column: auto !important;
    }
}

/* =====================================================
   EKOPOL  STOPKA SKLEPU
===================================================== */

.site-footer {
    background: #fff;
    border-top: 1px solid #dfe5df;
    padding: 24px 0;
    margin-top: 50px;
}

.site-footer-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
}

.site-footer-copy {
    color: #333;
    font-size: 14px;
    line-height: 1.4;
    font-weight: 600;
}

.site-footer-nav {
    display: block;
}

.site-footer-nav .footer-menu {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px 20px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.site-footer-nav .footer-menu li {
    margin: 0;
    padding: 0;
}

.site-footer-nav .footer-menu a {
    display: inline-block;
    color: #111;
    font-size: 14px;
    line-height: 1.4;
    font-weight: 700;
    text-decoration: none;
}

.site-footer-nav .footer-menu a:hover {
    color: #84c341;
    text-decoration: none;
}

/* mobile */
@media (max-width: 700px) {
    .site-footer {
        padding: 22px 0;
        margin-top: 32px;
    }

    .site-footer-inner {
        display: block;
        text-align: center;
    }

    .site-footer-copy {
        margin-bottom: 12px;
    }

    .site-footer-nav .footer-menu {
        justify-content: center;
        gap: 10px 16px;
    }
}

@media (max-width: 420px) {
    .site-footer-nav .footer-menu {
        flex-direction: column;
        gap: 8px;
    }

    .site-footer-nav .footer-menu a {
        padding: 3px 0;
    }
}

/* =====================================================
   EKOPOL CHECKOUT  ukrycie pustego bloku "Opcje wysyki"
===================================================== */

body.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-method-block,
body.woocommerce-checkout .wc-block-checkout__shipping-method,
body.woocommerce-checkout .wp-block-woocommerce-checkout-pickup-options-block {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

/* wyrwnanie odstpu przed patnoci po usuniciu pustej sekcji */
body.woocommerce-checkout .wc-block-checkout__payment-method,
body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block {
    margin-top: 28px !important;
}

/* =====================================================
   EKOPOL CHECKOUT  ukrycie pustej sekcji "Opcje wysyki"
===================================================== */

body.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-methods-block,
body.woocommerce-checkout .wc-block-components-checkout-step--with-step-number:has(#shipping-option),
body.woocommerce-checkout .wc-block-checkout__shipping-method,
body.woocommerce-checkout .wc-block-checkout__shipping-method-container,
body.woocommerce-checkout #shipping-option {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

/* usu odstp po ukrytej sekcji */
body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block,
body.woocommerce-checkout .wc-block-checkout__payment-method {
    margin-top: 28px !important;
}