/*
Theme Name: Pet Shop Pro Child
Theme URI: https://kotkikedziorki.pl
Description: Child theme for Pet Shop Pro (Kotki Kedziorki customizations)
Author: Kotki Kedziorki
Template: pet-shop-pro
Version: 1.0.0
Text Domain: pet-shop-pro-child
*/

/* =========================================================
    00) STAŁE: KOLORY STATUSÓW PRODUKTÓW
    ========================================================= */

:root {
     --kk-status-available: #70b908;
     --kk-status-watchlist: #989800;
     --kk-status-unavailable: #515151;
     --kk-status-breeding: #4348BD;
     --kk-status-reserved: #C00000;
     --kk-status-pre-reserved: #E97132;
}

/* =========================================================
    01) HOMEPAGE: PET_SUPPLIES + OUR_BLOG
    ========================================================= */

/* Pet_supplies: dokładny wygląd jak <li class="product"> WooCommerce */
#Pet_supplies .owl-item .pet_product {
    background: var(--color-offwhite);
    text-align: center;
    padding: 18px;
    margin: 0px 1% 2% 1%;
    width: 100%;
    min-width: 0;
    max-width: none;
    float: none;
    display: inline-block;
    border-radius: 0;
    position: relative;
    box-shadow: none;
    vertical-align: top;
    overflow: visible;
}

#Pet_supplies .owl-item .pet_product .prodimg_box {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 0;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: none;
}
#Pet_supplies .owl-item .pet_product .prodimg_box img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center;
    border-radius: 0;
    transition: none;
    box-shadow: none;
    display: block;
}

#Pet_supplies .owl-item .pet_product .inner-box,
#Pet_supplies .owl-item .pet_product .mask1,
#Pet_supplies .owl-item .pet_product .mask1 > a {
    display: block;
    width: 100%;
    max-width: none;
    margin: 0 auto;
    overflow: visible;
}

#Pet_supplies .owl-item .pet_product .text_box {
    text-align: center;
    margin-top: 0;
}
#Pet_supplies .owl-item .pet_product .text_box h4,
#Pet_supplies .owl-item .pet_product .text_box .hidedesktop {
    color: var(--color-black) !important;
    font-size: 21px;
    font-family: var(--font-poppins);
    padding-top: 20px;
    padding-bottom: 6px;
    margin: 0;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.01em;
    line-height: 1.2;
    border-bottom: none !important;
}

#Pet_supplies .owl-item .pet_product .mask1 > a,
#Pet_supplies .owl-item .pet_product .mask1 > a:hover,
#Pet_supplies .owl-item .pet_product .mask1 > a:focus,
#Pet_supplies .owl-item .pet_product .mask1 > a .text_box h4,
#Pet_supplies .owl-item .pet_product .mask1 > a:hover .text_box h4,
#Pet_supplies .owl-item .pet_product .mask1 > a:focus .text_box h4 {
    color: var(--color-black) !important;
}

#Pet_supplies .owl-item .pet_product a.button.product_type_external {
    border: 2px solid var(--color-green);
    background: var(--color-green);
    color: var(--color-white);
    font-size: 12px !important;
    margin: 8px 0 0;
    padding: 4px 13px !important;
    line-height: 1.2 !important;
    min-height: 0 !important;
    text-transform: uppercase;
    border-radius: 0;
    font-weight: 600;
    transition: background 0.2s, color 0.2s;
    box-shadow: none;
    display: inline-block;
}
#Pet_supplies .owl-item .pet_product a.button.product_type_external:hover {
    background: var(--color-white);
    color: var(--color-green);
}

#Pet_supplies .owl-item {
    display: flex;
    justify-content: center;
}

#Pet_supplies .tab-list {
    display: flex;
    justify-content: center;
    margin: 14px 0 18px;
}

#Pet_supplies .tab-list .nav-tabs {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    border-bottom: none;
    margin: 0;
    padding: 0;
}

#Pet_supplies .tab-list .nav-item {
    float: none;
    margin: 0;
    list-style: none;
}

#Pet_supplies .tab-list .nav-item:before {
    display: none;
}

#Pet_supplies .tab-list .nav-tabs a.nav-link {
    display: inline-block;
    padding: 8px 16px;
    border: 2px solid var(--color-green);
    border-radius: 999px;
    background: var(--color-green);
    color: #ffffff;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
    text-transform: none;
    margin: 0;
}

#Pet_supplies .tab-list .nav-tabs a.nav-link:hover,
#Pet_supplies .tab-list .nav-tabs a.nav-link:focus {
    background: var(--color-darkblue);
    color: #ffffff;
    border-color: var(--color-darkblue);
}

#Pet_supplies .tab-list .nav-tabs .nav-link.active {
    background: var(--color-darkblue);
    color: #ffffff;
    border: 2px solid var(--color-darkblue);
    box-shadow: none;
}

#Pet_supplies .button_center,
#our_blog .button_center {
    text-align: center;
    margin-top: 24px !important;
    margin-bottom: 24px !important;
}

#Pet_supplies .button_center a.hvr-rectangle-out,
#our_blog .button_center a.hvr-rectangle-out {
    display: inline-block;
    padding: 10px 22px;
    border: 2px solid var(--color-green);
    border-radius: 999px;
    background: var(--color-green);
    color: #ffffff !important;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
}

#Pet_supplies .button_center a.hvr-rectangle-out:hover,
#Pet_supplies .button_center a.hvr-rectangle-out:focus,
#our_blog .button_center a.hvr-rectangle-out:hover,
#our_blog .button_center a.hvr-rectangle-out:focus {
    background: var(--color-darkblue);
    border-color: var(--color-darkblue);
    color: #ffffff !important;
}

