/**
 * mc-common-styles.css
 * 
 * Combined, always-loaded-together stylesheets, merged into one file
 * to cut down on the number of separate HTTP requests every page pays
 * for (previously: product-carousel.css, product-grid.css,
 * product-grid-with-filters.css, category-header.css, product-tags.css,
 * product-header.css, product-description.css, wishlist.css,
 * popup-notification.css - 9 requests down to 1).
 * 
 * Order matters here: product-carousel -> product-grid ->
 * product-grid-with-filters preserves the original dependency chain
 * (each one was declared as depending on - i.e. loading after - the
 * previous one, since each overrides some of the previous file's rules).
 * The rest had no declared inter-dependencies, so their relative order
 * doesn't matter.
 * 
 * Source files are kept in the theme (not deleted) for reference /
 * easier future edits - only this combined file is actually enqueued.
 */

/* ===== product-carousel.css ===== */
/**
 * Product Carousel Styles
 * 
 * Custom styles for the product carousel shortcode
 */

/* Container */
.mc_product_carousel_container {
    position: relative;
    overflow: visible;
   
}

.mc_carousel_title {
    margin-bottom: 30px;
    font-size: 24px;
    font-weight: 600;
    color: #252525;
}

/* Carousel */
.mc_product_carousel {
    position: relative;
    overflow: hidden;
    margin-bottom: 0;
}

/* Hide the carousel until Swiper has actually initialized (Swiper adds
   the "swiper-initialized" class itself once ready) instead of briefly
   showing the browser-default single-slide-width layout and then jumping
   to Swiper's real, JS-computed multi-slide layout. opacity (not
   display:none) keeps the reserved layout space so nothing else on the
   page shifts around it either.

   Safety net: if JS is delayed (e.g. by a "delay JS execution" cache
   optimization) and doesn't run within ~1.5s, force-reveal anyway via a
   plain CSS animation - otherwise a long JS delay leaves the gallery
   blank for however long that delay is, which is worse than the brief
   flash this was meant to prevent in the first place. */
.mc_product_carousel:not(.swiper-initialized) {
    opacity: 0;
    animation: mc-swiper-reveal-fallback 0s ease-in 1.5s forwards;
}

@keyframes mc-swiper-reveal-fallback {
    to { opacity: 1; }
}

.mc_product_carousel.swiper-initialized {
    opacity: 1;
    transition: opacity 0.2s ease;
}

/* Product Card */
.mc_product_card {
    display: flex;
    flex-direction: column;
    height: 100%;
    border-radius: 8px;
    overflow: hidden;

    transition: transform 0.3s ease, box-shadow 0.3s ease;
    background-color: #fff;
}

.mc_product_card:hover {
    transform: translateY(-5px);
    
}

/* Product Image */
.mc_product_image_container {
    position: relative;
    overflow: hidden;
    /* Usunięto padding-top: 100% zgodnie z wymaganiami */
    height: auto; /* Stała wysokość na PC */

}

.mc_product_image_link {
    position: relative; /* Zmieniono z absolute na relative */
    display: block;
    width: 100%;
    height: 100%;
}

.mc_product_image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
    display: block;
}

.mc_product_image_link:hover .mc_product_image {
    transform: scale(1.05);
}

/* Product Content */
.mc_product_content {
    padding: 20px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    background: #F0F0F0; /* Zgodnie z wymaganiami */
}

.mc_product_category {
    color: #252525; /* var(--Foundation-Grey-grey-900) */
    font-family: "Plus Jakarta Sans";
    font-size: 20px;
    font-style: normal;
    font-weight: 800;
    line-height: normal;
    margin-bottom: 8px;
    display: inline-block;
    text-decoration: none;
}

.mc_product_category:hover {
    text-decoration: underline;
}

.mc_product_title {
    font-size: 12px;
    font-weight: 600;
    margin: 0 0 15px 0;
    line-height: 19px; /* 158.333% */
    font-family: "Plus Jakarta Sans";
    color: #252525; /* var(--Foundation-Grey-grey-900) */
    font-style: normal;
    /* Clamp to 2 lines and reserve that height even for 1-line titles,
       so the price/actions below always start at the same position
       regardless of title length. */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 38px; /* 2 x line-height */
}

