/*
Theme Name: Hello Elementor Child Template 04
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-theme-child-template-04
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/



/*Allgemeines Styling*/

#select2-billing_state-results .select2-results__option[data-selected=true]{
    text-decoration: underline !important;
    color: transparent !important;
}

.elementor-button{
    cursor:pointer !important;
}

.produkt-informationen{
    p.price.price-unit.smaller.wc-gzd-additional-info > *{
        color: var(--e-global-color-secondary) !important;
    }
}

a:hover{
    text-decoration: underline !important;
}

.elementor-button:hover{
    text-decoration: none !important;
}

.add_to_cart_button:hover{
    text-decoration: none !important;
}

/*Template 3 Styling*/

/*Template 3 Footer Menu Styling*/

.template-3-menu{

    li.menu-item:hover{
        text-decoration: underline white !important;
    }

    li.menu-item .elementor-item-active{
        text-decoration: underline white !important;

    }

}

/* Template 3 Product Grid Styling */

.template-3-product-grid {

    .woocommerce span.onsale{
        height: fit-content !important;
        width: fit-content !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
        padding-top: 20px !important;
        padding-bottom: 20px !important;
        font-size: 24px !important;
    }

    .price{
        margin-top: .5em !important;
        margin-bottom: 0 !important;
    }

    .price > ins {
        text-decoration: none !important;
    }

    a:hover{
        text-decoration: none !important;
    }

    ul.products.elementor-grid li.product.type-product {
        display: flex;
        flex-direction: column;
        justify-content: space-between !important;
    }

    /*.woocommerce-loop-product__link{
        margin-bottom: auto !important;
        background-color: aqua !important;
    }*/

    .button{
        width: fit-content !important;
    }

    &.elementor-widget-wc-archive-products .products {
        grid-template-columns: repeat(1, 1fr);
    }

    .woof_reset_button_2{
        font-family: var(--e-global-typography-accent-font-family), Sans-serif !important;
        font-size: var(--e-global-typography-accent-font-size) !important;
        font-weight: var(--e-global-typography-accent-font-weight) !important;
        text-transform: var(--e-global-typography-accent-text-transform) !important;
        font-style: var(--e-global-typography-accent-font-style) !important;
        text-decoration: var(--e-global-typography-accent-text-decoration) !important;
        line-height: var(--e-global-typography-accent-line-height) !important;
        letter-spacing: var(--e-global-typography-accent-letter-spacing) !important;
        word-spacing: var(--e-global-typography-accent-word-spacing) !important;
        border-style: solid !important;
        border-width: 1px 1px 1px 1px !important;
        border-radius: 0px 0px 0px 0px !important;
        color: var(--e-global-color-text) !important;
        background-color: var(--e-global-color-05001e9) !important;
        border-color: var(--e-global-color-primary) !important;
        transition: all 0.2s !important;
    }

    .woof_reset_button_2:hover{
        background-color: var(--e-global-color-primary) !important;
        color: var(--e-global-color-05001e9) !important;
    }

    span.woof_remove_ppi{
        font-family: var(--e-global-typography-accent-font-family) !important;
        color: var(--e-global-color-text) !important;
        background-image: none !important;
    }

    .woocommerce-result-count{
        font-family: var(--e-global-typography-accent-font-family) !important;
        color: var(--e-global-color-text) !important;
    }

    .woocommerce-ordering{
        font-family: var(--e-global-typography-accent-font-family) !important;
        color: var(--e-global-color-text) !important;
        border-color: var(--e-global-color-primary) !important;
        .orderby{
            border-radius: 0px !important;
        }
    }

    .wc-gzd-rating-authenticity-status{
        display: none !important;
    }

    @media screen and (min-width: 520px){
        &.elementor-widget-wc-archive-products .products {
            grid-template-columns: repeat(2, 1fr);
        }
        .woocommerce-ordering{
            padding-bottom: 30px !important;
            float: right;
        }

        .woocommerce span.onsale{
            height: fit-content !important;
            width: fit-content !important;
            padding-left: 20px !important;
            padding-right: 20px !important;
            padding-top: 20px !important;
            padding-bottom: 20px !important;
            font-size: 24px !important;
        }
    }

    @media  only screen and (min-width: 767px) {

        .woocommerce-result-count{
            padding-bottom: 30px !important;
        }

        .woocommerce span.onsale{
            height: fit-content !important;
            width: fit-content !important;
            padding-left: 20px !important;
            padding-right: 20px !important;
            padding-top: 20px !important;
            padding-bottom: 20px !important;
            font-size: 24px !important;
        }

        &.elementor-widget-wc-archive-products .products {
            grid-template-columns: repeat(2, 1fr);
        }

        .woocommerce-ordering{
            padding-bottom: 30px !important;
            float: right !important;
        }
    }

    @media  only screen and (min-width: 1024px) {
        .woocommerce-result-count{
            padding-bottom: 20px !important;
        }

        .woocommerce-ordering{
            padding-bottom: 20px !important;
        }

        .onsale{
            padding-left: 20px !important;
            padding-right: 20px !important;
            padding-top: 10px !important;
            padding-bottom: 10px !important;
            font-size: 24px !important;
        }

        span.onsale{
            min-height: fit-content !important;
        }

        .woocommerce-ordering{
            padding-bottom: 30px !important;
            float: right;
        }

    }

}