#Pet_supplies .button_center a.hvr-rectangle-out:before,
#our_blog .button_center a.hvr-rectangle-out:before {
    display: none !important;
}

@media (max-width: 600px) {
    #Pet_supplies .tab-list .nav-tabs {
        gap: 8px;
    }

    #Pet_supplies .tab-list .nav-tabs a.nav-link {
        padding: 7px 12px;
        font-size: 14px;
    }

    #Pet_supplies .owl-item .pet_product {
        width: 100%;
        min-width: 0;
        max-width: none;
        padding: 8px 2px 12px 2px;
    }

    #Pet_supplies .owl-item .pet_product .prodimg_box {
        width: 100%;
        aspect-ratio: 1 / 1;
        height: auto;
        max-width: none;
        max-height: none;
    }

    #Pet_supplies .owl-item .pet_product .prodimg_box img {
        width: 100%;
        height: 100%;
    }
}

#Pet_supplies #sec_title img,
#our_blog #sec_title img {
    display: none !important;
}

#our_blog > div > .container.text-center > img,
#our_blog .container.text-center > img.mb-4 {
    display: none !important;
}

#our_blog > div > .container.text-center {
    margin-bottom: 54px;
}

#our_blog > div > .container.text-center h2 {
    margin-bottom: 0;
}

#our_blog .owl-carousel {
    margin-top: 8px;
}

#our_blog .owl-stage-outer {
    padding-bottom: 14px;
}

#our_blog .owl-carousel .text-center,
#our_blog .home-blog-box,
#our_blog .home-blog-box h4,
#our_blog .home-blog-box .content,
#our_blog .home-blog-box .blog_date {
    text-align: left !important;
}

#our_blog .owl-stage {
    display: flex;
    align-items: stretch;
}

#our_blog .owl-item {
    display: flex;
    height: auto;
}

#our_blog .owl-item > .text-center {
    display: flex;
    width: 100%;
}

#our_blog .home-blog-box {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    min-height: 100%;
    padding: 12px 12px 14px;
    box-sizing: border-box;
}

#our_blog .home-blog-box .content {
    flex: 1 1 auto;
}

#our_blog .home-blog-box .read_more {
    margin-top: auto;
    align-self: flex-end;
    text-align: right;
}

#our_blog .owl-dots {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center !important;
}

#our_blog .home-blog-box h4,
#our_blog .home-blog-box h4 a,
#our_blog .home-blog-box .content,
#our_blog .home-blog-box .read_more {
    font-family: system-ui, -apple-system, "Segoe UI", sans-serif !important;
}

#our_blog .home-blog-box h4 {
    font-size: 20px;
    font-weight: 700;
    margin-top: 14px;
    margin-bottom: 10px;
    border-bottom: none !important;
    text-decoration: none !important;
    padding-bottom: 0;
}

#our_blog .home-blog-box h4 a,
#our_blog .home-blog-box h4 a:hover,
#our_blog .home-blog-box h4 a:focus {
    text-decoration: none !important;
    border-bottom: none !important;
}

#our_blog .home-blog-box .content {
    font-size: 16px;
    line-height: 1.6;
}

#our_blog .home-blog-box .read_more {
    font-size: 14px;
    font-weight: 600;
    text-decoration: none !important;
    border-bottom: none !important;
}

#our_blog .home-blog-box .read_more:hover,
#our_blog .home-blog-box .read_more:focus {
    text-decoration: none !important;
    border-bottom: none !important;
}

#our_blog .home-blog-box .blog_date {
    display: none !important;
}

#our_blog .home-blog-box img.team-image {
    width: 100% !important;
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    object-position: center;
    display: block;
}

/* Naprawa rozciągniętych obrazków tylko w treści wpisów */
#content-tc img,
.entry-content img {
    height: auto !important;
    max-width: 100%;
    width: auto;
    display: block;
    margin: 0 auto;
}
/* Standardowy odstęp dla akapitów, bardzo duży dla list */
p {
    margin-bottom: 1em;
}
ul, ol {
    margin-bottom: 1.4em;
}

/* =========================================================
   02) WOOCOMMERCE: GRID + PRZYCISKI
   ========================================================= */

/* WooCommerce product grid & button fixes */
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
    background: var(--color-offwhite);
    text-align: center;
    padding: 18px;
    margin: 0px 1% 2% 1%;
    width: 47%;
    float: none;
    display: inline-block;
}

/* Single product: related kittens layout same as category cards */
.single-product .related.products ul.products {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
}

.single-product .related.products ul.products li.product {
    width: 47% !important;
    margin: 0 1% 2% 1% !important;
    padding: 18px !important;
    display: inline-block;
    vertical-align: top;
}

.single-product .related.products ul.products li.product a img,
.single-product .related.products ul.products li.product img {
    width: 100% !important;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    object-position: center;
    display: block;
}

@media (max-width: 767px) {
    .single-product .related.products ul.products li.product {
        width: 100% !important;
        margin: 0 0 16px 0 !important;
    }
}

.woocommerce ul.products li.product .price,
#Pet_supplies .price_div span.price {
    background-color: var(--color-green);
    color: var(--color-white);
    font-weight: bold;
    font-size: 15px;
    margin: 0px -4px;
    text-align: center;
    position: absolute;
    top: 0;
    left: -6px;
    padding: 9px 15px;
    display: -webkit-box;
}
.woocommerce ul.products li.product .price:before,
#Pet_supplies .price_div span.price:before {
    content: "";
    width: 0;
    height: 0;
    border-top: 25px solid var(--color-green);
    border-left: 15px solid transparent;
    position: relative;
    left: -15px;
    bottom: -52px;
}