.mc_product_title a {
    color: #252525;
    text-decoration: none;
}

.mc_product_title a:hover {
    color: #EB8125;
}

/* Price */
.mc_product_price_container {
    margin-bottom: 20px;
    display: flex;
    flex-direction: column;
    /* Reserve room for both the crossed-out old price and the current
       price (del + ins line-heights), and bottom-align content within it.
       That way the current/final price always sits at the same height,
       whether or not this particular product happens to be on sale. */
    min-height: 42px;
    justify-content: flex-end;
}

/* Cena regularna (gdy nie ma promocji) */
.mc_product_regular_price {
    color: #575757; /* var(--Foundation-Grey-MAIN) */
    font-family: "Plus Jakarta Sans";
    font-size: 24px;
    font-style: normal;
    font-weight: 500;
    line-height: 21px; /* 87.5% */
}

/* Cena przekreślona (gdy jest promocja) */
.mc_product_price del {
    color: #575757; /* var(--Foundation-Grey-MAIN) */
    font-family: Montserrat;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 21px; /* 150% */
    text-decoration-line: line-through;
    display: block;
}

/* Cena promocyjna */
.mc_product_price ins {
    text-decoration: none;
    color: #575757; /* var(--Foundation-Grey-MAIN) */
    font-family: "Plus Jakarta Sans";
    font-size: 24px;
    font-style: normal;
    font-weight: 500;
    line-height: 21px; /* 87.5% */
    display: block;
}

/* Ukryj tekst dla czytników ekranowych */
.screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Actions */
.mc_product_actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: auto;
}

.mc_product_info_btn {
    color: #000;
    cursor: default;
    font-family: "Plus Jakarta Sans";
    font-size: 10px;
    font-style: normal;
    font-weight: 400;
    line-height: 19px; /* 190% */
    display: flex;
    padding: 4px 16px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: 100px;
    border: 0.5px solid #575757; /* var(--Foundation-Grey-MAIN) */
    text-decoration: none;
}

/* No hover effect: this element is informational only, not a link
   (the adjacent .mc_product_link_btn already links to the product). */

.mc_product_link_btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 100px;
    background-color: #EB8125;
    transition: background-color 0.2s ease;
}

.mc_product_link_btn:hover {
    background-color: #d06b15;
}

.mc_product_link_btn svg {
    width: 16px;
    height: 16px;
}

/* Pagination */
.mc_carousel_pagination {
    position: absolute !important;
    bottom: -50px !important;
    left: 0 !important;
    right: 0 !important;
    display: flex !important;
    justify-content: center;
    gap: 10px;
    z-index: 10;
}

.swiper-pagination-bullet {
    width: 13px !important;
    height: 13px !important;
    background: #CBCBCB !important;
    opacity: 1 !important;
    border-radius: 22px !important;
    flex-shrink: 0;
}

.swiper-pagination-bullet-active {
    background: #EB8125 !important;
    border-radius: 22px !important;
}

/* No products message */
.mc_no_products {
    padding: 30px;
    text-align: center;
    background-color: #f8f8f8;
    border-radius: 8px;
    color: #666;
}

/* Responsive */
@media (max-width: 1024px) {
    .mc_product_title {
        font-size: 12px;
    }
    
    .mc_product_content {
        padding: 15px;
    }
    
 
    .mc_product_category {
        font-size: 18px;
    }
}

@media (max-width: 768px) {
    .mc_carousel_title {
        font-size: 20px;
    }
    
    .mc_product_actions {
        display: none;
    }

     .home .mc_product_actions {
        display: block;
        position: absolute;
        right: 8%;
        bottom: 8%;
    }

    .mc_product_info_btn{
         display: none;
    }
    
    .mc_product_link_btn {
        align-self: flex-end;
    }
    

    
    .mc_product_category {
        font-size: 16px;
    }
    
    .mc_product_regular_price,
    .mc_product_price ins {
        font-size: 20px;
    }
}
/* ===== product-grid.css ===== */
/**
 * Product Grid Styles
 * 
 * Custom styles for the product grid shortcode
 * Shares most styles with product carousel
 */

/* Container */
.mc_product_grid_container {
   
    position: relative;
}