/*Template 3 Filter Styling*/

.template-3-filter {

    .woof_redraw_zone{
        column-gap: 20px !important;
        display: flex !important;
        justify-content: flex-start !important;
    }

    .select2-selection__rendered{
        font-family: var(--e-global-typography-accent-font-family);
    }

    .select2-selection--single{
        border-radius: 0px !important;
        border-color: var(--e-global-color-primary) !important;
    }

    .woof_redraw_zone > *{
        font-family: var(--e-global-typography-accent-font-family) !important;
    }

    .woof_sid_auto_shortcode{
        border: none !important;
    }

    .woof_reset_search_form{
        font-family: var(--e-global-typography-accent-font-family), Sans-serif !important;
        font-size: var(--e-global-typography-accent-font-size) !important;
        font-weight: var(--e-global-typography-accent-font-weight) !important;
        text-transform: var(--e-global-typography-accent-text-transform) !important;
        font-style: var(--e-global-typography-accent-font-style) !important;
        text-decoration: var(--e-global-typography-accent-text-decoration) !important;
        line-height: var(--e-global-typography-accent-line-height) !important;
        letter-spacing: var(--e-global-typography-accent-letter-spacing) !important;
        word-spacing: var(--e-global-typography-accent-word-spacing) !important;
        border-style: solid !important;
        border-width: 1px 1px 1px 1px !important;
        border-radius: 0px 0px 0px 0px !important;
        color: var(--e-global-color-text) !important;
        background-color: var(--e-global-color-05001e9) !important;
        border-color: var(--e-global-color-primary) !important;
        transition: all 0.2s !important;
    }

    .woof_reset_search_form:hover{
        background-color: var(--e-global-color-primary) !important;
        color: var(--e-global-color-05001e9) !important;
    }

}

.template-3-cart{
    .checkout-button{
        width: fit-content !important;
        font-size: var(--e-global-typography-accent-font-size) !important;
    }
    td[data-title="Produkt"]{
        text-decoration: underline !important;
    }
    .coupon-col-start{
        width: fit-content !important;
    }
}