#Pet_supplies .price_div span.price {
    left: 0;
    margin: 0;
}

#Pet_supplies .price_div span.price:empty {
    display: none !important;
}

#Pet_supplies .price_div span.price:empty:before {
    display: none !important;
    content: none;
}

/* =========================================================
   02a) TEST: BADGE TYTUŁÓW JAK ROZETA (ŁATWY ROLLBACK)
   Usuń cały ten blok, aby wrócić do prostokąta z ogonkiem.
   ========================================================= */

.woocommerce ul.products li.product .price,
#Pet_supplies .price_div span.price {
    left: 10px;
    top: 10px;
    margin: 0 !important;
    width: 64px;
    min-height: 64px;
    padding: 9px 7px;
    border-radius: 50%;
    display: flex !important;
    align-items: center;
    justify-content: center;
    text-align: center;
    line-height: 1.15;
    z-index: 2;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
}

.woocommerce ul.products li.product .price:before,
#Pet_supplies .price_div span.price:before {
    content: none !important;
    display: none !important;
}

.woocommerce ul.products li.product .price:after,
#Pet_supplies .price_div span.price:after {
    content: "";
    position: absolute;
    inset: -7px;
    border-radius: 50%;
    z-index: -1;
    background: repeating-conic-gradient(
        from 0deg,
        var(--color-green) 0deg 12deg,
        rgba(112, 185, 8, 0.28) 12deg 18deg
    );
    -webkit-mask: radial-gradient(circle, transparent 60%, #000 61%);
    mask: radial-gradient(circle, transparent 60%, #000 61%);
}

.woocommerce ul.products li.product .price .kk-product-titles,
#Pet_supplies .price_div span.price .kk-product-titles {
    justify-content: center;
    gap: 2px;
}

.woocommerce ul.products li.product .price .kk-title,
#Pet_supplies .price_div span.price .kk-title {
    font-size: 16px;
    letter-spacing: 0.01em;
    line-height: 1.1;
}

@media (max-width: 767px) {
    .woocommerce ul.products li.product .price,
    #Pet_supplies .price_div span.price {
        width: 58px;
        min-height: 58px;
        padding: 7px 6px;
    }

    .woocommerce ul.products li.product .price .kk-title,
    #Pet_supplies .price_div span.price .kk-title {
        font-size: 13px;
    }
}

/* Zwiększony rozmiar czcionki i brak zielonej obramówki dla przycisków WooCommerce */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit {
    border: none;
    background: var(--color-green);
    color: var(--color-white);
    font-size: 16px;
    padding: 6px 18px;
    text-transform: uppercase;
    margin-top: 10px;
    font-weight: 600;
    letter-spacing: 0.5px;
    transition: background 0.2s, color 0.2s;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .woocommerce #respond input#submit:hover {
    background-color: var(--color-white);
    color: var(--color-green);
    border: none;
}
/* Zwiększony rozmiar czcionki i brak obramówki dla przycisków z aria-label */
a[aria-label*="DOST"],
a[aria-label*="W OBSER"],
a[aria-label*="NIEDOS"],
a[aria-label*="W HODO"],
a[aria-label*="W NOWYM"],
a[aria-label*="ZAREZER"],
a[aria-label*="WST"] {
    font-size: 16px !important;
    border: none !important;
    font-weight: 600;
    letter-spacing: 0.5px;
    padding: 6px 18px !important;
}
.woocommerce ul.products li.product .woocommerce-loop-category__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h3 {
    color: var(--color-3black);
    font-size: 17px;
    font-family: var(--font-poppins);
    padding-top: 20px;
}

.woocommerce ul.products li.product .price .kk-product-titles,
#Pet_supplies .price_div span.price .kk-product-titles,
.single-product .summary .price .kk-product-titles {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 4px;
    align-items: center;
}

.woocommerce ul.products li.product .price .kk-title,
#Pet_supplies .price_div span.price .kk-title,
.single-product .summary .price .kk-title {
    font-weight: 700;
    letter-spacing: 0.02em;
}

.single-product .summary p.price:has(.kk-product-titles),
.single-product .summary span.price:has(.kk-product-titles) {
    background-color: var(--color-green);
    color: var(--color-white) !important;
    display: inline-flex;
    align-items: center;
    padding: 8px 16px;
    border-radius: 999px;
    line-height: 1.2;
}

.single-product .summary p.price:has(.kk-product-titles):before,
.single-product .summary span.price:has(.kk-product-titles):before {
    display: none;
    content: none;
}

.single-product .summary p.price:empty,
.single-product .summary span.price:empty {
    display: none !important;
}

.single-product .summary .price .kk-product-titles {
    color: var(--color-white) !important;
    gap: 6px;
}

.single-product .summary .price .kk-title {
    color: var(--color-white) !important;
}

.single-product .summary .price .kk-title:before {
    content: "Tytuł wystawowy: ";
    font-weight: 600;
}
/* End WooCommerce fixes */

/* =========================================================
    03) HEADER + NAWIGACJA + TYPOGRAFIA OGÓLNA
    ========================================================= */

/* D (Desktop): > 1024px — style bazowe poza media query */

@media screen and (min-width: 1025px) {
    #topbar-sec .mail_div,
    #topbar-sec .call_div {
        display: flex;
        align-items: center;
        margin-top: 0 !important;
    }

    #topbar-sec .mail_icon,
    #topbar-sec .call_icon {
        float: none;
        flex: 0 0 auto;
    }

    #topbar-sec .mail_detail,
    #topbar-sec .call_detail {
        padding-top: 0;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
}