.mc_grid_title {
    margin-bottom: 30px;
    font-size: 24px;
    font-weight: 600;
    color: #252525;
}

/* Grid Layout */
.mc_product_grid {
    display: grid;
    gap: 40px;
    margin-bottom: 40px;
}

/* Column configurations */
.mc_product_grid_1_columns {
    grid-template-columns: 1fr;
}

.mc_product_grid_2_columns {
    grid-template-columns: repeat(2, 1fr);
}

.mc_product_grid_3_columns {
    grid-template-columns: repeat(3, 1fr);
}

.mc_product_grid_4_columns {
    grid-template-columns: repeat(4, 1fr);
}

/* No products message */
.mc_product_grid .mc_no_products {
    grid-column: 1 / -1;
    padding: 30px;
    text-align: center;
    background-color: #f8f8f8;
    border-radius: 8px;
    color: #666;
}

/* Responsive */
@media (max-width: 1379px) {
    .mc_product_grid {
        gap: 20px;
    }
    
    .mc_product_grid_4_columns {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 1024px) {
    .mc_product_grid_3_columns,
    .mc_product_grid_4_columns {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .mc_grid_title {
        font-size: 22px;
    }
}

@media (max-width: 768px) {
    .mc_product_grid_2_columns,
    .mc_product_grid_3_columns,
    .mc_product_grid_4_columns {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .mc_grid_title {
        font-size: 20px;
    }
    
    .mc_product_grid {
        gap: 20px;
    }
}

.mc_filter_toggle_btn {
    display: none;
    color: #FFF;
    text-align: center;
    font-family: "Plus Jakarta Sans";
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 14px;
    text-transform: uppercase;
    padding: 12px 32px;
    justify-content: center;
    align-items: center;
    gap: 20px;
    border-radius: 100px;
    background: var(--Foundation-Orange-MAIN, #EB8125);
    border: none;
    cursor: pointer;
    margin: 0 auto 20px auto;
}

.mc_filter_toggle_btn svg {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
}

.mc_filter_modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 99990;
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.mc_filter_modal.active {
    visibility: visible;
    opacity: 1;
}

.mc_filter_modal_content {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    padding: 60px 24px 24px 24px;
    overflow-y: auto;
    transform: translateX(-100%);
    transition: transform 0.3s ease;
}

.mc_filter_modal.active .mc_filter_modal_content {
    transform: translateX(0);
}

.mc_filter_modal_close {
    position: fixed !important;
    top: 16px !important;
    right: 16px !important;
    background: #EB8125 !important;
    border: none !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    padding: 0 !important;
    width: 40px !important;
    height: 40px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    z-index: 100000 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.mc_filter_modal_close svg {
    width: 18px;
    height: 18px;
    display: block;
}

@media (max-width: 768px) {
    .mc_filter_toggle_btn {
        display: flex;
    }
    
    .mc_filters_sidebar {
        display: none;
    }
    
    .elementor-shortcode > .mc-cat-widget,
    .elementor-shortcode > .mc-price-filter,
    .elementor-shortcode > .mc-attr-filters,
    .mc-cat-widget,
    .mc-price-filter,
    .mc-attr-filters {
        display: none !important;
    }
    
    .mc_filter_modal_content .mc-cat-widget,
    .mc_filter_modal_content .mc-price-filter,
    .mc_filter_modal_content .mc-attr-filters {
        display: block !important;
        margin-bottom: 20px;
    }
    
    .mc_filter_modal_content .mc-cat-title {
        font-size: 12px;
        padding: 4px 16px;
    }
    
    .mc_filter_modal_content .mc-cat-link {
        font-size: 14px;
        line-height: 20px;
        padding: 4px 0;
    }
    
    .mc_filter_modal_content .mc-cat-list.level-1 > .mc-cat-item > .mc-cat-link,
    .mc_filter_modal_content .mc-cat-list.level-2 > .mc-cat-item > .mc-cat-link,
    .mc_filter_modal_content .mc-cat-list.level-3 > .mc-cat-item > .mc-cat-link {
        font-size: 12px;
        line-height: 18px;
        padding: 3px 0 3px 12px;
    }
    
    .mc_filter_modal_content .mc-price-row {
        padding: 8px 16px;
        gap: 8px;
    }
    
    .mc_filter_modal_content .mc-price-label {
        font-size: 12px;
        line-height: 16px;
    }
    
    .mc_filter_modal_content .mc-price-input {
        font-size: 12px;
        line-height: 16px;
        padding: 6px 10px;
    }
    
    .mc_filter_modal_content .mc-price-eur {
        font-size: 12px;
        line-height: 16px;
        padding: 6px 8px;
    }
    
    .mc_filter_modal_content .mc-attr-list {
        padding: 8px 16px;
    }
    
    .mc_filter_modal_content .mc-attr-name {
        font-size: 14px;
        line-height: 20px;
    }
}
/* ===== product-grid-with-filters.css ===== */
.mc_product_grid_with_filters_wrapper {
    margin-bottom: 40px;
    overflow: visible;
    max-width: 100%;
    overflow-x: hidden;
}

.mc_product_grid_container {
    overflow: visible;
    position: relative;
}

.mc_product_grid_container .mc_carousel_pagination {
    position: absolute !important;
    bottom: -50px !important;
    left: 0 !important;
    right: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    white-space: normal !important;
    justify-content: center;
    row-gap: 8px;
    column-gap: 10px;
    gap: 10px;
    z-index: 10;
    max-width: 100%;
    box-sizing: border-box;
    padding: 0 12px;
}

.mc_product_grid_container .swiper-pagination-bullet {
    width: 13px !important;
    height: 13px !important;
    margin: 0 !important;
    background: #CBCBCB !important;
    opacity: 1 !important;
    border-radius: 22px !important;
    flex-shrink: 0;
}

.mc_product_grid_container .swiper-pagination-bullet-active {
    background: #EB8125 !important;
    border-radius: 22px !important;
}

.mc_category_filters_wrapper {
    margin-bottom: 30px;
}

.mc_category_filters {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: flex-start;
}

.mc_category_filter_btn {
    color: #000;
    font-family: "Plus Jakarta Sans";
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 19px;
    display: flex;
    padding: 8px 32px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: 100px;
    border: 0.5px solid #575757;
    background: #fff;
    cursor: pointer;
    transition: all 0.3s ease;
    white-space: nowrap;
}

.mc_category_filter_btn:hover {
    background: #f5f5f5;
}

.mc_category_filter_btn.active {
    color: #FCFCFC;
    background: #575757;
    border: 0.5px solid #575757;
}

.mc_pgf_loading {
    text-align: center;
    padding: 60px 20px;
    font-size: 18px;
    color: #575757;
    position: relative;
}

.mc_pgf_spinner {
    display: inline-block;
    width: 50px;
    height: 50px;
    border: 5px solid #f3f3f3;
    border-top: 5px solid #EB8125;
    border-radius: 50%;
    animation: mc_spinner_spin 1s linear infinite;
    margin: 0 auto;
}

@keyframes mc_spinner_spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.mc_cta_card {
    padding:10%;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: var(--Foundation-Grey-MAIN, #575757);
    min-height: 400px;
}

.mc_cta_content {
    text-align: center;
    padding: 40px 20px;
}

.mc_cta_title {
   color: var(--Foundation-Black-black-2, #FCFCFC);
    font-family: "Plus Jakarta Sans";
    font-size: 32px;
    font-style: normal;
    font-weight: 800;
    line-height: normal;
    text-align: left;
}

.mc_cta_button {
    display: flex;
    max-width: 252px;
    padding: 12px 32px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: 100px;
    background: var(--Foundation-Orange-MAIN, #EB8125);
    color: var(--Foundation-Black-black-2, #FCFCFC);
    font-family: "Plus Jakarta Sans";
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;

}

.mc_cta_button:hover {
    background: #252525;
    color: #FCFCFC;
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
}

@media (max-width: 768px) {
    .mc_pgf_grid.mc_product_carousel {
        overflow: hidden;
        margin-bottom: 0;
    }
    
    .mc_pgf_grid.mc_product_carousel .swiper-wrapper {
        display: flex;
    }
    
    .mc_pgf_grid.mc_product_carousel .swiper-slide {
        height: auto;
    }
    
    .mc_pgf_grid.mc_product_carousel .mc_product_card {
        height: 100%;
    }
}

@media (max-width: 767px) {
    .mc_category_filters {
        justify-content: center;
    }
    
    .mc_category_filter_btn {
        padding: 8px 20px;
        font-size: 13px;
    }
    
    .mc_cta_card {
        min-height: 300px;
    }
    
    .mc_cta_title {
        font-size: 20px;
    }
    
    .mc_cta_button {
        padding: 12px 24px;
        font-size: 14px;
    }
    
    /* On mobile there can be many more dots than fit on one line (they wrap -
       see the flex-wrap rule above), so a fixed "bottom: -50px" absolute
       offset no longer reserves enough room and a second row of dots would
       overlap whatever comes after this section. Switch pagination back into
       normal document flow here so it always reserves exactly the height it
       actually needs, however many rows that turns out to be. */
    .mc_product_grid_container {
        padding-bottom: 0;
    }
    
    .mc_product_grid_container .mc_carousel_pagination {
        position: static !important;
        bottom: auto !important;
        left: auto !important;
        right: auto !important;
        margin-top: 16px;
    }
}

/* Below ~400px, side-by-side category buttons stop fitting comfortably -
   stack them one per line instead of letting them crowd/overflow. */
@media (max-width: 400px) {
    .mc_category_filters {
        flex-direction: column;
        align-items: stretch;
        flex-wrap: nowrap;
    }
    
    .mc_category_filter_btn {
        width: 100%;
        box-sizing: border-box;
    }
}

/* ===== category-header.css ===== */
/**
 * Category Header Styles
 */

.mc_category_header {
    position: relative;
    width: 100%;
    height: 435px;
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 40px;
}

.mc_category_header_overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4); /* Semi-transparent overlay */
    z-index: 1;
}

.mc_category_header_content {
    position: relative;
    z-index: 2;

    max-width: 1620px;
    width: 100%;
    padding: 0 20px;
}

.mc_category_title {
    color: #FCFCFC;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 64px;
    font-style: normal;
    font-weight: 800;
    line-height: normal;
    margin-bottom: 20px;
}

.mc_category_breadcrumbs {
    color: #FCFCFC;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 19px;
}

.mc_category_breadcrumbs a {
    color: #FCFCFC;
    text-decoration: none;
    transition: opacity 0.3s ease;
}

.mc_category_breadcrumbs a:hover {
    opacity: 0.8;
}

.mc_category_breadcrumbs span {
    color: #FCFCFC;
}

/* Hide mobile content by default (show only on small screens) */
.mc_mobile_content {
    display: none;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .mc_category_title {
        font-size: 42px;
    }
    
    .mc_category_header {
        height: 250px;
    }
}

/* Mobile adjustments */
@media (max-width: 480px) {
    /* Restructure layout for mobile */
    .mc_category_header {
        height: 250px;
        margin-bottom: 0;
        align-items: flex-start; /* Move content to top */
    }
    
    .mc_category_header_content {
        display: none; /* Hide content inside header */
    }
    
    /* Create a new container for mobile content below the image */
    .mc_category_header::after {
        content: "";
        display: block;
        height: 100px; /* Space for content */
    }
    
    /* Add mobile content container */
    .mc_category_header + .mc_mobile_content {
        display: block;
        padding: 20px;
        text-align: center;
        margin-bottom: 40px;
    }
    
    /* Mobile title styling */
    .mc_mobile_content .mc_category_title {
        color: #252525;
        font-size: 36px;
        margin-bottom: 10px;
        text-align: center;
    }
    
    /* Mobile breadcrumbs styling */
    .mc_mobile_content .mc_category_breadcrumbs {
        color: #252525;
        font-size: 14px;
        text-align: center;
    }
    
    .mc_mobile_content .mc_category_breadcrumbs a {
        color: #252525;
    }
    
    .mc_mobile_content .mc_category_breadcrumbs span {
        color: #252525;
    }
}
/* ===== product-tags.css ===== */
/**
 * Product Tags Styles
 * 
 * Styles for product tags like BESTSELLER, ANGEBOTE, Neuheiten
 */

/* Product Tag Badge */
.mc-product-tag-badge {
    font-family: "Plus Jakarta Sans";
    display: flex;
    padding: 4px 12px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    position: absolute;
    right: 20px;
    top: 20px;
    border-radius: 100px;
    color: #FCFCFC;
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 19px;
    text-transform: uppercase;
    z-index: 5;
}

/* Tag Colors */
.mc-tag-bestseller {
    background: #575757;
    font-family: "Plus Jakarta Sans";
}

.mc-tag-angebote {
    background: #DD2C00;
    font-family: "Plus Jakarta Sans";
    font-weight: 700;
}

.mc-tag-neuheiten {
    background: #EB8125;
    font-family: "Plus Jakarta Sans";
}
/* ===== product-header.css ===== */
/**
 * Product Header Styles
 * 
 * Styles for product header shortcode with badge, title and SKU
 */

/* Product Header Container */
.mc-product-header {
    margin-bottom: 20px;
    position: relative;
}

/* Badge Wrapper */
.mc-product-badge-wrapper {
    margin-bottom: 10px;
}

/* Badge Override for Header */
.mc-product-header .mc-product-tag-badge {
    position: relative;
    top: auto;
    right: auto;
    display: inline-block;
}

/* Category label (replaces the promotional tag badge above the title) */
.mc-product-header .mc-product-category-label {
    display: inline-block;
    color: #575757;
    font-family: "Plus Jakarta Sans";
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    text-transform: uppercase;
    text-decoration: none;
}

.mc-product-header .mc-product-category-label:hover {
    text-decoration: underline;
}

/* Product Title */
.mc-product-header h1.mc-product-title {
    color: #252525;
    font-family: "Plus Jakarta Sans";
    font-size: 32px;
    font-style: normal;
    font-weight: 800;
    line-height: normal;
    margin: 10px 0 5px 0;
}

/* Product SKU */
.mc-product-header .mc-product-sku {
    color: #000;
    font-family: "Plus Jakarta Sans";
    font-size: 12px;
    font-style: normal;
    font-weight: 300;
    line-height: normal;
}
/* ===== product-description.css ===== */
/**
 * Product Description Box Styles
 */

.mc-product-description-box {
    border-radius: 10px;
    border: 0.5px solid var(--Foundation-Grey-grey-100, #CBCBCB);
    display: flex;
    padding: 24px;
    flex-direction: column;
    align-items: flex-start;
    gap: 17px;
    align-self: stretch;
    width: 100%;
    box-sizing: border-box;
    margin: 0 auto 20px;
    max-width: 100%;
}

.mc-description-title {
    color: #000;
    font-family: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 1.4;
    margin: 0;
    padding: 0;
    width: 100%;
}

.mc-description-list {
    list-style: none;
    padding: 0;
    margin: 0;
    width: 100%;
    display: block;
}

.mc-description-list li {
    color: #000;
    font-family: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 300;
    line-height: 1.4;
    position: relative;
    padding-left: 24px;
    margin-bottom: 10px;
    display: block;
    width: 100%;
    box-sizing: border-box;
}

.mc-description-list li:last-child {
    margin-bottom: 0;
}

.bullet-point {
    position: absolute;
    left: 0;
    top: 6px;
    display: inline-block;
    width: 14px;
    height: 14px;
    border-radius: 500px;
    background: #EB8125;
}

/* Responsive styles */
@media screen and (max-width: 767px) {
    /* Hide the description box completely on mobile devices */
    .mc-product-description-box {
        display: none !important;
    }
}

/* Fix for potential display issues */
.elementor-widget-container .mc-product-description-box,
.woocommerce-product-details__short-description .mc-product-description-box {
    display: flex !important;
    width: 100% !important;
}

/* Ensure bullets are visible */
.bullet-point {
    background-color: #EB8125 !important;
    display: block !important;
}
/* ===== wishlist.css ===== */
/**
 * Wishlist Styles
 * 
 * Styles for the wishlist functionality
 * Maintains consistent styling with product carousels and grids
 */

/* Wishlist Buttons */
.mc-wishlist-button,
.mc-wishlist-button-small {
    background: transparent;
    border: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 5px 10px;
    transition: all 0.3s ease;
    color: #666;
}

/* Animacja wypełniania serca */
@keyframes heart-fill {
    0% { fill: transparent; }
    50% { fill: rgba(221, 44, 0, 0.5); }
    100% { fill: #DD2C00; }
}

@keyframes heart-pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.15); }
    100% { transform: scale(1); }
}

.mc-wishlist-button-small.loading svg,
.mc-wishlist-button.loading svg {
    animation: heart-fill 0.8s ease-in-out;
}

.mc-wishlist-button-small.loading,
.mc-wishlist-button.loading {
    animation: heart-pulse 0.8s ease-in-out;
}

.mc-wishlist-button {
    margin-left: 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
}

/* Icon-only variant for sitting inline in a normal button row (e.g. next
   to "Konfigurieren"/"Produktbeschreibung" on the single product page) -
   same circular, icon-only look as .mc-wishlist-button-small (used on
   product grid cards), but NOT absolutely positioned: that variant is
   deliberately absolute for overlaying a product image, which isn't right
   here. Explicit overrides below because this element also carries the
   plain .mc-wishlist-button class (for the existing JS click handler,
   which only listens on .mc-wishlist-button/.mc-wishlist-button-small) -
   without them, .mc-wishlist-button's own margin/border/border-radius
   would otherwise still apply alongside these. */
.mc-wishlist-button-inline {
    position: static;
    margin-left: 10px;
    background: #FCFCFC;
    background-color: #FCFCFC !important;
    border: none;
    border-radius: 50%;
    width: 44px;
    height: 44px;
    padding: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.mc-wishlist-button-inline:hover {
    background-color: #f5f5f5 !important;
}

.mc-wishlist-button-small {
    position: absolute;
    top: 10px;
    left: 10px;
    background: #FCFCFC;
    background-color: #FCFCFC !important;
    border-radius: 0;
    width: 44px;
    height: 44px;
    z-index: 5;
    padding: 10px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;
    padding:0 !important;;
}

.mc-wishlist-button:hover,
.mc-wishlist-button-small:hover {
    color: #e94560;
}

.mc-wishlist-button.in-wishlist,
.mc-wishlist-button-small.in-wishlist {
    color: #e94560;
}

.mc-wishlist-button .dashicons,
.mc-wishlist-button-small .dashicons {
    font-size: 18px;
    width: 18px;
    height: 18px;
    transition: transform 0.3s ease;
}

.mc-wishlist-button:hover .dashicons,
.mc-wishlist-button-small:hover .dashicons {
    transform: scale(1.2);
}

.mc-wishlist-button .wishlist-text {
    margin-left: 5px;
}

/* Wishlist Page */
.mc-wishlist-empty {
    text-align: center;
    padding: 40px 20px;
    background: #f9f9f9;
    border-radius: 8px;
    margin: 20px 0;
}

.mc-wishlist-empty p {
    margin-bottom: 20px;
    font-size: 18px;
    color: #666;
}

.mc-wishlist-empty .button {
    display: inline-block;
    padding: 12px 24px;
    background-color: #e94560;
    color: #fff;
    text-decoration: none;
    border-radius: 4px;
    font-weight: 600;
    transition: background-color 0.3s ease;
}

.mc-wishlist-empty .button:hover {
    background-color: #d03050;
}

.mc-wishlist-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
    padding-bottom: 15px;
    border-bottom: 1px solid #eee;
}

.mc-wishlist-header h2 {
    font-size: 24px;
    margin: 0;
}

.mc-wishlist-header p {
    font-size: 16px;
    color: #666;
    margin: 0;
}

/* Products Grid */
.mc-products-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 30px;
    margin-bottom: 40px;
}

/* Wishlist Item */
.mc-wishlist-item {
    position: relative;
}

.mc-wishlist-remove {
    position: absolute;
    top: 10px;
    left: 10px;
    background: #FCFCFC !important;
    border: none !important;
    border-radius: 10 !important;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 5;
    transition: all 0.3s ease;
    padding: 0 !important;
    font-size: 0 !important;
    color: transparent !important;
}

.mc-wishlist-remove:hover svg path {
    fill: #B82300;
    stroke: #B82300;
}

.mc-wishlist-remove svg {
    transition: all 0.3s ease;
}

/* Wishlist Count Badge */
.mc-wishlist-count {
    position: relative;
    display: inline-block;
}

.mc-wishlist-count-badge {
    position: absolute;
    top: -8px;
    right: -8px;
    background-color: #e94560;
    color: white;
    border-radius: 50%;
    width: 18px;
    height: 18px;
    font-size: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
}

/* Menu Wishlist Icon */
.menu-item-wishlist {
    position: relative;
}

.menu-item-wishlist a {
    display: flex !important;
    align-items: center;
    justify-content: center;
}

.menu-item-wishlist .dashicons {
    font-size: 22px;
    width: 22px;
    height: 22px;
    transition: color 0.3s ease;
}

.menu-item-wishlist:hover .dashicons {
    color: #e94560;
}

/* Custom Wishlist Icon Shortcode */
.mc-wishlist-icon-shortcode {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

.mc-wishlist-icon-svg {
    display: inline-block;
    line-height: 0;
}

.mc-wishlist-icon-svg svg {
    transition: all 0.3s ease;
}

.mc-wishlist-icon-shortcode:hover .mc-wishlist-icon-svg svg path {
    stroke: #EB8125;
}

.mc-wishlist-count-badge-custom {
    position: absolute;
    top: -5px;
    right: -8px;
    background-color: #EB8125;
    color: #FCFCFC;
    border-radius: 50%;
    width: 15px;
    height: 15px;
    font-size: 11px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 500;
    font-family: Montserrat, sans-serif;
    line-height: 12px;
    text-transform: uppercase;
    z-index: 10;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
    .mc-products-grid {
        grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
        gap: 20px;
    }
    
    .mc-wishlist-header {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .mc-wishlist-header p {
        margin-top: 10px;
    }
}

@media (max-width: 480px) {
    .mc-products-grid {
        grid-template-columns: 1fr;
    }
}
/* ===== popup-notification.css ===== */
/**
 * Popup Notification Styles
 */

/* Animacja wejścia */
@keyframes popup-enter {
    0% {
        opacity: 0;
        transform: translate(-50%, -70%) scale(0.7);
    }
    70% {
        transform: translate(-50%, -45%) scale(1.05);
    }
    100% {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
    }
}

/* Animacja wyjścia */
@keyframes popup-exit {
    0% {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
    }
    100% {
        opacity: 0;
        transform: translate(-50%, -70%) scale(0.7);
    }
}

/* Podstawowy styl popupu */
.mc-popup-notification {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: rgba(0, 0, 0, 0.8);
    color: #fff;
    padding: 15px 25px;
    border-radius: 8px;
    z-index: 9999;
    text-align: center;
    opacity: 0;
    max-width: 90%;
    min-width: 280px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

/* Styl dla popupu pokazywanego */
.mc-popup-notification.show {
    animation: popup-enter 0.4s forwards;
}

/* Styl dla popupu ukrywanego */
.mc-popup-notification.hide {
    animation: popup-exit 0.4s forwards;
}

.mc-popup-notification-content {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.mc-popup-notification-icon {
    font-size: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mc-popup-notification-icon svg {
    width: 24px;
    height: 24px;
}

@keyframes text-appear {
    0% { opacity: 0; transform: translateY(5px); }
    100% { opacity: 1; transform: translateY(0); }
}

.mc-popup-notification-text {
    font-size: 16px;
    font-weight: 500;
    font-family: 'Montserrat', sans-serif;
    animation: text-appear 0.4s ease-out forwards;
    animation-delay: 0.1s;
    opacity: 0;
}

/* Animation for heart icon */
@keyframes heartbeat {
    0% {
        transform: scale(0.8);
    }
    25% {
        transform: scale(1.3);
    }
    50% {
        transform: scale(1);
    }
    75% {
        transform: scale(1.2);
    }
    100% {
        transform: scale(1);
    }
}

@keyframes heart-fill-popup {
    0% { fill: rgba(221, 44, 0, 0); }
    40% { fill: rgba(221, 44, 0, 0.5); }
    100% { fill: #DD2C00; }
}

.mc-popup-notification-icon.heart svg {
    fill: #DD2C00;
    animation: heartbeat 0.7s ease-in-out, heart-fill-popup 0.5s ease-in-out;
}

.mc-popup-notification-icon.heart svg path {
    stroke: #DD2C00;
}

.mc-popup-notification-icon.heart-empty svg {
    stroke: #FCFCFC;
    animation: heartbeat 1s ease-in-out;
}