/* === CART – DESKTOP / BASE === */
.woocommerce-cart table.shop_table,
.woocommerce-cart table.shop_table_responsive {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.woocommerce-cart .cart,
.woocommerce-cart .woocommerce-cart-form {
  width: 100%;
  overflow-x: auto;
}

.woocommerce-cart table.shop_table th,
.woocommerce-cart table.shop_table td {
  white-space: nowrap;
}

/* Quantity input nicer */
.woocommerce-cart input[type="number"] {
  max-width: 80px;
}

/* === CART – MOBILE CARD LAYOUT === */
@media (max-width: 768px) {
  /* chowamy nagłówki tabeli */
  .woocommerce-cart table.shop_table thead {
    display: none;
  }

  .woocommerce-cart table.shop_table,
  .woocommerce-cart table.shop_table tbody,
  .woocommerce-cart table.shop_table tr,
  .woocommerce-cart table.shop_table td {
    display: block;
    width: 100%;
  }

  /* każdy produkt jako karta */
  .woocommerce-cart table.shop_table tr.cart_item {
    margin-bottom: 15px;
    border: 1px solid #e0e0e0;
    padding: 10px;
    border-radius: 4px;
    background: #fff;
  }

  .woocommerce-cart table.shop_table td {
    border: none;
    padding: 6px 0;
    text-align: right;
    position: relative;
  }

  /* label z data-title, WooCommerce domyślnie je dodaje w mobile */
  .woocommerce-cart table.shop_table td::before {
    content: attr(data-title);
    position: absolute;
    left: 0;
    text-align: left;
    font-weight: 600;
  }

  /* usuń label przy ikonie usuwania */
  .woocommerce-cart table.shop_table td.product-remove::before {
    content: '';
  }

  /* nazwa produktu pełna szerokość */
  .woocommerce-cart table.shop_table td.product-name {
    font-weight: 600;
    text-align: left;
    padding-top: 2px;
  }

  .woocommerce-cart table.shop_table td.product-name::before {
    content: '';
  }

  /* ilość + cena trochę ciaśniej */
  .woocommerce-cart table.shop_table {
    font-size: 14px;
  }

  .woocommerce-cart input[type="number"] {
    max-width: 70px;
  }

  /* podsumowanie koszyka – pełna szerokość pod kartami */
  .cart-collaterals,
  .cart_totals {
    width: 100%;
    float: none;
    margin-top: 20px;
  }
}


/*.template-3-checkout{

    .woocommerce-info{
        padding: 20px !important;
    }

    #order_payment_heading{
        font-family: var(--e-global-typography-accent-font-family) !important;
        text-transform: uppercase !important;
        font-size: var(--e-global-typography-accent-font-size) !important;
        font-weight: var(--e-global-typography-accent-font-weight) !important;
    }

    .woocommerce-checkout-payment{
        padding: 0px !important;
    }

    .woocommerce-gzd-legal-checkbox-text{
        font-family: var(--e-global-typography-accent-font-family) !important;
        font-size: 16px !important;
    }

    .e-con-inner > * {
        width: 100% !important;
        max-width: 100% !important;
    }

}*/

.template-3-checkout{
    h2#consumerMainTitle{
        font-family: var(--e-global-typography-accent-font-family), Sans-serif !important;
        font-size: 18px;
        font-weight: 400;
        text-transform: uppercase;
        font-style: normal;
        text-decoration: none;
        line-height: 1.5em;
        letter-spacing: 0px;
        word-spacing: 0em;
    }

    .checkout-container{
        background-color: aqua !important;
    }
}

/*Template 3 Product Single Page Styling*/

/*Template 3 Product Price Styling*/

.template-3-product-price{
    .stock{
        display: none !important;
    }

    table.variations > tbody > tr > *{
        background: none !important;
        box-shadow: none !important;
    }

    .label{
        padding: 0px !important;
    }

    .label > span{
        font-size: 16px !important;
    }

    .variable-items-wrapper{
        gap: 30px !important;
    }

    .variable-items-wrapper > li{
        border-radius: 0px !important;
        padding: 20px 10px 20px 10px !important;
    }

    .variable-items-wrapper > li.selected{
        color: var(--e-global-color-text) !important;
        box-shadow: 0px 0px 0px 2px var(--e-global-color-primary) !important;
    }
}