#header a { text-decoration: none; }
#search-form {
    z-index: 999;
    position: static !important;
    right: auto !important;
    left: auto !important;
    top: auto;
    bottom: auto;
    width: 100%;
    text-align: right;
    padding: 2px 12px 0 0;
    box-sizing: border-box;
}

#header .side-navigation ul li a {
    color: #ffffff;
    text-transform: none;
}

h1 {
    font-weight: 900;
}
h2 {
    color: #4348BD;
    font-weight: 800;
    border-bottom: 3px solid #4348BD;
    padding-bottom: 6px;
    padding-top: 18px;
}
#slider h2 {
    border: none;
}
section h2 {
    text-align: left;
    text-transform: none;
}
section h1 a, section h2 a {
    color: #4348BD;
    text-decoration: none;
}
h3 {
    font-weight: 500;
    border-bottom: 1px solid #000000;
    padding-bottom: 2px;
}

#Pet_supplies .pet_product a {
    text-decoration: none;
}
#Pet_supplies .pet_product a.button {
    color: #FFFFFF;
}
#Pet_supplies .hvr-rectangle-out {
    text-decoration: none;
}

.footer-block .menu-glowne-menu-container ul.menu {
    padding-left: 15px;
    margin-left: 15px;
}

#footer .footer-block {
    padding-top: 20px;
}

@media screen and (max-width: 1024px) {
    #footer .row > .footer-block:first-child img,
    #footer .row > .footer-block:first-child .custom-about-us img,
    #footer .row > .footer-block:first-child .textwidget img {
        width: 70%;
        max-width: 70%;
        height: auto;
    }
}

#footer .row {
    row-gap: 0;
}

#footer ul li {
    list-style-type: square;
}

#footer h3,
#footer h3.widget-title {
    border-bottom: 0 !important;
    box-shadow: none !important;
}

#footer,
#footer h3,
#footer ul,
#footer ul li,
#footer .textwidget,
#footer .textwidget p {
    text-align: left;
}

@media screen and (max-width: 1024px) {
    #footer .row {
        row-gap: 12px;
    }

    #footer .footer-block {
        padding-top: 14px;
    }
}

#header .side-navigation ul li ul.sub-menu a { color: #000000; }

#header .navbar_menu > .row > .menubox:first-child:last-child {
    flex: 0 0 100%;
    max-width: 100%;
}

.navbar_icon {
    text-align: right;
    padding-right: 12px !important;
}

#header .navbar_icon .pull-right {
    margin-right: 12px;
}

.navbar_icon .cart_no,
.navbar_icon:hover .cart_no {
    display: none !important;
}

/* =========================================================
    04) M (Mobile: <= 1024px): MENU + HEADER
    ========================================================= */

@media screen and (max-width: 1024px) {
    #header .side-navigation ul li ul.sub-menu a { color: #ffffff; }
    #masthead .mail_div, .call_div { display: none; }
    #masthead .logo, .social_icon { float: left; }

    #topbar-sec > .container,
    #header > .container,
    #header .container {
        width: 100%;
        max-width: 100%;
        padding-left: 0;
        padding-right: 0;
        margin-left: 0;
        margin-right: 0;
    }

    #topbar-sec .row,
    #header .navbar_menu > .row,
    #header .menubox > .row {
        margin-left: 0;
        margin-right: 0;
    }

    #header .navbar_menu > .row > .menubox {
        flex: 0 0 100%;
        max-width: 100%;
        padding-left: 0;
        padding-right: 0;
    }

    #header .headerbar {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 44px;
    }

    #header .container {
        padding-right: 0px;
        padding-left: 0px;
        margin-right: 0px;
        margin-left: 0px;
    }

    #slider .slider_btn {
        width: 55%;
        margin: auto;
    }

    #slider .btn-primary {
        padding: 8px 10px;
    }
    #slider .slider_btn a {
        font-size: 14px;
    }

    .carousel_next, .carousel_prev {
        padding: 8px 8px;
        letter-spacing: 0px;
    }

    #open_nav.hamburger {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        line-height: 1;
    }

    #open_nav.hamburger i {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        line-height: 1;
        position: relative;
        top: 3px;
    }

    #open_nav.hamburger::after {
        content: "MENU";
        font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
        font-size: 14px;
        font-weight: 700;
        line-height: 1;
        letter-spacing: 0.05em;
        color: currentColor;
        position: relative;
        top: 3px;
    }

    #sidebar1 {
        overflow-y: auto;
        scrollbar-gutter: stable;
    }

    #sidebar1 .side-navigation {
        padding-right: 14px;
        box-sizing: border-box;
    }

    #sidebar1,
    #sidebar1 .side-navigation,
    #sidebar1 .side-navigation ul,
    #sidebar1 .side-navigation li,
    #header .side-navigation ul li:hover > ul,
    #header .side-navigation ul li > ul > li:hover > ul {
        background-color: var(--color-black) !important;
    }

    #header .side-navigation ul li a,
    #header .side-navigation ul li > a {
        background: transparent !important;
        color: #ffffff !important;
        text-decoration: none !important;
        white-space: nowrap !important;
        overflow: visible !important;
        text-overflow: clip !important;
    }

    #header .side-navigation ul li a:hover,
    #header .side-navigation ul li > a:hover,
    #header .side-navigation ul li a:focus,
    #header .side-navigation ul li > a:focus,
    #header .side-navigation ul li:hover > a,
    #header .side-navigation ul li:focus-within > a,
    #header .side-navigation ul li.current-menu-item > a,
    #header .side-navigation ul li.current_page_item > a {
        background-color: var(--color-green) !important;
        color: #ffffff !important;
        text-decoration: none !important;
    }

    #header .side-navigation li a:before,
    #header .side-navigation li > a:before {
        display: none !important;
    }
}

/* M (Tablet: 768px - 1024px) */
@media screen and (min-width: 768px) and (max-width: 1024px) {
    #topbar-sec {
        padding-top: 2px !important;
        padding-bottom: 2px !important;
        text-align: left !important;
    }

    #topbar-sec.pb-5 {
        padding-bottom: 6px !important;
    }

    #topbar-sec .row {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        column-gap: 12px;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    #topbar-sec .mail_div,
    #topbar-sec .call_div {
        display: none !important;
    }

    #topbar-sec .logo,
    #topbar-sec .social_icon {
        float: none !important;
    }

    #topbar-sec .logo {
        grid-column: 1;
        display: flex !important;
        align-items: center;
        gap: 10px;
        min-width: 0;
        width: auto !important;
        max-width: none !important;
        text-align: left;
        margin: 0 !important;
        padding: 0 0 0 10px;
    }

    #topbar-sec .logo .custom-logo-link {
        display: flex !important;
        align-items: center;
        flex: 0 0 auto;
        padding: 0 !important;
    }

    #topbar-sec .logo .custom-logo-link img,
    #topbar-sec a.custom-logo-link img {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        height: auto !important;
        max-height: 110px !important;
        width: auto !important;
        max-width: 100% !important;
        padding-top: 0 !important;
    }

    #topbar-sec .logo .logo-text {
        display: block;
        margin: 0;
        min-width: 0;
        overflow: hidden;
        line-height: 1.1;
        text-align: left;
    }

    #topbar-sec .logo .logo-text h1,
    #topbar-sec .logo .logo-text p {
        margin: 0;
        line-height: 1.15;
    }

    #topbar-sec .social_icon {
        grid-column: 2;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-end !important;
        justify-content: center;
        width: auto !important;
        max-width: none !important;
        text-align: right !important;
        margin: 0 !important;
        padding: 0 10px 0 0;
        white-space: nowrap;
        gap: 4px;
        position: relative;
        z-index: 2;
    }

    #topbar-sec .social_icon a {
        display: block;
        line-height: 1;
    }

    #topbar-sec .social_icon i {
        width: 30px;
        height: 30px;
        font-size: 13px;
        padding-top: 8px;
        margin: 0;
    }

    #header .navbar_menu {
        position: relative;
        top: 0 !important;
        z-index: 9999;
    }

    #header .headerbar {
        justify-content: flex-start;
        padding-left: 10px;
    }

    #open_nav.hamburger {
        margin-left: 0 !important;
    }
}

/* T (Telefon: <= 767px) */
@media screen and (max-width: 767px) {
    #topbar-sec {
        padding-top: 2px !important;
        padding-bottom: 2px !important;
        text-align: left !important;
    }

    #topbar-sec.pb-5 {
        padding-bottom: 6px !important;
    }

    #topbar-sec .row {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        column-gap: 8px;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    #topbar-sec .mail_div,
    #topbar-sec .call_div {
        display: none !important;
    }

    #topbar-sec .logo {
        grid-column: 1;
        float: none !important;
        display: flex !important;
        align-items: center;
        gap: 8px;
        flex: none !important;
        min-width: 0;
        width: auto !important;
        max-width: none !important;
        text-align: left;
        margin: 0 !important;
        padding: 0 0 0 10px;
    }

    #topbar-sec .logo .custom-logo-link {
        display: flex !important;
        align-items: center;
        flex: 0 0 auto;
        padding: 0 !important;
    }

    #topbar-sec .logo .custom-logo-link img,
    #topbar-sec a.custom-logo-link img {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        height: auto !important;
        max-height: 110px !important;
        width: auto !important;
        max-width: 100% !important;
        padding-top: 0 !important;
    }

    #topbar-sec .logo .logo-text {
        display: block;
        margin: 0;
        min-width: 0;
        overflow: hidden;
        line-height: 1.1;
        text-align: left;
    }

    #topbar-sec .logo .logo-text h1,
    #topbar-sec .logo .logo-text p {
        margin: 0;
        line-height: 1.15;
    }

    #topbar-sec .social_icon {
        grid-column: 2;
        float: none !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-end !important;
        justify-content: center;
        width: auto !important;
        max-width: none !important;
        text-align: right !important;
        margin: 0 !important;
        padding: 0 10px 0 0;
        white-space: nowrap;
        gap: 4px;
        position: relative;
        z-index: 2;
    }

    #topbar-sec .social_icon a {
        display: block;
        line-height: 1;
    }

    #topbar-sec .social_icon i {
        width: 28px;
        height: 28px;
        font-size: 12px;
        padding-top: 8px;
        margin: 0;
    }

    #header {
        position: relative !important;
        padding-top: 0;
    }

    #sticky-menu.sticky,
    #sticky-menu.stickynavbar {
        position: fixed !important;
        top: 0;
        left: 0;
        right: 0;
        width: 100%;
        margin: 0;
        padding-left: 0;
        padding-right: 0;
        z-index: 9999;
    }

    body.admin-bar #sticky-menu.sticky,
    body.admin-bar #sticky-menu.stickynavbar {
        top: 46px;
    }

    #header .navbar_menu {
        position: relative;
        top: 0 !important;
        z-index: 9999;
    }
}

.page-template-default #search-form {
    right: auto !important;
    left: auto !important;
    top: auto;
    bottom: auto;
    padding: 2px 12px 0 0;
    position: static !important;
    text-align: right;
}
.side-navigation li {
    display: inline-block;
    margin: 0;
    position: relative;
    padding: 10px 0 10px 25px;
}
#slider p {
    color: var(--color-white);
    margin: 0 0 48px 0;
    line-height: 20px;
    border-radius: 0 0 5px 5px;
    font: 16px/30px var(--font-poppins);
}