/*Template 3 Product Rating Widget Styling*/

.template-3-product-rating-widget{
    .wc-tabs{
        display: none !important;
    }

    .wc-tab{
        padding: 0px !important;
        margin: 0px !important;
        border: none !important;
    }

    .submit{
        font-family: var(--e-global-typography-accent-font-family), Sans-serif !important;
        font-size: var(--e-global-typography-accent-font-size) !important;
        font-weight: var(--e-global-typography-accent-font-weight) !important;
        text-transform: var(--e-global-typography-accent-text-transform) !important;
        font-style: var(--e-global-typography-accent-font-style) !important;
        text-decoration: var(--e-global-typography-accent-text-decoration) !important;
        line-height: var(--e-global-typography-accent-line-height) !important;
        letter-spacing: var(--e-global-typography-accent-letter-spacing) !important;
        word-spacing: var(--e-global-typography-accent-word-spacing) !important;
        border-style: solid !important;
        border-width: 1px 1px 1px 1px !important;
        border-radius: 0px 0px 0px 0px !important;
        color: var(--e-global-color-text) !important;
        background-color: var(--e-global-color-05001e9) !important;
        border-color: var(--e-global-color-primary) !important;
        transition: all 0.2s !important;
    }

    .submit:hover{
        background-color: var(--e-global-color-primary) !important;
        color: var(--e-global-color-05001e9) !important;
    }

    .commentlist{
        padding: 0px !important;
    }

    .comment_container > img{
        display: none !important;
    }

    div.comment-text{
        margin: 0px !important;
        border-color: var(--e-global-color-primary) !important;
        background-color: var( --e-global-color-101145a ) !important;
        border-radius: 0px !important;
    }

    .meta{
        color: var(--e-global-color-text) !important;
    }

    #comment{
        border-radius: 0px !important;
    }

    #commentform > div > p > span > a{
        color: var(--e-global-color-primary) !important;
    }

    .wc-gzd-additional-info > a{
        color: var(--e-global-color-text) !important;
    }
}

/*Template 3 Product Stock Styling*/

.template-3-stock{
    .stock{
        font-family: var(--e-global-typography-accent-font-family) !important;
        color: var(--e-global-color-text) !important;
    }
}






/* WooCommerce Cart Block - Clean Responsive Styles */
.wc-block-components-sidebar-layout {
    display: flex;
    gap: 2rem;
    padding: 2rem;
    max-width: 1200px;
    margin: 0 auto;
}

.wc-block-components-main { flex: 1; }
.wc-block-components-sidebar { flex-shrink: 0; width: 300px; }

.wc-block-cart-items {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.95rem;
}

.wc-block-cart-items__header th {
    background: #f8f8f8;
    padding: 1rem;
    text-align: left;
    font-weight: 600;
    border-bottom: 2px solid #eee;
}