/* =========================================================
   04a) SLIDER POLISH (D/M/T)
   ========================================================= */

#slider .slider_btn {
    display: flex;
    align-items: center;
    gap: 10px;
    width: auto;
    max-width: 380px;
    margin-top: 14px;
}

#slider .slider_btn a,
#slider .slider_btn a.btn,
#slider .slider_btn a.btn.btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 140px;
    padding: 10px 16px;
    border-radius: 999px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.15;
    text-align: center;
}

#slider .carousel-indicators {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    bottom: 20px;
}

#slider .carousel-indicators li {
    width: 10px;
    max-width: 10px;
    height: 10px;
    margin: 0;
    border-radius: 50%;
    border: 2px solid var(--color-white) !important;
    background: transparent;
    padding: 0 !important;
    opacity: 0.9;
}

#slider .carousel-indicators .active {
    background: var(--color-white);
    padding: 0 !important;
    opacity: 1;
}

@media screen and (min-width: 1025px) {
    #slider .carousel-caption h2 {
        margin: 0 0 2px 0;
        padding: 0 25px 4px 0;
    }

    #slider p {
        margin: 0 0 22px 0 !important;
        line-height: 1.22 !important;
    }
}

#slider .carousel-control-prev,
#slider .carousel-control-next {
    width: auto;
    opacity: 1;
}

#slider .carousel_next,
#slider .carousel_prev {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    padding: 0 !important;
    border-radius: 999px;
    line-height: 1;
    font-size: 0 !important;
    letter-spacing: 0 !important;
    transform: none !important;
    right: 0 !important;
}

#slider .carousel_prev::before,
#slider .carousel_next::before {
    content: "";
    width: 10px;
    height: 10px;
    border-right: 2px solid var(--color-white);
    border-bottom: 2px solid var(--color-white);
    display: block;
}

#slider .carousel_prev::before {
    transform: rotate(135deg);
    margin-left: 3px;
}

#slider .carousel_next::before {
    transform: rotate(-45deg);
    margin-right: 3px;
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
    #slider .carousel-caption {
        top: 42% !important;
        transform: translateY(-42%);
        width: 64% !important;
        left: 8% !important;
        right: auto !important;
        text-align: left !important;
    }

    #slider .carousel-caption h2 {
        font-size: 28px;
        line-height: 1.15;
        text-align: left !important;
        padding: 0 0 8px 0;
    }

    #slider p {
        margin: -3px 0 10px 0 !important;
        font-size: 14px !important;
        line-height: 1.25 !important;
    }

    #slider .slider_btn {
        margin-top: 26px;
        width: auto !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        justify-content: flex-start;
    }

    #slider .slider_btn a,
    #slider .slider_btn a.btn,
    #slider .slider_btn a.btn.btn-primary {
        min-width: 122px;
        font-size: 13px;
        padding: 8px 12px;
    }

    #slider .slider_btn a.appointment,
    #slider .slider_btn a.read-more {
        float: none !important;
    }

    #slider .carousel-indicators {
        bottom: 12px;
    }
}

@media screen and (max-width: 767px) {
    #slider .carousel-caption {
        top: 35% !important;
        transform: translateY(-35%);
        width: 92% !important;
        left: 0 !important;
        right: 0 !important;
        margin: 0 auto;
        text-align: center !important;
    }

    #slider .carousel-caption h2 {
        font-size: 24px !important;
        line-height: 1.15;
        text-align: center !important;
        padding: 0 0 6px 0;
    }

    #slider .slider_btn {
        justify-content: center;
        gap: 8px;
        width: 100% !important;
        margin-top: 8px;
    }

    #slider .slider_btn a,
    #slider .slider_btn a.btn,
    #slider .slider_btn a.btn.btn-primary {
        min-width: 110px;
        font-size: 12px;
        padding: 7px 10px;
    }

    #slider .carousel-indicators {
        display: flex !important;
        bottom: 8px;
    }
}

@media screen and (max-width: 380px) {
    #slider .carousel-caption {
        top: 24% !important;
        transform: translateY(-24%);
        width: 94% !important;
    }

    #slider .carousel-caption h2 {
        font-size: 21px !important;
        padding-bottom: 4px;
    }

    #slider p {
        margin: 0 0 8px 0 !important;
        font-size: 13px !important;
        line-height: 1.2 !important;
    }

    #slider .slider_btn {
        margin-top: 4px;
        gap: 6px;
    }

    #slider .slider_btn a,
    #slider .slider_btn a.btn,
    #slider .slider_btn a.btn.btn-primary {
        min-width: 96px;
        font-size: 11px;
        padding: 6px 8px;
    }

    #slider .carousel-indicators {
        bottom: 4px;
        gap: 6px;
    }
}

html {
    overflow-x: hidden;
}

/* =========================================================
   05) SINGLE POST: TYPOGRAFIA TREŚCI
   ========================================================= */

.single-post #content-tc ul {
    list-style-type: disc !important;
    list-style-position: outside !important;
    padding-left: 30px !important;
    margin-left: 10px !important;
    padding-bottom: 15px;
}

.single-post #content-tc ol {
    list-style-type: decimal !important;
    list-style-position: outside !important;
    padding-left: 30px !important;
    margin-left: 10px !important;
}

.single-post #content-tc p {
    text-align: left !important;
    text-justify: none !important;
}

.single-post #content-tc h3 {
    font-size: 16px;
    color: #4348BD;
}

:is(body.single-post, body.blog, body.archive, body.category, body.tag, body.search) #content-tc .entry-title,
:is(body.single-post, body.blog, body.archive, body.category, body.tag, body.search) #content-tc h2.entry-title,
:is(body.single-post, body.blog, body.archive, body.category, body.tag, body.search) #content-tc .entry-title a,
.single-post #content-tc h6 {
    border-bottom: none !important;
    padding-bottom: 0 !important;
}

.single-post #content-tc hr {
    display: none;
}

/* Strony: odstęp tytuł -> treść */
.page .title-box + .container + .container,
.page > .container + .container {
    margin-top: 20px;
}

@media (max-width: 600px) {
    .page .title-box + .container + .container,
    .page > .container + .container {
        margin-top: 20px;
    }

    :is(body.page, body.single-post, body.blog, body.archive, body.category, body.tag, body.search) > .container > h1,
    :is(body.page, body.single-post, body.blog, body.archive, body.category, body.tag, body.search) .title-box + .container > h1,
    :is(body.page, body.single-post, body.blog, body.archive, body.category, body.tag, body.search) .title-box .above_title h1,
    :is(body.page, body.single-post, body.blog, body.archive, body.category, body.tag, body.search) #content-tc > h1 {
        margin-top: 16px;
    }
}

.has-small-font-size {
    font-size: 0.8125em !important;
    line-height: 1.5;
}

/* =========================================================
   06) STATUSY PRODUKTÓW (ARIA-LABEL)
   ========================================================= */

/* Button background color by aria-label (migrated from parent theme) */
/* Dostępny */
a[aria-label*="DOST"] {
    background-color: var(--kk-status-available) !important;
}
/* W obserwacji */
a[aria-label*="W OBSER"] {
    background-color: var(--kk-status-watchlist) !important;
}
/* Niedostępny */
a[aria-label*="NIEDOS"] {
    background-color: var(--kk-status-unavailable) !important;
}
/* NIEDOSTĘPNY - W hodowli Kotki Kędziorki */
a[aria-label*="W HODO"] {
    background-color: var(--kk-status-breeding) !important;
}
/* NIEDOSTĘPNY - W nowym domu */
a[aria-label*="W NOWYM"] {
    background-color: var(--kk-status-unavailable) !important;
}
/* Zarezerwowany */
a[aria-label*="ZAREZER"] {
    background-color: var(--kk-status-reserved) !important;
}
/* Wstępna rezerwacja */
a[aria-label*="WST"] {
    background-color: var(--kk-status-pre-reserved) !important;
}
/* End button background color by aria-label */

/* =========================================================
    07) SOCIAL HEADER: TIKTOK ZAMIAST LINKEDIN
    ========================================================= */

/* Header social: pokaż TikTok zamiast LinkedIn */
#masthead .social_icon i.fa-linkedin-in,
#masthead .social_icon i.fa-linkedin {
    font-family: "Font Awesome 6 Brands" !important;
}

#masthead .social_icon i.fa-linkedin-in:before,
#masthead .social_icon i.fa-linkedin:before {
    content: "\e07b" !important;
}

/* =========================================================
    08) SIDEBAR: NAJNOWSZE PORADNIKI
    ========================================================= */

/* Sidebar: najnowsze poradniki (miniatury) */
#sidebar .recent-post-box {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

#sidebar .recent-post-box .post-thumb {
    max-width: 96px;
    flex: 0 0 96px;
}

#sidebar .recent-post-box .post-thumb img {
    width: 96px !important;
    height: 64px !important;
    max-width: 96px !important;
    object-fit: cover;
    display: block;
    margin: 0 !important;
}

#sidebar .recent-post-box .post-content {
    min-width: 0;
}

#sidebar .recent-post-box .post-content a {
    display: block;
    line-height: 1.35;
    color: var(--color-black) !important;
    text-transform: none !important;
}

#sidebar .widget_recent_entries ul li {
    padding-bottom: 12px;
    margin-bottom: 12px;
    border-bottom: 1px solid var(--color-offwhite);
}

#sidebar .widget_recent_entries ul li:last-child {
    padding-bottom: 0;
    margin-bottom: 0;
    border-bottom: 0;
}

/* Sidebar (Poradniki/Blog): pełna szerokość sekcji "Najnowsze poradniki" */
:is(body.single-post, body.blog, body.archive, body.category, body.tag, body.search) #sidebar .widget_recent_entries,
:is(body.single-post, body.blog, body.archive, body.category, body.tag, body.search) #sidebar .widget_recent_entries ul,
:is(body.single-post, body.blog, body.archive, body.category, body.tag, body.search) #sidebar .widget_recent_entries ul li,
:is(body.single-post, body.blog, body.archive, body.category, body.tag, body.search) #sidebar .widget_recent_entries .recent-post-box {
    width: 100%;
    max-width: 100%;
}

:is(body.single-post, body.blog, body.archive, body.category, body.tag, body.search) #sidebar .widget_recent_entries ul {
    margin: 0;
    padding: 0;
}

:is(body.single-post, body.blog, body.archive, body.category, body.tag, body.search) #sidebar .widget_recent_entries .recent-post-box .post-content {
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
}

/* Sidebar (Poradniki): punktory dla widgetu menu "Przydatne strony" */
:is(body.single-post, body.blog, body.archive, body.category, body.tag, body.search) #sidebar .widget_nav_menu ul,
:is(body.single-post, body.blog, body.archive, body.category, body.tag, body.search) #sidebar .widget_nav_menu ul.menu {
    list-style: disc outside !important;
    padding-left: 20px !important;
    margin-left: 0 !important;
}