.wc-block-cart-items__row { border-bottom: 1px solid #eee; }
.wc-block-cart-items__row td { padding: 1.25rem; vertical-align: top; }

.wc-block-cart-item__image img {
    max-width: 80px;
    height: auto;
    display: block;
}

.wc-block-cart-item__product { padding-left: 1rem; }
.wc-block-components-product-name {
    font-size: 1.1rem;
    font-weight: 600;
    color: #333;
    text-decoration: none;
    display: block;
    margin-bottom: 0.5rem;
}

.wc-block-cart-item__prices .price,
.wc-block-cart-item__total .price {
    font-size: 1.1rem;
    font-weight: 700;
    color: #000;
}

.wc-block-cart-item__quantity {
    margin-top: 1rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.wc-block-components-quantity-selector {
    display: flex;
    align-items: center;
    gap: 0;
}

.wc-block-components-quantity-selector__input {
    width: 60px;
    height: 40px;
    text-align: center;
    border: 1px solid #ddd;
    border-radius: 4px;
}

.wc-block-components-quantity-selector__button {
    width: 40px;
    height: 40px;
    border: 1px solid #ddd;
    background: white;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
}

.wc-block-cart-item__remove-link {
    background: none;
    border: none;
    color: #d63638;
    text-decoration: underline;
    cursor: pointer;
    font-size: 0.9rem;
    margin-left: 1rem;
}

.wc-block-cart-item__total { text-align: right; }

.wc-block-cart__sidebar {
    background: #f9f9f9;
    padding: 2rem;
    border-radius: 8px;
}

.wc-block-cart__totals-title {
    font-size: 1.3rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
    display: block;
}

.wc-block-components-totals-item {
    display: flex;
    justify-content: space-between;
    padding: 0.75rem 0;
    font-size: 1rem;
}

.wc-block-components-totals-item__label { font-weight: 600; }
.wc-block-components-totals-footer-item {
    border-top: 2px solid #333;
    padding-top: 1rem !important;
    font-size: 1.2rem;
}

.wc-block-cart__submit-button {
    display: block;
    width: 100%;
    padding: 1rem 2rem;
    background: #333;
    color: white;
    text-decoration: none;
    text-align: center;
    font-weight: 600;
    font-size: 1.1rem;
    border-radius: 4px;
    transition: background 0.2s;
}

.wc-block-cart__submit-button:hover { background: #555; }

/* Mobile Responsive */
@media (max-width: 768px) {
    .wc-block-components-sidebar-layout {
        flex-direction: column;
        padding: 1rem;
        gap: 1.5rem;
    }

    .wc-block-components-sidebar {
        width: 100%;
        order: -1;
    }

    .wc-block-cart-items { font-size: 0.9rem; }
    .wc-block-cart-items__header { display: none; }

    .wc-block-cart-items__row {
        display: block;
        border: 1px solid #eee;
        margin-bottom: 1rem;
        border-radius: 8px;
        overflow: hidden;
    }

    .wc-block-cart-items__row td {
        display: block;
        padding: 1rem;
        border-bottom: 1px solid #f0f0f0;
    }

    .wc-block-cart-items__row td:last-child {
        border-bottom: none;
        text-align: right;
        background: #f8f8f8;
    }

    .wc-block-cart-item__image {
        text-align: center;
        padding: 0.5rem;
    }

    .wc-block-cart-item__image img { max-width: 60px; }
    .wc-block-cart-item__product { padding: 0; }

    .wc-block-components-quantity-selector {
        justify-content: center;
        margin: 1rem 0;
    }

    .wc-block-components-quantity-selector__input { width: 50px; }

    @media (max-width: 480px) {
        .wc-block-cart-item__image { display: none; }
    }
}

.wc-block-cart__submit-container--sticky {
    position: sticky;
    bottom: 0;
    background: #f9f9f9;
    padding: 1rem;
    margin-top: 1rem;
}

.wc-block-cart__submit-button.contained {
    background: #333;
    color: #fff; /* Ensures white text on normal state too */
    transition: all 0.2s ease;
}

.wc-block-cart__submit-button.contained:hover {
    background: #1a1a1a;
    color: #fff !important; /* White text on hover */
}

.wc-block-cart__submit-button.contained:hover .wc-block-components-button__text {
    color: #fff !important;
}


.wc-block-cart__submit-button,
.single_add_to_cart_button{
    background-color: #3A1779;
    box-shadow: none!important;
}
.single_add_to_cart_button:focus,
.wc-block-cart__submit-button:focus{
    background-color: #3A1779;
    outline: 2px #201144;
}
.single_add_to_cart_button:hover,
.wc-block-cart__submit-button:hover{
    background-color: #201144;
}

.wc-block-cart__submit{
    padding: 15px 0;
}
.wc-block-cart__submit-container{
    padding: 4px!important;
    margin: auto;
    /* max-width: 95%; */

    .wc-block-cart__submit-button{
        background-color: #3A1779;
    }
    .wc-block-cart__submit-button:focus{
        background-color: #3A1779;
        outline: 2px #201144;
    }
    .wc-block-cart__submit-button:hover{
        background-color: #201144;
    }
}


.single_add_to_cart_button {
    outline: none !important;
}

.single_add_to_cart_button:focus,
.single_add_to_cart_button:focus-visible {
    outline: 2px dashed #201144 !important;
    outline-offset: 4px !important;
    border-radius: 4px !important;
}



.wc-block-cart__submit-container:focus-within {
    border: 2px dashed #201144 !important;
    padding: 4px;
}
.elementor-menu-cart__footer-buttons{
    grid: none;
    a{
        border-radius: 4px!important;
    }
    .elementor-button--checkout:hover{
        background-color: #201144;
    }
    .elementor-button--checkout:focus{
         outline: 3px dotted #8a2be2;
        outline-offset: 2px;
    }
}

.elementor-menu-cart__footer-buttons:before:focus{
 border: 2px dashed #201144;
}
.wp-block-woocommerce-cart-items-block table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link {
    font-size: 1em;
}
.elementor-menu-cart__product-remove{
    color: #333;
    border-color: #333;
}
.elementor-menu-cart__product-remove:after, .elementor-menu-cart__product-remove:before{
    background: #666;
}

.wc-block-grid__product{
    background: #fff;
}

/* ============================================================
   WooCommerce Cart Block - FORCE Mobile Card Layout (NUCLEAR)
   ============================================================ */

@media only screen and (max-width: 920px) {
    .content{
        padding-left: 1em;
        padding-right: 1em;
    }

    .wc-block-cart__submit{
        padding: 15px;
    }

    /* 1. FORCE THE MAIN LAYOUT TO STACK */
    /* We chain classes to create high specificity to override the block's grid defaults */
    .wc-block-cart .wc-block-components-sidebar-layout,
    .wp-block-woocommerce-filled-cart-block .wc-block-components-sidebar-layout {
        display: flex !important;
        flex-direction: column !important;
        grid-template-columns: 1fr !important; /* Kill the grid */
        width: 100% !important;
        box-sizing: border-box !important;
        gap: 30px !important;
        padding: 0 15px !important;

    }
    .wp-block-woocommerce-cart-order-summary-block,
    .wc-block-cart__submit-container{
        padding: 15px;
    }
    .wp-block-woocommerce-cart.alignwide{
        margin: 0 auto;
            .is-small.wc-block-components-sidebar-layout {
            margin: 0;
        }
    }
    .wc-block-cart-items.wp-block-woocommerce-cart-line-items-block{
        max-width: 100vw;
    }

    .wc-block-cart .wc-block-components-main,
    .wc-block-cart .wc-block-components-sidebar {
        width: 100% !important;
        max-width: 100% !important;
        flex: auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* 2. TRANSFORM THE TABLE INTO CARDS */
    /* Hide the table header */
    .wc-block-cart .wc-block-cart-items__header {
        display: none !important;
    }

    /* Force table elements to act like blocks/flex containers */
    .wc-block-cart table.wc-block-cart-items,
    .wc-block-cart tbody.wc-block-cart-items__body,
    .wc-block-cart tr.wc-block-cart-items__row,
    .wc-block-cart td {
        display: block !important;
        width: 100% !important;
        border: none !important;
    }

    /* Style the Row as a "Card" */
    .wc-block-cart tr.wc-block-cart-items__row {
        display: flex !important;
        flex-wrap: wrap !important;
        background: #fff;
        border: 1px solid #e0e0e0 !important;
        border-radius: 8px;
        margin-bottom: 20px !important;
        padding: 15px !important;
        position: relative;
        box-shadow: 0 4px 6px rgba(0,0,0,0.02);
    }

    /* 3. FIX THE IMAGE (Left side) */
    .wc-block-cart td.wc-block-cart-item__image {
        width: 80px !important;
        flex: 0 0 80px !important;
        margin-right: 15px !important;
        padding: 0 !important;
    }

    .wc-block-cart td.wc-block-cart-item__image img {
        width: 100% !important;
        height: auto !important;
        border-radius: 4px;
        aspect-ratio: 1 / 1;
        object-fit: cover;
    }

    /* 4. FIX THE PRODUCT DETAILS (Right side) */
    .wc-block-cart td.wc-block-cart-item__product {
        flex: 1 !important; /* Fill remaining space */
        padding: 0 !important;
        width: calc(100% - 95px) !important;
    }

    /* Product Name */
    .wc-block-cart .wc-block-components-product-name {
        font-size: 16px !important;
        line-height: 1.3 !important;
        margin-bottom: 5px !important;
        display: block !important;
    }

    /* Price under name */
    .wc-block-cart .wc-block-cart-item__prices {
        margin-bottom: 10px !important;
        font-weight: bold;
        color: #333;
    }

    /* 5. QUANTITY & REMOVE BUTTONS */
    .wc-block-cart .wc-block-cart-item__quantity {
        display: flex !important;
        flex-wrap: wrap;
        align-items: center !important;
        gap: 15px !important;
        margin-top: 10px !important;
        width: 100% !important;
    }

    /* Fix input size */
    .wc-block-components-quantity-selector__input {
        min-width: 40px !important;
        height: 40px !important;
        border: 1px solid #ccc !important;
    }

    /* Remove link style */
    .wc-block-cart-item__remove-link {
        font-size: 12px !important;
        text-decoration: underline !important;
        margin-left: auto !important; /* Push to right */
    }

    /* 6. TOTAL ROW (Bottom of card) */
    .wc-block-cart td.wc-block-cart-item__total {
        width: 100% !important;
        margin-top: 15px !important;
        padding-top: 15px !important;
        border-top: 1px dashed #ddd !important;
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
    }

    /* Add "Total" Label pseudo-element */
    .wc-block-cart td.wc-block-cart-item__total::before {
        content: "Zeilensumme:";
        font-weight: 600;
        font-size: 14px;
        color: #666;
    }

    .wc-block-cart td.wc-block-cart-item__total .price {
        font-size: 18px !important;
        font-weight: 800 !important;
        color: #111 !important;
    }

    /* 7. SIDEBAR & TOTALS (Bottom area) */
    .wc-block-cart__sidebar {
        background: #f7f7f7 !important;
        padding: 20px !important;
        border-radius: 8px !important;
    }

    /* Sticky Checkout Button - Unstick it if it causes issues, or fix it to bottom */
    .wc-block-cart__submit-container--sticky {
        position: fixed !important;
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        background: white !important;
        padding: 15px !important;
        border-top: 1px solid #ccc !important;
        z-index: 9999 !important;
        box-shadow: 0 -5px 15px rgba(0,0,0,0.1);
    }

    /* Ensure footer doesn't get hidden behind sticky button */
    .wc-block-cart {
        padding-bottom: 80px !important;
    }
}






/* 1. THE GRID LAYOUT (Fixes the squashed width) */
ul.wc-block-grid__products {
    display: grid;
    /* This creates responsive columns that never get too small */
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 30px; /* Space between cards */
    list-style: none !important;
    padding: 0 !important;
    margin: 30px 0 !important;
}

/* 2. THE CARD STYLE (The White Box Look) */
li.wc-block-grid__product {
    background-color: #ffffff;
    border-radius: 4px; /* Slight roundness like reference */
    box-shadow: 0 5px 15px rgba(0,0,0,0.08); /* The soft shadow */
    padding: 0 0 20px 0; /* Padding at bottom only */
    display: flex;
    flex-direction: column;
    position: relative; /* Essential for the sale badge */
    overflow: hidden; /* Keeps content inside rounded corners */
    transition: transform 0.2s ease;
}

li.wc-block-grid__product:hover {
    transform: translateY(-3px); /* Slight lift on hover */
}

/* 3. IMAGES */
.wc-block-grid__product-image {
    margin-bottom: 15px;
    background-color: #f9f9f9; /* Light grey bg behind image if transparent */
}

.wc-block-grid__product-image img {
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
}

/* 4. TITLE AND LINKS */
.wc-block-grid__product-link {
    text-decoration: none;
    color: inherit;
    display: block;
    padding: 0 20px; /* Side padding for text */
}

.wc-block-grid__product-title {
    font-size: 1.1rem;
    font-weight: 700; /* Bold title like reference */
    color: #111;
    margin-bottom: 10px;
    text-align: left; /* Align left like reference */
    line-height: 1.3;
}

/* 5. PRICE STYLING (Match the Red Sale Price) */
.wc-block-grid__product-price {
    padding: 0 20px;
    text-align: right; /* Align right like reference */
    font-size: 1.2rem;
    font-weight: bold;
    margin-bottom: 10px;
    color: #333;
}

/* Strikethrough for old price */
.wc-block-grid__product-price del {
    color: #999;
    opacity: 0.7;
    font-size: 0.8em;
    font-weight: normal;
    margin-right: 8px;
}

/* Red color for the new price */
.wc-block-grid__product-price ins {
    text-decoration: none;
    color: #c00; /* Dark Red */
}

/* 6. SALE BADGE (The "Angebot" Tag) */
.wc-block-grid__product-onsale {
    position: absolute;
    top: 20px;
    left: 0;
    background-color: #b90000!important;
    color: white!important;
    padding: 4px 12px!important;
    font-size: 12px!important;
    font-weight: bold!important;
    text-transform: uppercase;
    z-index: 5;
    box-shadow: 2px 2px 5px rgba(0,0,0,0.2);
}

/* 7. SHIPPING INFO (Make it small and subtle) */
.shipping-costs-info {
    font-size: 0.75rem;
    color: #999;
    padding: 0 20px;
    margin-bottom: 15px;
    text-align: right;
}

/* 8. BUTTON FIX (Fixes the vertical text issue) */
.wc-block-grid__product-add-to-cart {
    padding: 0 20px;
    margin-top: auto; /* Pushes button to bottom */
    width: 100%;
    box-sizing: border-box;
}

.wc-block-grid__product-add-to-cart a {
    display: block;
    width: 100%;
    text-align: center;
    background-color: #333;
    color: #fff;
    padding: 12px;
    border-radius: 4px;
    text-decoration: none;
    font-weight: 600;
    white-space: nowrap; /* PREVENTS the vertical text break */
}

.wc-block-grid__product-add-to-cart a:hover {
    background-color: #555;
}

.theme-twentytwenty .wc-block-grid.has-5-columns .wc-block-grid__product,
.wp-block-woocommerce-empty-cart-block .wc-block-grid.has-5-columns .wc-block-grid__product {
    max-width: 100%;}

.wc-block-grid__product-link {
    padding: 15px;}

.wc-block-grid__product .wc-block-grid__product-price{
        margin: 0!important;
}

div.wc-block-grid__product-onsale,
.wc-block-grid__product .wc-block-grid__product-onsale{
    margin 0 0 12px!important;
}

.wc-block-grid__product{

    border-left: none!important;
    border-right: none!important;


    .wc-block-grid__product-title {
    font-size: 18px;
    }

    .wc-block-grid__product-price ins{
        color: #9B0000;
    }
    .shipping-costs-info{
        display: none;
    }
    .wc-block-grid__product-link{
        position: relative!important;
    }
    .wc-block-grid__product-onsale,
    .wc-block-grid .wc-block-grid__product-onsale, .wc-block-grid__product-image .wc-block-grid__product-onsale{
        left: 0 !important;
        max-width: 80px;
        top: 60% !important;
        border: 0 !important;
        border-radius: 0 !important;
        text-transform: none !important;
        margin: 0 !important;
        font-size: 13px;
    }
}