:is(body.single-post, body.blog, body.archive, body.category, body.tag, body.search) #sidebar .widget_nav_menu ul li,
:is(body.single-post, body.blog, body.archive, body.category, body.tag, body.search) #sidebar .widget_nav_menu ul.menu > li {
    display: list-item !important;
    list-style: inherit !important;
    margin: 0 0 8px 0;
}

:is(body.single-post, body.blog, body.archive, body.category, body.tag, body.search) #sidebar .widget_nav_menu ul li::marker,
:is(body.single-post, body.blog, body.archive, body.category, body.tag, body.search) #sidebar .widget_nav_menu ul.menu > li::marker {
    color: var(--color-green);
}

/* Sidebar (Poradniki/Blog): linki zielone (standard template) */
:is(body.single-post, body.blog, body.archive, body.category, body.tag, body.search) #sidebar .widget_nav_menu a,
:is(body.single-post, body.blog, body.archive, body.category, body.tag, body.search) #sidebar .widget_recent_entries a {
    color: var(--color-green) !important;
}

:is(body.single-post, body.blog, body.archive, body.category, body.tag, body.search) #sidebar .widget_nav_menu a:hover,
:is(body.single-post, body.blog, body.archive, body.category, body.tag, body.search) #sidebar .widget_nav_menu a:focus,
:is(body.single-post, body.blog, body.archive, body.category, body.tag, body.search) #sidebar .widget_recent_entries a:hover,
:is(body.single-post, body.blog, body.archive, body.category, body.tag, body.search) #sidebar .widget_recent_entries a:focus {
    color: #5b9807 !important;
    text-decoration: underline;
}

/* Sidebar: wszystkie nagłówki widgetów w fiolecie jak H2 */
#sidebar h3,
#sidebar .widget-title {
    color: #4348BD !important;
}

/* =========================================================
    09) LISTY WPISÓW: BLOG / ARCHIWA / KATEGORIE
    ========================================================= */

/* Lista wpisów (blog/kategorie/archiwa/tag/wyszukiwanie) */
:is(body.blog, body.archive, body.category, body.tag, body.search) #content-tc .postbox,
:is(body.blog, body.archive, body.category, body.tag, body.search) #content-tc .postwrapper-box,
:is(body.blog, body.archive, body.category, body.tag, body.search) #full-width-blog .postbox {
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    margin-bottom: 16px !important;
}

:is(body.blog, body.archive, body.category, body.tag, body.search) #content-tc .postwrapper-box.mb-5,
:is(body.blog, body.archive, body.category, body.tag, body.search) .main-page .postwrapper-box,
:is(body.blog, body.archive, body.category, body.tag, body.search) .main-page .postwrapper-box.mb-5 {
    margin-bottom: 10px !important;
    padding: 0 !important;
}

:is(body.blog, body.archive, body.category, body.tag, body.search) .main-page .postwrapper-box {
    background: transparent !important;
}

:is(body.blog, body.archive, body.category, body.tag, body.search) .main-page .box-image {
    margin-bottom: 8px !important;
}

:is(body.blog, body.archive, body.category, body.tag, body.search) #content-tc .blog-full-border {
    margin-top: 10px !important;
}

:is(body.blog, body.archive, body.category, body.tag, body.search) .main-page .cat-box {
    margin: 8px 0 10px 0 !important;
}

/* Karty wpisów: obrazek po lewej, tytuł + zajawka po prawej */
:is(body.blog, body.archive, body.category, body.tag, body.search) #content-tc .services-box {
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin-bottom: 10px !important;
}

:is(body.blog, body.archive, body.category, body.tag, body.search) #content-tc .services-box .service-text {
    margin-top: 8px !important;
    display: grid;
    grid-template-columns: 155px minmax(0, 1fr);
    column-gap: 10px;
    row-gap: 4px;
    align-items: start;
}

:is(body.blog, body.archive, body.category, body.tag, body.search) #content-tc .services-box .service-text p {
    margin-bottom: 8px !important;
}

:is(body.blog, body.archive, body.category, body.tag, body.search) #content-tc .services-box .service-text > p:first-child {
    grid-column: 2;
    grid-row: 1;
    margin: 0 0 8px 0 !important;
}

:is(body.blog, body.archive, body.category, body.tag, body.search) #content-tc .services-box .service-text > .service-image {
    grid-column: 1;
    grid-row: 1 / span 2;
    width: 155px !important;
    padding-right: 0 !important;
}

:is(body.blog, body.archive, body.category, body.tag, body.search) #content-tc .services-box .service-text > p:not(:first-child) {
    grid-column: 2;
    grid-row: 2;
    margin-top: 0 !important;
}

#footer_text a#return-to-top {
    position: fixed !important;
    right: 20px;
    bottom: 24px;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: var(--color-green);
    color: var(--color-white);
    text-decoration: none;
    z-index: 9999;
}

#footer_text a#return-to-top i {
    color: var(--color-white);
    position: relative;
    top: 13px;
    font-size: 19px;
    padding: 3px 18px;
}

#footer_text a#return-to-top:hover,
#footer_text a#return-to-top:focus {
    background: rgba(0, 0, 0, 0.9);
}

#footer_text a#return-to-top:hover i,
#footer_text a#return-to-top:focus i {
    top: 5px;
}

#footer_text a#return-to-top.left {
    left: 10px;
    right: auto;
}

#footer_text a#return-to-top.center {
    left: 50%;
    right: auto;
    transform: translateX(-50%);
}

#footer_text a#return-to-top.right {
    left: auto;
    right: 20px;
}

@media screen and (max-width: 767px) {
    #footer_text a#return-to-top,
    #footer_text a#return-to-top.right {
        right: 12px;
        bottom: 16px;
    }
}
