/*
Theme Name: Mastertheme
Theme URI: http://www.batstar.de/
Author: SIGN+DESIGN Werbeagentur
Author URI: https://www.signunddesign.com/
Description: Wozu lange um den „heißen Brei“ reden: Unser Ziel ist Ihr Erfolg! Denn nur erfolgreiche Kunden sind auf Dauer glückliche Kunden. Und um Sie glücklich zu machen, richten wir unsere Energie auf Ihren stimmigen Auftritt und die Entwicklung zielführender Kommunikationsmaßnahmen. Werbung darf bei uns Spaß machen und ist trotzdem niemals Selbstzweck. Was zählt ist Ihr Erfolg! Die Früchte unserer Bemühungen: treue, langjährige Kunden und zahlreiche Weiterempfehlungen – mit ein Grund dafür, dass viele unserer Kunden aus dem Bereich Immobilien stammen. Und hier liegt auch seit über 20 Jahren ein Schwerpunkt unserer Arbeit.
Version: 2.1
*/@charset "UTF-8";

/*Global Reset*/

body,html,h1,h2,h3,h4,h5,h6,p,ul,ol,li{padding:0;margin:0;}
body,html{overflow: unset!important;width:100%;-webkit-font-smoothing:antialiased;-webkit-overflow-scrolling:touch;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block;}

/* ########## Fonts ++ WICHTIG font-display: swap; ++ ########## */


/* ########## Variables ########## */

* {
    --font-family: "raleway", sans-serif;
    --transition: .45s ease;
    --wrp-width: 1240px;
    --font-size: 16px;
    --line-height: calc(var(--font-size) * 1.8);
    --box-shadow: 0px 5px 13px 0px rgba(0, 0, 0, 0.3);
    --border-radius: 15px;
    --primary-color: #D81E05;
    --secundary-color: #f2920d;
    --text-color: #111111;
    --grey-color: #F5F6F8;
}


/* ########## Shop ########## */

.theme-batstarshop main.withsidebar {margin-top:200px;}
.woocommerce-result-count {display:none!important}
.woocommerce .woocommerce-ordering, .woocommerce-page .woocommerce-ordering {
    float: left!important;
    display: block!important;
    margin: 20px 0!important;
}

/* Custom Select Styling */
.woocommerce-ordering select.orderby {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-color: #fff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23D81E05' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 15px center;
    background-size: 12px;
    border: 2px solid #e5e5e5;
    border-radius: 25px;
    padding: 12px 45px 12px 20px;
    font-family: var(--font-family);
    font-size: 14px;
    font-weight: 600;
    color: var(--text-color);
    cursor: pointer;
    min-width: 220px;
    transition: var(--transition);
    outline: none;
}
.woocommerce-ordering select.orderby:hover {
    border-color: var(--primary-color);
}
.woocommerce-ordering select.orderby:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 3px rgba(216, 30, 5, 0.15);
}
.woocommerce-ordering select.orderby option {
    padding: 10px;
    font-weight: 500;
}

/* ########## Product Summary - Modern UI ########## */

.summary.entry-summary {
    padding: 0;
}

/* Short Description */
.woocommerce-product-details__short-description {
    margin-bottom: 20px !important;
    padding-bottom: 20px;
    border-bottom: 1px solid #eee;
}
.woocommerce-product-details__short-description p {
    font-size: 15px;
    line-height: 1.7;
    color: #555;
    margin: 0;
}

/* Price Section */
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product p.price,
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price {
    color: var(--primary-color) !important;
    font-size: 32px !important;
    font-weight: 700;
    margin: 0 0 8px 0 !important;
    letter-spacing: -0.5px;
}
.woocommerce-Price-amount {
    font-size: inherit;
    font-weight: 700;
}
.price-note {
    margin: 0 0 15px 0 !important;
    font-size: 13px;
    color: #888;
}
.price-note a {
    color: var(--primary-color);
    text-decoration: underline;
}
.price-note a:hover {
    color: var(--text-color);
}

/* Delivery Time */
.summary .delivery-time-info {
    display: inline-flex !important;
    align-items: center;
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    padding: 10px 16px;
    border-radius: 8px;
    margin: 0 0 10px 0 !important;
    font-size: 14px;
    color: #333;
    border-left: 3px solid #28a745;
}
.summary .delivery-time-info::before {
    content: "✓";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    background: #28a745;
    color: #fff;
    border-radius: 50%;
    font-size: 11px;
    font-weight: bold;
    margin-right: 10px;
}
.summary .delivery-time-info .delivery-time-data {
    font-weight: 700;
    color: #28a745;
}

/* Product Meta */
.product .product_meta {
    margin: 0 0 25px 0 !important;
    padding: 20px;
    background: var(--grey-color);
    border-radius: 10px;
    font-size: 16px;
    line-height: 1.8;
}
.product .product_meta span {
    display: block;
    padding: 8px 0;
    border-bottom: 1px solid rgba(0,0,0,0.05);
}
.product .product_meta span:last-child {
    border-bottom: none;
    padding-bottom: 0;
}
.product .product_meta .sku_wrapper,
.product .product_meta .posted_in,
.product .product_meta .tagged_as {
    color: #666;
}
.product .product_meta .sku {
    font-weight: 700;
    color: var(--text-color);
    font-family: 'Courier New', monospace;
    background: #fff;
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 16px;
}
.product .product_meta a {
    color: var(--primary-color);
    font-weight: 600;
    font-size: 16px;
}
.product .product_meta a:hover {
    text-decoration: underline;
}

/* Quantity Input */
.woocommerce div.product form.cart {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 15px;
    padding-top: 20px;
    border-top: 1px solid #eee;
}
.woocommerce div.product form.cart div.quantity {
    float: none !important;
    margin: 0 !important;
    position: relative;
}

/* Variable Product Add to Cart */
.woocommerce div.product form.cart .single_variation_wrap {
    width: 100%;
}
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 15px;
}
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart .quantity {
    margin: 0 !important;
}
.woocommerce .quantity .qty {
    width: 80px;
    height: 50px;
    padding: 0 15px;
    box-sizing: border-box;
    border: 2px solid #e5e5e5;
    border-radius: 10px;
    font-size: 16px;
    font-weight: 600;
    text-align: center;
    font-family: var(--font-family);
    transition: var(--transition);
    -moz-appearance: textfield;
}
.woocommerce .quantity .qty::-webkit-outer-spin-button,
.woocommerce .quantity .qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.woocommerce .quantity .qty:focus {
    outline: none;
    border-color: var(--primary-color);
    box-shadow: 0 0 0 3px rgba(216, 30, 5, 0.15);
}

/* Add to Cart Button */
.woocommerce div.product form.cart .button {
    flex: 1;
    min-width: 200px;
    height: 50px;
    vertical-align: top;
    float: inherit !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: var(--primary-color) !important;
    color: #fff !important;
    border: none;
    border-radius: 10px !important;
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: pointer;
    transition: var(--transition);
    box-shadow: 0 4px 15px rgba(216, 30, 5, 0.3);
}
.woocommerce div.product form.cart .button:hover {
    background: #b31804 !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(216, 30, 5, 0.4);
}
.woocommerce div.product form.cart .button:active {
    transform: translateY(0);
}
.woocommerce div.product form.cart .button::before {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='white' viewBox='0 0 24 24'%3E%3Cpath d='M7 18c-1.1 0-1.99.9-1.99 2S5.9 22 7 22s2-.9 2-2-.9-2-2-2zM1 2v2h2l3.6 7.59-1.35 2.45c-.16.28-.25.61-.25.96 0 1.1.9 2 2 2h12v-2H7.42c-.14 0-.25-.11-.25-.25l.03-.12.9-1.63h7.45c.75 0 1.41-.41 1.75-1.03l3.58-6.49c.08-.14.12-.31.12-.48 0-.55-.45-1-1-1H5.21l-.94-2H1zm16 16c-1.1 0-1.99.9-1.99 2s.89 2 1.99 2 2-.9 2-2-.9-2-2-2z'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
}

/* Product Variations Table */
.woocommerce div.product form.cart .variations {
    width: 100%;
    margin-bottom: 20px;
    border-collapse: collapse;
}
.woocommerce div.product form.cart .variations tr {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 15px;
    margin-bottom: 15px;
}
.woocommerce div.product form.cart .variations tr:last-child {
    margin-bottom: 0;
}
.woocommerce div.product form.cart .variations th.label {
    display: block;
    width: 100%;
    text-align: left;
    padding: 0 0 8px 0;
    font-size: 14px;
    font-weight: 700;
    color: var(--text-color);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.woocommerce div.product form.cart .variations th.label label {
    font-weight: inherit;
}
.woocommerce div.product form.cart .variations td.value {
    display: flex;
    align-items: center;
    gap: 15px;
    width: 100%;
    padding: 0;
}
.woocommerce div.product form.cart .variations select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    flex: 1;
    min-width: 200px;
    max-width: 300px;
    background-color: #fff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23D81E05' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 15px center;
    background-size: 12px;
    border: 2px solid #e5e5e5;
    border-radius: 10px;
    padding: 12px 45px 12px 18px;
    font-family: var(--font-family);
    font-size: 15px;
    font-weight: 600;
    color: var(--text-color);
    cursor: pointer;
    transition: var(--transition);
    outline: none;
}
.woocommerce div.product form.cart .variations select:hover {
    border-color: var(--primary-color);
}
.woocommerce div.product form.cart .variations select:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 3px rgba(216, 30, 5, 0.15);
}
.woocommerce div.product form.cart .variations .reset_variations {
    display: inline-flex;
    align-items: center;
    padding: 8px 15px;
    background: transparent;
    color: #888;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    border: 1px solid #ddd;
    border-radius: 20px;
    transition: var(--transition);
}
.woocommerce div.product form.cart .variations .reset_variations:hover {
    color: var(--primary-color);
    border-color: var(--primary-color);
}

/* Hide duplicate elements */
.product p.wc-gzd-additional-info {
    margin: 0;
}
.legal-price-info {
    display: none !important;
}

/* Product Summary Responsive */
@media (max-width: 768px) {
    .woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product p.price,
    .woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price {
        font-size: 28px !important;
    }
    .summary .delivery-time-info {
        width: 100%;
        box-sizing: border-box;
    }
    .product .product_meta {
        padding: 15px;
    }
    .woocommerce div.product form.cart {
        flex-direction: column;
        align-items: stretch;
    }
    .woocommerce div.product form.cart div.quantity {
        width: 100%;
    }
    .woocommerce .quantity .qty {
        width: 100%;
    }
    .woocommerce div.product form.cart .button {
        width: 100%;
        min-width: unset;
    }
}

/* ########## Product Tabs ########## */

.woocommerce div.product .woocommerce-tabs {
    clear: both;
    margin-top: 50px;
}

/* Tab Navigation */
.woocommerce div.product .woocommerce-tabs ul.tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 0 !important;
    margin: 0 0 30px 0 !important;
    list-style: none;
    border-bottom: 2px solid #eee;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after {
    display: none !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    position: relative;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
    display: none !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    display: block;
    padding: 15px 25px;
    font-size: 14px;
    font-weight: 600;
    color: #666;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    background: transparent;
    border: none;
    transition: var(--transition);
    position: relative;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
    color: var(--primary-color);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: var(--primary-color);
    background: transparent;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a::after {
    content: "";
    position: absolute;
    bottom: -2px;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--primary-color);
    border-radius: 3px 3px 0 0;
}

/* Tab Content Panels */
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel,
.woocommerce div.product .woocommerce-tabs .panel,
.woocommerce div.product .woocommerce-tabs #tab-product_safety,
.woocommerce div.product .woocommerce-tabs [id^="tab-"] {
    padding: 20px;
    background: var(--grey-color) !important;
    border-radius: var(--border-radius);
}
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel h2,
.woocommerce div.product .woocommerce-tabs .panel h2,
.woocommerce div.product .woocommerce-tabs [id^="tab-"] h2 {
    font-size: 24px;
    font-weight: 700;
    color: var(--text-color);
    margin: 0 0 25px 0;
    padding-bottom: 20px;
    border-bottom: 2px solid rgba(0,0,0,0.08);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.woocommerce div.product .woocommerce-tabs .panel {
    padding: 20px!important;
}
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel h3,
.woocommerce div.product .woocommerce-tabs .panel h3,
.woocommerce div.product .woocommerce-tabs [id^="tab-"] h3 {
    font-size: 18px;
    font-weight: 700;
    color: var(--text-color);
    margin: 30px 0 15px 0;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel h3:first-of-type {
    margin-top: 0;
}
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel p,
.woocommerce div.product .woocommerce-tabs .panel p,
.woocommerce div.product .woocommerce-tabs [id^="tab-"] p {
    color: #555;
    line-height: 1.8;
    font-size: 15px;
}

/* Attributes Table in Tabs */
.woocommerce-product-attributes {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
}
.woocommerce-product-attributes tr {
    border-bottom: 1px solid #eee;
}
.woocommerce-product-attributes tr:last-child {
    border-bottom: none;
}
.woocommerce-product-attributes th {
    width: 40%;
    padding: 18px 25px;
    font-size: 15px;
    font-weight: 700;
    color: #555;
    text-align: left;
    background: #fafafa;
    vertical-align: top;
}
.woocommerce-product-attributes td {
    padding: 18px 25px;
    font-size: 15px;
    color: var(--text-color);
    vertical-align: top;
}
.woocommerce-product-attributes td p {
    margin: 0;
    font-size: 15px;
}

/* Manufacturer Info in Safety Tab */
.wc-gzd-manufacturer-address {
    background: #fff;
    padding: 25px;
    border-radius: 10px;
    line-height: 1.8;
    font-size: 15px;
}

/* Hide empty placeholders in safety tab */
.wc-gzd-additional-info-placeholder[aria-hidden="true"] {
    display: none;
}

/* Responsive Tabs - Tablet */
@media (max-width: 1024px) {
    .woocommerce div.product .woocommerce-tabs {
        margin-top: 30px;
    }
    .woocommerce div.product .woocommerce-tabs ul.tabs {
        gap: 5px;
        margin-bottom: 20px !important;
    }
    .woocommerce div.product .woocommerce-tabs ul.tabs li a {
        padding: 12px 18px;
        font-size: 13px;
    }
}

/* Responsive Tabs - Mobile Accordion */
@media (max-width: 768px) {
    .woocommerce div.product .woocommerce-tabs {
        margin-top: 25px;
        margin-bottom: 50px;
    }

    /* Tab-Liste ausblenden im Accordion-Modus */
    .woocommerce div.product .woocommerce-tabs.accordion-mode ul.tabs {
        display: none !important;
    }

    /* Accordion Header */
    .accordion-tab-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 18px 24px;
        background: #f5f5f5;
        border-radius: 10px;
        margin-bottom: 8px;
        cursor: pointer;
        transition: var(--transition);
    }
    .accordion-tab-header:hover {
        background: #eee;
    }
    .accordion-tab-header.active {
        background: var(--primary-color);
        border-radius: 10px 10px 0 0;
        margin-bottom: 0;
    }
    .accordion-tab-title {
        font-size: 15px;
        font-weight: 600;
        color: var(--text-color);
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }
    .accordion-tab-header.active .accordion-tab-title {
        color: #fff;
    }

    /* Accordion Icon */
    .accordion-tab-icon {
        width: 10px;
        height: 10px;
        border-right: 2px solid #999;
        border-bottom: 2px solid #999;
        transform: rotate(45deg);
        transition: var(--transition);
        flex-shrink: 0;
    }
    .accordion-tab-header.active .accordion-tab-icon {
        border-color: #fff;
        transform: rotate(-135deg);
    }

    /* Panels im Accordion-Modus */
    .woocommerce div.product .woocommerce-tabs.accordion-mode .woocommerce-Tabs-panel,
    .woocommerce div.product .woocommerce-tabs.accordion-mode .panel,
    .woocommerce div.product .woocommerce-tabs.accordion-mode [id^="tab-"] {
        padding: 25px;
        margin-top: 0;
        border-radius: 0 0 10px 10px;
        margin-bottom: 8px;
    }

    /* Panels H2 ausblenden (redundant mit Accordion Header) */
    .woocommerce div.product .woocommerce-tabs.accordion-mode .woocommerce-Tabs-panel > h2:first-child,
    .woocommerce div.product .woocommerce-tabs.accordion-mode .panel > h2:first-child {
        display: none;
    }

    .woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel p,
    .woocommerce div.product .woocommerce-tabs .panel p,
    .woocommerce div.product .woocommerce-tabs [id^="tab-"] p {
        font-size: 15px;
        line-height: 1.7;
    }

    /* Product Attributes Table Mobile */
    .woocommerce-product-attributes {
        margin: 0;
    }
    .woocommerce-product-attributes tr {
        display: flex;
        flex-direction: column;
        border-bottom: 1px solid #e5e5e5;
        padding: 12px 0;
    }
    .woocommerce-product-attributes tr:last-child {
        border-bottom: none;
    }
    .woocommerce-product-attributes th,
    .woocommerce-product-attributes td {
        display: block;
        width: 100%;
        padding: 0;
        text-align: left;
        background: transparent !important;
    }
    .woocommerce-product-attributes th {
        font-size: 13px;
        font-weight: 700;
        color: #666;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        margin-bottom: 6px;
    }
    .woocommerce-product-attributes td {
        font-size: 15px;
        color: var(--text-color);
    }
    .woocommerce-product-attributes td p {
        font-size: 15px;
        margin: 0;
    }
}

/* Responsive Tabs - Small Mobile */
@media (max-width: 480px) {
    .accordion-tab-header {
        padding: 16px 20px;
    }
    .accordion-tab-title {
        font-size: 14px;
    }
    .woocommerce div.product .woocommerce-tabs.accordion-mode .woocommerce-Tabs-panel,
    .woocommerce div.product .woocommerce-tabs.accordion-mode .panel,
    .woocommerce div.product .woocommerce-tabs.accordion-mode [id^="tab-"] {
        padding: 20px;
    }
    .woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel p,
    .woocommerce div.product .woocommerce-tabs .panel p,
    .woocommerce div.product .woocommerce-tabs [id^="tab-"] p {
        font-size: 14px;
    }
}
/* ########## Product Grid with Subgrid ########## */

.woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    /* 4 Reihen pro Produkt-Zeile: Bild, Titel, Preis, Button */
    grid-template-rows: repeat(auto-fill, auto 1fr auto auto);
    column-gap: 30px;
    row-gap: 0;
    padding: 0 !important;
    margin: 30px 0 !important;
    list-style: none;
}
.woocommerce ul.products.columns-4 {
    grid-template-columns: repeat(3, 1fr);
}
.woocommerce ul.products.columns-2 {
    grid-template-columns: repeat(2, 1fr);
}

/* With Sidebar: max 2 columns */
.withsidebar .woocommerce ul.products,
.withsidebar .woocommerce ul.products.columns-3,
.withsidebar .woocommerce ul.products.columns-4 {
    grid-template-columns: repeat(2, 1fr) !important;
}

/* Remove legacy float clearing */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce ul.products li.product::before,
.woocommerce ul.products li.product::after {
    display: none !important;
    content: none !important;
}

/* Product Card - Subgrid für Ausrichtung */
.woocommerce ul.products li.product {
    display: grid !important;
    grid-template-rows: subgrid;
    grid-row: span 4;
    grid-template-columns: 1fr;
    margin: 0 0 30px 0 !important;
    padding: 20px !important;
    width: 100% !important;
    float: none !important;
    clear: none !important;
    background: #fff;
    border: 1px solid #eee;
    border-radius: var(--border-radius);
    overflow: visible;
    transition: var(--transition);
    box-sizing: border-box;
    position: relative;
    list-style: none;
}
.woocommerce ul.products li.product:hover {
    border-color: var(--primary-color);
    box-shadow: 0 8px 25px rgba(216, 30, 5, 0.15);
}

/* Product Link Container - Subgrid */
.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link,
.woocommerce ul.products li.product > a.woocommerce-loop-product__link {
    display: grid !important;
    grid-template-rows: subgrid;
    grid-row: span 3;
    gap: 0;
    text-decoration: none;
}

/* Product Image - Uniform Display */
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product a picture {
    width: 100% !important;
    aspect-ratio: 1 / 1;
    height: auto !important;
    object-fit: contain;
    object-position: center;
    border: 1px solid #eee !important;
    padding: 15px !important;
    box-sizing: border-box !important;
    background: #fff;
    border-radius: 10px !important;
    margin-bottom: 15px;
    flex-shrink: 0;
}
.woocommerce ul.products li.product a picture img {
    aspect-ratio: 1 / 1;
    height: auto !important;
    width: 100% !important;
    border: none !important;
    padding: 0 !important;
    background: transparent;
    margin-bottom: 0;
    border-radius: 0 !important;
    object-fit: contain;
    object-position: center;
}

/* Product Title */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    padding: 10px 0;
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    color: var(--text-color);
    align-self: start;
}

/* Product Price */
.woocommerce ul.products li.product .price {
    display: block !important;
    padding: 20px 0;
    font-weight: 700 !important;
    font-size: 20px !important;
    color: var(--primary-color) !important;
    margin: 0 !important;
    align-self: end;
}
.woocommerce ul.products li.product .price .woocommerce-Price-amount {
    color: var(--primary-color) !important;
    font-size: inherit;
}
.woocommerce ul.products li.product .price del {
    color: #999 !important;
    font-size: 14px;
    margin-right: 8px;
}
.woocommerce ul.products li.product .price ins {
    text-decoration: none;
    color: var(--primary-color) !important;
}

/* Hide shipping info in loop */
.woocommerce ul.products li.product .wc-gzd-additional-info {
    display: none !important;
    grid-row: span 0;
}

/* Product Buttons - Secondary/Outline Style */
.woocommerce ul.products li.product > a.button,
.woocommerce ul.products li.product > .button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 15px 0 0 0 !important;
    padding: 12px 20px;
    background: transparent !important;
    color: var(--text-color) !important;
    border: 2px solid #ddd !important;
    border-radius: 25px !important;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: pointer;
    transition: var(--transition);
    text-decoration: none;
    flex-shrink: 0;
    box-shadow: 0 4px 15px rgba(216, 30, 5, 0.3);
}
.woocommerce ul.products li.product > a.button:hover,
.woocommerce ul.products li.product > .button:hover {
    background: var(--text-color) !important;
    color: #fff !important;
    border-color: var(--text-color) !important;
}
.woocommerce ul.products li.product > a.button.add_to_cart_button::before {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23111111' viewBox='0 0 24 24'%3E%3Cpath d='M7 18c-1.1 0-1.99.9-1.99 2S5.9 22 7 22s2-.9 2-2-.9-2-2-2zM1 2v2h2l3.6 7.59-1.35 2.45c-.16.28-.25.61-.25.96 0 1.1.9 2 2 2h12v-2H7.42c-.14 0-.25-.11-.25-.25l.03-.12.9-1.63h7.45c.75 0 1.41-.41 1.75-1.03l3.58-6.49c.08-.14.12-.31.12-.48 0-.55-.45-1-1-1H5.21l-.94-2H1zm16 16c-1.1 0-1.99.9-1.99 2s.89 2 1.99 2 2-.9 2-2-.9-2-2-2z'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    transition: var(--transition);
}
.woocommerce ul.products li.product > a.button.add_to_cart_button:hover::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='white' viewBox='0 0 24 24'%3E%3Cpath d='M7 18c-1.1 0-1.99.9-1.99 2S5.9 22 7 22s2-.9 2-2-.9-2-2-2zM1 2v2h2l3.6 7.59-1.35 2.45c-.16.28-.25.61-.25.96 0 1.1.9 2 2 2h12v-2H7.42c-.14 0-.25-.11-.25-.25l.03-.12.9-1.63h7.45c.75 0 1.41-.41 1.75-1.03l3.58-6.49c.08-.14.12-.31.12-.48 0-.55-.45-1-1-1H5.21l-.94-2H1zm16 16c-1.1 0-1.99.9-1.99 2s.89 2 1.99 2 2-.9 2-2-.9-2-2-2z'/%3E%3C/svg%3E");
}

/* Added to cart link */
.woocommerce a.added_to_cart {
    display: block;
    text-align: center;
    padding: 8px 15px;
    color: var(--primary-color) !important;
    font-size: 12px;
    font-weight: 600;
}

/* "Zum Produkt" Button - Primary/Prominent */
.woocommerce ul.products li.product > a.btn-view-product {
    display: block;
    width: auto !important;
    margin: 0 !important;
    padding: 14px 20px !important;
    background:#fff !important;
    color: var(--text-color) !important;
    border: 1px solid  var(--primary-color) !important;
    border-radius: 25px !important;
    font-size: 14px !important;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: var(--transition);
    box-shadow: none !important;
    align-self: end;
    box-sizing: border-box !important;
}
.woocommerce ul.products li.product > a.btn-view-product:hover {
    background: #fff !important;
    color: var(--primary-color) !important;
    border: 1px solid  var(--primary-color) !important;
}
.woocommerce ul.products li.product:hover a.btn-view-product {
    color: var(--primary-color) !important;
}

/* Sale Badge */
.woocommerce ul.products li.product .onsale {
    position: absolute;
    top: 25px;
    left: 25px;
    background: var(--primary-color);
    color: #fff;
    padding: 5px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    z-index: 2;
}

/* Responsive Grid */
@media (max-width: 900px) {
    .woocommerce ul.products,
    .woocommerce ul.products.columns-4,
    .woocommerce ul.products.columns-3 {
        grid-template-columns: repeat(2, 1fr) !important;
        column-gap: 20px;
    }
}
@media (max-width: 768px) {
    .woocommerce ul.products li.product {
        padding: 12px !important;
        margin-bottom: 20px !important;
    }
    .woocommerce ul.products li.product a img,
    .woocommerce ul.products li.product a picture {
        aspect-ratio: 1 / 1;
        height: auto !important;
    }
    .woocommerce ul.products li.product .woocommerce-loop-product__title {
        font-size: 13px;
    }
    .woocommerce ul.products li.product .price {
        font-size: 18px !important;
    }
    .woocommerce ul.products li.product > a.button,
    .woocommerce ul.products li.product > .button {
        padding: 10px 15px;
        font-size: 11px;
    }
    .woocommerce ul.products li.product > a.btn-view-product {
        padding: 10px 15px !important;
        font-size: 11px !important;
    }
}
@media (max-width: 500px) {
    .woocommerce ul.products,
    .woocommerce ul.products.columns-4,
    .woocommerce ul.products.columns-3,
    .woocommerce ul.products.columns-2 {
        grid-template-columns: 1fr !important;
    }
    .woocommerce ul.products li.product {
        margin-bottom: 15px !important;
    }
    .woocommerce ul.products li.product a img,
    .woocommerce ul.products li.product a picture {
        aspect-ratio: 1 / 1;
        height: auto !important;
    }
}

/* ########## Related Products - 3 Columns on Product Detail ########## */
.single-product .related.products ul.products,
.single-product .upsells.products ul.products {
    grid-template-columns: repeat(3, 1fr) !important;
}
@media (max-width: 900px) {
    .single-product .related.products ul.products,
    .single-product .upsells.products ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}
@media (max-width: 500px) {
    .single-product .related.products ul.products,
    .single-product .upsells.products ul.products {
        grid-template-columns: 1fr !important;
    }
}

.woocommerce div.product form.cart .button {border-radius:20px!important;}
.button.wc-backward {border-radius:20px!important;}
.wp-singular main:first-of-type {margin-top:240px;}

.legal-price-info {display:none!important;}

.single-product .sidebar {display:none;}

.single-product main.withsidebar .page-build {
    display:block;
    grid-template-columns: inherit;
    align-items: flex-start;
    justify-content: space-between;
    max-width: var(--wrp-width);
    margin: 0 auto;
    box-sizing: border-box;
}
.price-note {margin:0;font-size:14px;}
.woocommerce div.product div.images .flex-control-thumbs {margin:20px 0 0 0!important;}
/* SVGs in der Stromversorgungsbox ausblenden */
.wc-gzd-power-supply svg {
    display: none !important;
}
.wc-gzd-power-supply { display: none !important;}

/* Germanized: Lieferzeit nur einmal anzeigen (in Loops ausblenden) */
.wc-gzd-additional-info-loop,
.summary .wc-gzd-additional-info-loop,
.summary .delivery-time-info.wc-gzd-additional-info-loop,
p.wc-gzd-additional-info.wc-gzd-additional-info-loop {
    display: none !important;
}

/* ########## Product Video Tab ########## */

.product-video-wrapper {
    margin: 20px 0;
}
.product-video-container {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 Aspect Ratio */
    height: 0;
    overflow: hidden;
    max-width: 100%;
    background: #000;
    border-radius: var(--border-radius);
}
.product-video-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}
.woocommerce-Tabs-panel--video h2 {
    margin-bottom: 20px;
}

/* Video Tab Button Styling */
.woocommerce div.product .woocommerce-tabs ul.tabs li.video_tab a {
    position: relative;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.video_tab a::before {
    content: "▶";
    margin-right: 5px;
    font-size: 12px;
}

/* ########## Globals ########## */

html {scroll-behavior: smooth;}
body {font-size: var(--font-size); font-family: var(--font-family); line-height: var(--line-height); color: var(--text-color);}
img {-ms-interpolation-mode:bicubic; vertical-align: bottom;}
svg {width: 100%; height: 100%;}
hr {border:none;height:1px;background:#ddd; margin:0;}

.wrp {max-width: var(--wrp-width); width: 90%; margin: 0 auto; position:relative; box-sizing:border-box;}

/* Margins */

.mb {margin-bottom: 100px;}
.mb50 {margin-bottom: 50px;}

@media (max-width: 500px) {
    .mb {margin-bottom: 50px;}
    .mb50 {margin-bottom: 25px;}
}

/* Page Build */

main.withsidebar .page-build {display: grid; grid-template-columns: 70% 25%; align-items: flex-start; justify-content: space-between; max-width: var(--wrp-width); width: 90%; margin: 0 auto;}
main.withsidebar .content .wrp {width: 100%;}

@media (max-width: 1024px) {
    main.withsidebar .page-build {grid-template-columns: 100%;}
    main.withsidebar .page-build .sidebar {display: none;}
}

/* Typo Styles */

h1{font-size:32px;line-height:42px;font-weight:700;color:var(--text-color);margin:0 0 20px 0;text-transform:uppercase}
.text h2{font-size:32px;line-height:42px;font-weight:700;color:var(--text-color);margin:0 0 20px 0;text-transform:uppercase}
.teasercard-content h3{font-size:24px;line-height:34px;font-weight:700;color:var(--text-color);margin:0 0 20px 0;text-transform:uppercase}
h2{margin:0;}
.wp-singular h2{margin:0 0 15px 0;}
h3{margin:0;}

.woocommerce span.onsale {padding:10px!important;background-color: var(--primary-color)!important}
.woocommerce .products ul, .woocommerce ul.products {margin-top:30px!important;}

a {text-decoration: none; outline:none !important; color: var(--text-color); transition: var(--transition);}
a:hover {color: var(--primary-color); transition: var(--transition);}

.btn {padding: 12px 16px; background: var(--primary-color); display: inline-block;}

p {margin-bottom: var(--line-height);}
p:last-child {margin-bottom: 0;}
address {font-style: normal; color: var(--text-color);}
address a {display: block;}
ol, ul {margin-bottom: var(--line-height);}
li {margin-left: 20px;}

.top .con {display: grid;grid-template-columns: 1fr 1fr;}
.topnav {list-style-type: none;margin:0;justify-self: end;}
.topnav li{font-size:14px;list-style-type: none;margin:0 0 0 5px;display:inline-block;}
.topnav li a{font-size:14px;}

/* ########## Mainnav ########## */

#mainnav ul.mainnav.smart {display:none;}
#mainnav {display: block; transform: translate(0);}
#mainnav ul.mainnav.desktop li {list-style-type: none; font-size: 20px; margin-left: 40px;}
#mainnav ul.mainnav.desktop li:first-child {margin-left:0;}
#mainnav ul.mainnav.desktop li a{display:block; color: var(--text-color); transition: var(--transition); padding: 10px 0;}
#mainnav ul.mainnav.desktop li a:hover, #mainnav ul > li.current-menu-item > a{color: var(--primary-color); transition: var(--transition);}

/* Submenu */

@media (min-width: 1025px){

    #mainnav ul.mainnav.desktop {display: flex; align-items: center; margin: 0;}
    html.scrolled #mainnav ul.mainnav li a {padding: 5px 0; transition: var(--transition);}

    #mainnav ul.mainnav li.menu-item-has-children {position: relative;}
    #mainnav ul.mainnav li.menu-item-has-children ul.sub-menu {position: absolute; top: 45px; left: 0; display: block; height: auto; max-height: 0; overflow: hidden;}
    #mainnav ul.mainnav li.menu-item-has-children ul.sub-menu li {width:200px; height: 100%; padding: 8px 0 8px 7px; transition: 0.8s ease; background: #f5f5f5; margin: 0;}
    #mainnav ul.mainnav li.menu-item-has-children:hover > ul.sub-menu {max-height: 674px; padding: 0; overflow: visible; margin-top: -6px;}

    #mainnav ul.mainnav li.menu-item-has-children ul.sub-menu li:hover {background: var(--primary-color);}
    #mainnav ul.mainnav li.menu-item-has-children ul.sub-menu li:hover a {color: #fff;}
    #mainnav ul.mainnav li.menu-item-has-children ul.sub-menu li a {padding: 3px;}
    #mainnav ul.mainnav li.menu-item-has-children ul.sub-menu li:last-child {margin-bottom: 0;}

    /* Zweite Ebene */

    #mainnav ul.mainnav li.menu-item-has-children ul.sub-menu li.menu-item-has-children ul.sub-menu {position: absolute; left: 100%; top: 6px; overflow: hidden;}
    #mainnav ul.mainnav li.menu-item-has-children ul.sub-menu li.menu-item-has-children:hover ul.sub-menu {overflow: visible;}
    #mainnav ul.mainnav li.menu-item-has-children ul.sub-menu li.menu-item-has-children ul.sub-menu li {background: #f5f5f5;}
    #mainnav ul.mainnav li.menu-item-has-children ul.sub-menu li.menu-item-has-children ul.sub-menu li a {color: var(--text-color);}
    #mainnav ul.mainnav li.menu-item-has-children ul.sub-menu li.menu-item-has-children ul.sub-menu li:hover a {color: var(--primary-color);}

    /* Desktop ausblenden */

    #mainnav .head,
    #mainnav address.contact,
    #mainnav ul.mainnav li.back {display: none;}
}

@media (max-width: 1024px) {

    .mainnav.desktop {display: none;}

    /* Offcanvas */

    #mainnav ul.mainnav.smart {display:block;}
    #mainnav {position: fixed; top: 0; right: 0; bottom: 0; background: #fff; width: 100%; max-width: 500px; transform: translateX(100%); transition: var(--transition); box-shadow: var(--box-shadow); z-index: 2;}
    #mainnav.active {transform: translateX(0); transition: var(--transition);}
    #mainnav .head {display: grid;grid-template-columns: auto auto 55px; align-items: center; padding: 20px; box-sizing: border-box; box-shadow: 0 0 10px rgba(0,0,0,0.1);}
    #mainnav .head p {margin: 0; font-size: 25px; color: var(--text-color);}
    #mainnav .head .buttons {display: flex; justify-content: center;justify-self: end;}

    #mainnav .head .buttons a {width: 50px; height: 50px; border-radius: 2px; background: #f5f5f5; margin-left: 5px; display: flex; align-items: center; justify-content: space-around; }
    #mainnav .head .buttons a:first-child {margin-left: 0;}
    #mainnav .head .buttons a svg {width: 25px; height: 25px;}
    #mainnav .head .buttons a svg g path {stroke: #a4a4a4;}

    /* Submenu */

    #mainnav ul.mainnav.smart {display: block;}
    #mainnav ul.mainnav li {padding: 0; box-sizing: border-box; margin: 0; background: #efefef; border-bottom: 1px solid #dedede; list-style-type: none;}
    #mainnav ul.mainnav li a {font-size: var(--font-size); padding: 10px 45px 10px 5%; display: block;}

    #mainnav .opensubnav {cursor: pointer; width: 49px; height: 49px; position: absolute; right: 0; background: #fff; display: block; z-index: 100; box-sizing: border-box;}
    #mainnav .opensubnav.active {background: var(--secundary-color);}
    #mainnav .opensubnav:after  {content: ''; transform: rotate(-45deg) translate(-50%, -50%); border: solid var(--secundary-color); border-width: 0 2px 2px 0; display: inline-block; padding: 3px; left: 50%; top:42%; position: absolute; transition: var(--transition);}
    #mainnav .opensubnav.active:after  {content: ''; transform: rotate(45deg); -webkit-transform: rotate(45deg);  border: solid #fff; border-width: 0 2px 2px 0; left: 19px; top:18px; transition: var(--transition);}

    #mainnav address.contact {padding: 5%; box-sizing: border-box; display: block;}

    /* Offcanvas Sub Layer 1 */

    #mainnav li.menu-item-has-children ul.sub-menu {display: none; transition: var(--transition); margin-bottom: 0;}
    #mainnav li.menu-item-has-children.active ul.sub-menu {display: block;}
    #mainnav li.menu-item-has-children.active ul.sub-menu li a {background: #fff; padding-left: 10%;}
    #mainnav li.menu-item-has-children.active ul.sub-menu li ul.sub-menu li a {padding-left: 15%;}

    /* Offcanvas Sub Layer 2 */

    #mainnav li.menu-item-has-children ul.sub-menu li.menu-item-has-children .opensubnav {background: #f5f5f5;}
    #mainnav li.menu-item-has-children.active ul.sub-menu li.menu-item-has-children ul.sub-menu {display: none; transition: var(--transition);}
    #mainnav li.menu-item-has-children.active ul.sub-menu li.menu-item-has-children.active ul.sub-menu {display: block; transition: var(--transition);}

    #mainnav ul.offcanvas-menu li.back a:before {display: none;}

    /* Mainnav Toggle */

    .mainnav-toggle {border-radius: 2px; display: block!important; position: relative; z-index: 10;width: 50px;height: 50px;background: var(--primary-color);box-shadow:none; transition: var(--transition);}
    .mainnav-toggle.off {border-radius: 2px; display: block!important; position: absolute; z-index: 10; top: 50%; right: 0;transform: translateY(-50%);width: 40px;height: 40px;background: var(--primary-color);box-shadow: 1px 2px 10px 0px rgba(0,0,0,0.3); transition: var(--transition);}
    .mainnav-toggle.off.active {display:none!important}
    .mainnav-toggle .btn-mainnav-toggle {position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);width: 25px;cursor: pointer;}
    .mainnav-toggle .btn-mainnav-toggle span {display: block;width: 100%;box-shadow: 0 2px 10px 0 rgba(0,0,0,0.3);border-radius: 4px;height: 2px;background: #fff;transition: all .3s;position: relative;}
    .mainnav-toggle .btn-mainnav-toggle span + span {margin-top: 7px;}
    .mainnav-toggle .btn-mainnav-toggle.active span + span {margin-top: 13px;}
    .mainnav-toggle .btn-mainnav-toggle.active span:nth-child(1) {animation: ease .7s top forwards;}
    .mainnav-toggle .btn-mainnav-toggle.not-active span:nth-child(1) {animation: ease .7s top-2 forwards;}
    .mainnav-toggle .btn-mainnav-toggle.active span:nth-child(2) {animation: ease .7s scaled forwards;}
    .mainnav-toggle .btn-mainnav-toggle.not-active span:nth-child(2) {animation: ease .7s scaled-2 forwards;}
    .mainnav-toggle .btn-mainnav-toggle.active span:nth-child(3) {animation: ease .7s bottom forwards;}
    .mainnav-toggle .btn-mainnav-toggle.not-active span:nth-child(3) {animation: ease .7s bottom-2 forwards;}

    @keyframes top { 0% {top: 0; transform: rotate(0);} 50% {top: 15px;transform: rotate(0);} 100% {top: 15px;transform: rotate(45deg);} }
    @keyframes top-2 { 0% {top: 15px;transform: rotate(45deg);} 50% {top: 15px;transform: rotate(0deg);} 100% {top: 0;transform: rotate(0deg);} }
    @keyframes bottom { 0% {bottom: 0;transform: rotate(0);} 50% {bottom: 15px;transform: rotate(0);} 100% {bottom: 15px;transform: rotate(135deg);} }
    @keyframes bottom-2 { 0% {bottom: 15px;transform: rotate(135deg);} 50% {bottom: 15px;transform: rotate(0);} 100% {bottom: 0;transform: rotate(0);} }
    @keyframes scaled { 50% {transform: scale(0);} 100% {transform: scale(0);} }
    @keyframes scaled-2 { 0% {transform: scale(0);} 50% {transform: scale(0);} 100% {transform: scale(1);} }

    #mainnav-overlay {position: fixed; top: 0; right: 0; left: 0; bottom: 0; background: rgba(0,0,0,0.2); backdrop-filter: blur(7px); opacity: 0; z-index: -5; transition: var(--transition); visibility: hidden;}
    #mainnav-overlay.active {opacity: 1; z-index: 1; visibility: visible; transition: var(--transition);}
}

/* ########## Header ########## */

header .top {background:var(--grey-color);padding:4px 0;font-size:14px;font-weight:700;}
header .top a{font-weight:700;}
header .top .wrp {display:grid;grid-template-columns: 60% auto;align-items: center;}
header .top .wrp .con{justify-self: end;}
header .top .wrp .language{display:inline-block;vertical-align:middle;}

header {position: fixed; top: 0; width: 100%; z-index: 888; padding:0; box-sizing: border-box; background: #fff; box-shadow:none;border-bottom: 1px solid #E7E7E7;transition: var(--transition);}
.scrolled header {box-shadow: var(--box-shadow);transition: var(--transition);}
header .header-grid {display: grid; grid-template-columns: 285px auto 80px; grid-template-rows: auto; justify-items: start; align-items: center; gap:20px;padding:20px 0;transition: var(--transition);}
.scrolled header .header-grid {display: grid; grid-template-columns: 225px auto 80px;padding:10px 0;transition: var(--transition);}
header .header-grid .logo {width: 100%;}
header .header-grid .logo a {display: flex; align-items: center;}
header .header-grid .mainnav-toggle {display: none;justify-self: end;}
header .navigation {border-top: 1px solid #E7E7E7;}


/* Header Icons (Warenkorb & Konto) */
.warenkorb {
    display: inline-flex;
    align-items: center;
    justify-self: end;
    align-self: center;
    margin-left: 20px;
}
.suche {
    justify-self: end;
    align-self: center;
    margin-right: 10px;
}
.warenkorb ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    align-items: center;
    gap: 8px;
}
.warenkorb ul li {
    position: relative;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
}
.warenkorb ul li a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    background: var(--primary-color);
    border-radius: 50%;
    transition: var(--transition);
}
.warenkorb ul li a:hover {
    background: #b31804;
    transform: scale(1.05);
}
.warenkorb ul li .icon-wrp {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
}
.warenkorb ul li svg {
    width: 18px !important;
    height: 18px !important;
    display: block;
}
.warenkorb ul li svg path {
    stroke: #fff !important;
}
/* Cart Count Badge */
.warenkorb ul li .count {
    position: absolute;
    top: -5px;
    right: -5px;
    display: none;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    background: var(--text-color);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    border-radius: 10px;
    line-height: 1;
}
.warenkorb ul li .count.show {
    display: flex;
}
/* Google Translate Styling */
#google_language_translator {
    display: inline-flex;
    align-items: center;
}
#google_language_translator .goog-te-gadget {
    font-family: var(--font-family) !important;
    font-size: 0 !important;
    display: flex;
    align-items: center;
}
#google_language_translator .goog-te-gadget > span {
    display: none !important;
}
#google_language_translator .goog-te-combo {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-color: #fff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23D81E05' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 15px center;
    background-size: 12px;
    border: 2px solid #e5e5e5;
    border-radius: 25px;
    padding: 10px 45px 10px 18px;
    font-family: var(--font-family) !important;
    font-size: 13px !important;
    font-weight: 600;
    color: var(--text-color);
    cursor: pointer;
    min-width: 160px!important;
    transition: var(--transition);
    outline: none;
}
#google_language_translator .goog-te-combo:hover {
    border-color: var(--primary-color);
}
#google_language_translator .goog-te-combo:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 3px rgba(216, 30, 5, 0.15);
}
/* Global goog-te-combo Styling (Fallback) */
select.goog-te-combo,
.goog-te-combo {
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    background-color: #fff !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23D81E05' d='M6 8L1 3h10z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 15px center !important;
    background-size: 12px !important;
    border: 2px solid #e5e5e5 !important;
    border-radius: 25px !important;
    padding: 10px 45px 10px 18px !important;
    font-family: var(--font-family) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--text-color) !important;
    cursor: pointer !important;
    min-width: 140px !important;
    transition: var(--transition) !important;
    outline: none !important;
}
select.goog-te-combo:hover,
.goog-te-combo:hover {
    border-color: var(--primary-color) !important;
}
select.goog-te-combo:focus,
.goog-te-combo:focus {
    border-color: var(--primary-color) !important;
    box-shadow: 0 0 0 3px rgba(216, 30, 5, 0.15) !important;
}

/* Hide Google branding */
.goog-te-gadget .goog-te-gadget-simple,
.goog-te-gadget > span,
.goog-te-gadget a.VIpgJd-ZVi9od-l4eHX-hSRGPd {
    display: none !important;
}
/* Hide Google banner at top */
.skiptranslate.goog-te-banner-frame,
body > .skiptranslate {
    display: none !important;
}
body {
    top: 0 !important;
}

.is-ajax-search-result {top:125px!important;}
div.is-ajax-search-details, div.is-ajax-search-result {position:fixed!important;box-shadow: 0 0 10px rgba(0,0,0, 0.2)}
.is-form-style.is-form-style-3 input.is-search-input {
    border-right: 0 !important;
    width: 100%;
    min-width: 400px;
}
.is-search-icon {width: 36px;padding-top: 0 !important;}
.is-form-style input.is-search-input {height:40px!important}
.is-form-style button.is-search-submit {height:40px!important}

/* Kopfbereich Startseite / Unterseite  */

.stage {aspect-ratio: 3/1; width: 100%; min-height: 400px; position: relative; margin-top: 118px;}
.stage .wrp {position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); z-index: 2;}
.stage img {width: 100%; height: 100%; object-fit: cover; object-position: center;}

.stage.subpage {aspect-ratio: 3/.7; width: 100%; position: relative;max-height:0;min-height:0;}
.woocommerce-account .stage.subpage {aspect-ratio: inherit; width: 100%; position: relative;max-height:0;min-height:0}

/* My Account Layout */
.woocommerce-account .woocommerce {
    display: grid !important;
    grid-template-columns: 280px 1fr;
    gap: 100px;
    align-items: flex-start;
}
.woocommerce-account .woocommerce::before,
.woocommerce-account .woocommerce::after {
    display: none !important;
    content: none !important;
}
.woocommerce-MyAccount-navigation,
.woocommerce-MyAccount-content {
    float: none !important;
    width: 100% !important;
}
@media (max-width: 900px) {
    .woocommerce-account .woocommerce {
        grid-template-columns: 1fr;
        gap: 20px;
    }
}

/* My Account Navigation */
.woocommerce-MyAccount-navigation {
    background: var(--grey-color);
    padding: 20px;
    border-radius: var(--border-radius);
    margin-bottom: 0;
    position: sticky;
    top: 150px;
}
.woocommerce-MyAccount-navigation ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.woocommerce-MyAccount-navigation-link {
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
}
.woocommerce-MyAccount-navigation-link:last-child {
    margin-bottom: 0 !important;
}
.woocommerce-MyAccount-navigation-link a {
    display: block;
    padding: 14px 18px;
    background: #fff;
    border-radius: 10px;
    text-decoration: none;
    color: var(--text-color);
    font-size: 14px;
    font-weight: 600;
    transition: var(--transition);
    border: 1px solid transparent;
}
.woocommerce-MyAccount-navigation-link a:hover {
    border-color: var(--primary-color);
    color: var(--primary-color);
}
.woocommerce-MyAccount-navigation-link.is-active a {
    background: var(--primary-color);
    color: #fff;
    border-color: var(--primary-color);
}
/* Logout Link - Special Style */
.woocommerce-MyAccount-navigation-link--customer-logout a {
    background: transparent;
    color: #888;
    font-weight: 500;
}
.woocommerce-MyAccount-navigation-link--customer-logout a:hover {
    background: #fff;
    color: var(--primary-color);
}
.single-product .stage.subpage {aspect-ratio: inherit; width: 100%; position: relative;max-height:0;min-height:0}
.woocommerce-cart .stage.subpage {aspect-ratio: inherit; width: 100%; position: relative;max-height:0;min-height:0}
.woocommerce-checkout .stage.subpage {aspect-ratio: inherit; width: 100%; position: relative;max-height:0;min-height:0}

.woocommerce-cart-form .actions .button {
    background: var(--primary-color) !important;
    color: #fff !important;
    border-radius: 25px !important;
    padding: 14px 30px !important;
    font-weight: 600;
    transition: var(--transition);
}
.woocommerce-cart-form .actions .button:hover {
    background: #b31804 !important;
    color: #fff !important;
}
.cart_totals .wc-proceed-to-checkout a.checkout-button {
    background: var(--primary-color) !important;
    color: #fff !important;
    border-radius: 25px !important;
    padding: 16px 30px !important;
    font-weight: 700;
    transition: var(--transition);
}
.cart_totals .wc-proceed-to-checkout a.checkout-button:hover {
    background: #b31804 !important;
    color: #fff !important;
}

/* Cart Collaterals Layout */
.woocommerce-cart .cart-collaterals {
    display: flex;
    flex-direction: column;
    width: 100%;
}
.woocommerce-cart .cart-collaterals .cart_totals {
    order: 1;
    width: 100%;
    max-width: 450px;
    margin-left: 0;
    margin-right: auto;
    float: none !important;
    background: var(--grey-color);
    padding: 30px;
    border-radius: var(--border-radius);
}
.woocommerce-cart .cart-collaterals .cart_totals h2 {
    font-size: 20px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 2px solid #ddd;
}
.woocommerce-cart .cart-collaterals .cross-sells {
    order: 2;
    width: 100%;
    clear: both;
    margin-top: 50px;
    float: none !important;
}
.woocommerce-cart .cart-collaterals .cross-sells > h2 {
    font-size: 24px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 25px;
}
.woocommerce-cart .cart-collaterals .cross-sells ul.products {
    justify-content: flex-start;
}

/* Coupon Code Input */
.woocommerce-cart .coupon {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: stretch;
}
.woocommerce-cart .coupon #coupon_code {
    flex: 1;
    min-width: 200px;
    padding: 14px 20px;
    border: 2px solid #e5e5e5;
    border-radius: 25px;
    font-family: var(--font-family);
    font-size: 14px;
    font-weight: 500;
    color: var(--text-color);
    outline: none;
    transition: var(--transition);
    box-sizing: border-box;
}
.woocommerce-cart .coupon #coupon_code:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 3px rgba(216, 30, 5, 0.15);
}
.woocommerce-cart .coupon #coupon_code::placeholder {
    color: #999;
    font-weight: 400;
}
.woocommerce-cart .coupon .button {
    padding: 14px 30px !important;
    border-radius: 25px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    white-space: nowrap;
}

#add_payment_method table.cart img, .woocommerce-cart table.cart img, .woocommerce-checkout table.cart img {
    width: 150px!important;
    box-shadow: none;
}



/* Checkout Buttons */
woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit.alt,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button.alt,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button.alt,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button.alt {
    background: var(--primary-color) !important;
    color: #fff !important;
    border-radius: 25px !important;
    padding: 14px 30px !important;
    font-weight: 600;
    transition: var(--transition);
}

woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt:hover,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt:hover,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt:hover,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt:hover,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit.alt:hover,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button.alt:hover,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button.alt:hover,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button.alt:hover {
    background: #b31804 !important;
    color: #fff !important;
}

/* Step Buttons */
.step-buttons-payment .prev-step-button,
.step-buttons-order .prev-step-button,
.step-buttons .next-step-button,
.step-buttons button,
.woocommerce-checkout .button {
    background: var(--primary-color) !important;
    color: #fff !important;
    border-radius: 25px !important;
    padding: 14px 30px !important;
    font-weight: 600;
    transition: var(--transition);
}
.step-buttons-payment .prev-step-button:hover,
.step-buttons-order .prev-step-button:hover,
.step-buttons .next-step-button:hover,
.step-buttons button:hover,
.woocommerce-checkout .button:hover {
    background: #b31804 !important;
    color: #fff !important;
}

.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea {
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    outline: 0;
    line-height: normal;
    padding: 10px;
}
.woocommerce form .form-row textarea{
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    outline: 0;
    line-height: normal;
    padding: 10px;
    min-height:100px
}
.woocommerce form .form-row select, .woocommerce-page form .form-row select {padding:10px;}



#add_payment_method #payment, .woocommerce-cart #payment, .woocommerce-checkout #payment {
    background: #f2f2f2!important;
    border-radius: 5px;
}
.woocommerce-checkout #payment div.payment_box {background:var(--primary-color)!important;color:#fff!important}
#add_payment_method #payment div.payment_box::before, .woocommerce-cart #payment div.payment_box::before, .woocommerce-checkout #payment div.payment_box::before {
    content: "";
    display: block;
    border: 1em solid var(--primary-color)!important;
    border-right-color: transparent!important;
    border-left-color: transparent!important;
    border-top-color: transparent!important;
    position: absolute;
    top: -.75em;
    left: 0;
    margin: -1em 0 0 2em;
}

.woocommerce form .form-row.woocommerce-validated .select2-container, .woocommerce form .form-row.woocommerce-validated input.input-text, .woocommerce form .form-row.woocommerce-validated select {
    /* border-color: #6dc22e; */
    border: 2px solid darkgreen!important;
}


.woocommerce-error {
    border-top-color: var(--primary-color)!important;
    background-color: #F5F6F8!important;
    color: #111!important;
}
.woocommerce-error, .woocommerce-info, .woocommerce-message {
    border-top-color: var(--primary-color)!important;
    background-color: #F5F6F8!important;
    color: #111!important;
}
.woocommerce-info::before {color: #111!important;}
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button {
    font-size: 100%;
    margin: 0;
    line-height: 1;
    cursor: pointer;
    position: relative;
    text-decoration: none;
    overflow: visible;
    padding: .618em 1em;
    font-weight: 700;
    border-radius: 3px;
    left: auto;
    color: #fff!important;
    background-color: var(--primary-color)!important;
    border: 0;
    display: inline-block;
    background-image: none;
    box-shadow: none;
    text-shadow: none;
}

.home main {margin-top:220px}

.block .wrp {display:grid;grid-template-columns: 70% auto;gap:30px;}
.block .wrp .box-1{background:var(--grey-color);padding:40px;box-sizing: border-box}
.block .wrp .box-1 .text{max-width:400px;}
.block .wrp .box-1 h2 {font-size:32px;line-height:42px;font-weight:700;color:var(--primary-color);margin:20px 0 20px 0;text-transform:uppercase}
.block .wrp .box-1 p{font-size:18px;font-weight:500}
.block .wrp .box-1 img{width:100%; height:auto;}
.block .wrp .box-1 .linkbutton a{display:inline-block;margin:40px 0 0 0;padding:8px 30px;box-sizing: border-box;background: var(--primary-color);color:#fff;font-size:16px;font-weight:600;border-radius:20px;}
.block .wrp .box-2 {position: relative;margin-bottom:20px}
.block .wrp .box-2 .linktext {font-size:22px;font-weight:700;position: absolute;width:100%;color:#fff;background:rgba(216,30,5, 0.9);padding:10px;bottom:20px;left:0;text-align:center;box-sizing: border-box}
.block .wrp .box-2 .link{position: absolute;width:100%;height:100%;left:0;top:0;}
.block .wrp .box-2 img{width:100%; height:auto;}
.block .wrp .box-3 {position: relative;}
.block .wrp .box-3 .linktext {font-size:22px;font-weight:700;position: absolute;width:100%;color:#fff;background:rgba(216,30,5, 0.9);padding:10px;bottom:20px;left:0;text-align:center;box-sizing: border-box}
.block .wrp .box-3 .link{position: absolute;width:100%;height:100%;left:0;top:0;}
.block .wrp .box-3 img{width:100%; height:auto;}

/* ########## Content ########## */

.stoerer {background:var(--grey-color);padding:50px 0}
.stoerer .stoerer-content {display:grid;grid-template-columns: 55% auto;align-items: center;}
.stoerer .stoerer-content .button {justify-self: end;}
.stoerer .stoerer-content .button a{display:inline-block;margin:0 0 0 10px;padding:8px 30px;box-sizing: border-box;background: var(--primary-color);color:#fff;font-size:16px;font-weight:700;border-radius:20px;}
.stoerer .stoerer-content .text {font-size:18px;color:var(--text-color)}
.stoerer .stoerer-content .text p{font-size:32px;line-height:40px;font-weight:700;margin:0;text-transform:uppercase}

/* Text */

.text.multiple-col .wrp {-webkit-columns: 2 350px; -moz-columns: 2 350px; columns: 2 350px; -webkit-column-gap: 4em; -moz-column-gap: 4em; column-gap: 4em;}
.text.align-center {text-align: center;}

/* Text Bild */

.textbild .wrp {display: grid; align-items: center; justify-content: space-between; box-sizing: border-box; background: #fff;}
.textbild .text {border-radius: 5px 0 0 5px; box-sizing: border-box;}
.textbild .bild {width: 100%; height: 100%;}
.textbild .bild img {width: 100%; height: 100%; object-fit: cover;}

@media (max-width: 768px) {
    .textbild .text {order: 1!important;}
    .textbild .bild {order: 2!important;}
    .textbild .wrp {grid-template-columns: 100%!important; gap: 50px;}
}

/* Teasercards */

.teasercards .cards.no-carousel {display: grid; grid-column-gap: 50px; grid-row-gap: 50px; margin: 0;}
.teasercards .cards.no-carousel li {list-style-type: none; margin: 0;}
.teasercards .splide ul.cards {display: flex; grid-column-gap: unset;}

.teasercard-item .img-wrp {width: 100%; aspect-ratio: 2/1.5; display: block;}
.teasercard-item .img-wrp img {width: 100%; height: 100%; object-fit: cover;}

.teasercard-item .teasercard-content {display: block;}
.teasercard-item .teasercard-content .btn {
    color: #fff;
    margin: 10px 0;
    display: inline-block;
    border-radius: 20px;
    padding: 10px 30px;
}
.teasercard-item .img-wrp {display:none;}
.splide__arrow--next {right:-5%!important}
.splide__arrow--prev {left:-5%!important}

@media (max-width: 1024px) {
    .teasercards .cards.no-carousel {grid-template-columns: repeat(2, 1fr)!important;}
    .suche {display:none}
}

@media (max-width: 500px) {
    .teasercards .cards.no-carousel {grid-template-columns: 100% !important;}
}

/* Image */

.image img {display:block; width:100%; height:auto;}

.bildtrenner {width:100%; aspect-ratio: 3/1; overflow: hidden; position: relative;}
.bildtrenner img {width:100%; height: 100%; object-fit: cover; object-position: center;}
.bildtrenner .wrp {position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); z-index: 2;}

/* Galerie */

.gallery .fresco-gallery:not(.masonry) {display: grid; gap: 50px; margin-bottom: 0;}
.gallery .fresco-gallery li {list-style-type: none; margin: 0 0 25px 0; border-radius: 5px;overflow: hidden;}
.gallery .fresco-gallery:not(.masonry) li {margin: 0 0 50px 0;}
.gallery .fresco-gallery li a {position: relative; display: block; overflow: hidden;}
.gallery .fresco-gallery li a .overlay {width: 100%; position: absolute; height: 100%; top: 0; left: 0; right: 0; bottom: 0; background: var(--secundary-color); opacity: 0; transition: var(--transition);}
.gallery .fresco-gallery li a:hover .overlay {opacity: 0.6; transition: var(--transition);}
.gallery .fresco-gallery li a .overlay .icon-wrp {position: absolute; top: 50%; left: 50%; width: 45px; height: 45px; transform: translate(-50%, -50%);}
.gallery .fresco-gallery li a .overlay .icon-wrp svg {width: 100%; height: 100%; transform: scale(0); transition: var(--transition);}
.gallery .fresco-gallery li a .overlay .icon-wrp svg path {fill: #fff;}
.gallery .fresco-gallery li a:hover .overlay .icon-wrp svg { transform: scale(1); transition: var(--transition);}
.gallery .fresco-gallery li img {width: 100%;}
.gallery .fresco-gallery.masonry {gap: 25px; columns: 4; margin: 0 auto;}

.gallery .video-gallery-grid {display: grid; grid-column-gap: 50px; grid-row-gap: 50px;}
.gallery .video-gallery-grid .video-gallery-item {height: 220px; width: 100%; display: block; position: relative; overflow: hidden;}
.gallery .video-gallery-grid .video-gallery-item .overlay {width: 100%; position: absolute; height: 100%; top: 0; left: 0; right: 0; bottom: 0; background: var(--secundary-color); opacity: 0; transition: var(--transition); z-index: 4;}
.gallery .video-gallery-grid .video-gallery-item:hover .overlay {opacity: 0.6; transition: var(--transition);}
.gallery .video-gallery-grid .video-gallery-item .overlay .icon-wrp {position: absolute; top: 50%; left: 50%; width: 45px; height: 45px; transform: translate(-50%, -50%);}
.gallery .video-gallery-grid .video-gallery-item .overlay .icon-wrp svg {width: 100%; height: 100%; transform: scale(0); transition: var(--transition);}
.gallery .video-gallery-grid .video-gallery-item .overlay .icon-wrp svg path {fill: #fff!important;}
.gallery .video-gallery-grid .video-gallery-item:hover .overlay .icon-wrp svg { transform: scale(1); transition: var(--transition);}
.gallery .video-gallery-grid .video-gallery-item img {height: 100%; width: 100%; object-fit: cover; object-position: center; transform: scale(1.2);}

@media (max-width: 1024px) {
    .gallery .fresco-gallery {grid-template-columns: repeat(4, 1fr)!important;}
    .gallery .video-gallery-grid {grid-template-columns: repeat(2, 1fr)!important;}
    .gallery .filterrow {display: grid; grid-template-columns: 100%; gap: 25px;}
    .gallery .filterrow #filter {flex-wrap: wrap;}
}

@media (max-width: 550px) {
    .gallery .video-gallery-grid {grid-template-columns: 100%!important;}
    .gallery .fresco-gallery {grid-template-columns: repeat(2, 1fr)!important;}
}

/* oEmbed */

.embed .respo-video{position: relative;height: 0;overflow: hidden;}
.embed .respo-video iframe {position: absolute; top: 0; left: 0; width: 100%;	height: 100%;}
.embed .respo-video ._brlbs-cb-youtube {margin-bottom: -56.25%;}

/* Accordion */

.accordion .item-accordion-head {cursor: pointer; position: relative; background: var(--grey-color); margin-bottom:10px; padding:10px 25px 10px 10px; border:1px solid #f2f2f2;}
.accordion .active .item-accordion-head {background-color:#f8f8f8}
.accordion .item-accordion-btn {width: 26px; height: 26px;float: right; margin: 0; cursor: pointer; position: absolute; right: 15px; top: 50%; transform: translateY(-50%);}
.accordion .item-accordion-btn:before {content: '-'; color: #555; position: absolute; width: 26px; height: 26px; text-align: center; line-height: 22px; font-size: 40px;font-weight:600;}
.accordion .item-accordion {margin-bottom: 5px; }
.accordion .item-accordion.hidden .item-accordion-btn:before {content: '+'; line-height: 26px;}
.accordion .item-accordion.active .item-accordion-btn:before {content: '-'; line-height: 22px; }
.accordion .item-accordion.hidden.active .item-accordion-btn:before {content: '-'; line-height: 22px;}
.accordion .item-accordion.hidden .item-accordion-content {display: none;padding:20px 20px;background:#f8f8f8;margin-bottom:10px;}
.accordion .item-accordion.hidden .item-accordion-content:after {display:block;width: 0;height: 0;border-right: 100px solid #037CA9;border-top: 50px solid transparent;border-bottom: 50px solid transparent;}


.accordion .wrp.grid {display:grid;grid-template-columns: 1fr 1fr;gap:20px;}
.accordion .wrp.grid  .item-accordion {margin-bottom: 0 }
.accordion .wrp.grid  .item-accordion .item-accordion-head {font-size:18px;font-weight:500;text-transform:uppercase;margin-bottom:0;padding: 25px 20px 25px 20px;}
.accordion .wrp.grid  .item-accordion .item-accordion-head .icon{height:50px;width:55px;}
.accordion .wrp.grid  .item-accordion .item-accordion-head .txt{margin-left:20px}
.accordion .wrp.grid  .item-accordion .item-accordion-head .acc-grid {display:grid;grid-template-columns: 50px auto;align-items: center;}
/* ########## Blog + Sidebar ########## */

main.withsidebar .content .blog-grid {display: grid; grid-template-columns: repeat(3, 1fr); grid-column-gap: 50px; grid-row-gap: 50px;}
main.withsidebar .content .blog-grid .post {width: 100%;}
main.withsidebar .content .blog-grid .post img {width: 100%; height: auto; object-fit: cover;}

article.singlepost .post-image {}
article.singlepost .post-image img {width: 100%; height: auto; object-fit: cover;}

/* Sidebar */

main.withsidebar .sidebar {width: 100%; position: -webkit-sticky; position: sticky; top: 150px; background: var(--grey-color); padding: 25px; box-sizing: border-box; border-radius: var(--border-radius);}

/* ===== Sidebar Hinweis Button ===== */
.sidebar-hinweis {
    margin-bottom: 20px;
    margin-top: 20px;
}
.sidebar-hinweis .btn-hinweis-open {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 14px 20px;
    background: var(--primary-color);
    color: #fff;
    border: none;
    border-radius: 25px;
    font-family: var(--font-family);
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: var(--transition);
}
.sidebar-hinweis .btn-hinweis-open svg {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
}
.sidebar-hinweis .btn-hinweis-open:hover {
    background: #b31804;
    transform: scale(1.02);
}
/* Kategorie-Seiten: etwas mehr Abstand nach oben */
.sidebar-hinweis.category-hinweis {
    margin-top: 25px;
}

/* ===== Product Page Hinweis Button (via WooCommerce Hook) ===== */
.product-hinweis-box {
    margin: 0 0 20px 0;
    width: 100%;
    display: flex;
    justify-content: flex-start;
}
.product-hinweis-box .btn-hinweis-open {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px;
    background: var(--primary-color);
    color: #fff;
    border: none;
    border-radius: 25px;
    font-family: var(--font-family);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: var(--transition);
}
.product-hinweis-box .btn-hinweis-open svg {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
}
.product-hinweis-box .btn-hinweis-open:hover {
    background: #b31804;
}

/* ===== Mobile Hinweis Bar ===== */
.mobile-hinweis-bar {
    display: none;
    background: var(--primary-color);
    padding: 15px 0;
}
.mobile-hinweis-bar .btn-hinweis-open {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 14px 25px;
    background: #fff;
    color: var(--primary-color);
    border: none;
    border-radius: 25px;
    font-family: var(--font-family);
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: var(--transition);
}
.mobile-hinweis-bar .btn-hinweis-open svg {
    width: 14px;
    height: 14px;
}
.mobile-hinweis-bar .btn-hinweis-open:hover {
    background: var(--grey-color);
}
@media (max-width: 1024px) {
    .mobile-hinweis-bar {
        display: block;
    }
    .sidebar-hinweis {
        display: none;
    }
}

/* ===== Hinweis Modal ===== */
.modal-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.7);
    z-index: 9999;
    padding: 20px;
    overflow-y: auto;
    align-items: center;
    justify-content: center;
}
.modal-overlay.active {
    display: flex;
}
.modal-container {
    background: #fff;
    border-radius: var(--border-radius);
    max-width: 600px;
    width: 100%;
    max-height: 90vh;
    overflow-y: auto;
    position: relative;
    animation: modalFadeIn 0.3s ease;
}
@keyframes modalFadeIn {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.modal-close {
    position: absolute;
    top: 15px;
    right: 15px;
    width: 36px;
    height: 36px;
    background: var(--grey-color);
    border: none;
    border-radius: 50%;
    font-size: 24px;
    line-height: 1;
    color: #666;
    cursor: pointer;
    transition: var(--transition);
    display: flex;
    align-items: center;
    justify-content: center;
}
.modal-close:hover {
    background: var(--primary-color);
    color: #fff;
}
.modal-header {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 30px 30px 20px;
    border-bottom: 1px solid #eee;
}
.modal-header svg {
    width: 28px;
    height: 28px;
    color: var(--primary-color);
    flex-shrink: 0;
}
.modal-header h3 {
    font-size: 20px;
    font-weight: 700;
    margin: 0;
    color: var(--text-color);
}
.modal-content {
    padding: 25px 30px 30px;
    font-size: 15px;
    line-height: 1.7;
    color: #555;
}
.modal-content p {
    margin: 0 0 15px 0;
}
.modal-content p:last-child {
    margin-bottom: 0;
}

/* Sidebar Widget */
.sidebar .widget {
    margin: 0;
}
.sidebar .widget-area {
    margin: 0;
}

/* WooCommerce Product Categories Widget */
.wc-block-product-categories {
    background: transparent;
}
.wc-block-product-categories-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Category Item - Flex Container */
.wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    background: #fff;
    border-radius: 10px;
    border: 1px solid transparent;
    transition: var(--transition);
}
.wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item:hover {
    border-color: var(--primary-color);
}

/* Category Link */
.wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item > a {
    flex: 1;
    display: block;
    padding: 14px 10px 14px 18px;
    text-decoration: none;
    color: var(--text-color);
    font-size: 14px;
    font-weight: 600;
    transition: var(--transition);
}
.wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item:hover > a {
    color: var(--primary-color);
}

/* Product Count Badge - neben Kategorie */
.wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item > .wc-block-product-categories-list-item-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 28px;
    padding: 0 8px;
    margin-right: 14px;
    background: var(--grey-color);
    color: #666;
    font-size: 12px;
    font-weight: 700;
    border-radius: 15px;
    transition: var(--transition);
}
.wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item:hover > .wc-block-product-categories-list-item-count {
    background: var(--primary-color);
    color: #fff;
}

/* Subcategories - standardmäßig ausblenden */
.wc-block-product-categories-list--depth-1,
.wc-block-product-categories-list--depth-2 {
    display: none !important;
    width: 100%;
    margin: 0 !important;
    padding: 10px 0 10px 18px !important;
    border-top: 1px solid #eee;
    background: #fafafa;
    border-radius: 0 0 10px 10px;
}

/* Subcategories nur bei aktiver Hauptkategorie anzeigen */
.wc-block-product-categories-list-item.current-cat > .wc-block-product-categories-list--depth-1,
.wc-block-product-categories-list-item.current-cat-parent > .wc-block-product-categories-list--depth-1,
.wc-block-product-categories-list-item.current > .wc-block-product-categories-list--depth-1,
.wc-block-product-categories-list-item.current-cat > .wc-block-product-categories-list--depth-2,
.wc-block-product-categories-list-item.current-cat-parent > .wc-block-product-categories-list--depth-2 {
    display: block !important;
}

/* Subcategory Items */
.wc-block-product-categories-list--depth-1 .wc-block-product-categories-list-item,
.wc-block-product-categories-list--depth-2 .wc-block-product-categories-list-item {
    display: flex;
    align-items: center;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent;
    border: none;
    border-radius: 0;
}
.wc-block-product-categories-list--depth-1 .wc-block-product-categories-list-item > a,
.wc-block-product-categories-list--depth-2 .wc-block-product-categories-list-item > a {
    flex: 1;
    padding: 8px 10px 8px 0;
    font-size: 13px;
    font-weight: 500;
    color: #666;
}
.wc-block-product-categories-list--depth-1 .wc-block-product-categories-list-item > a:hover,
.wc-block-product-categories-list--depth-2 .wc-block-product-categories-list-item > a:hover {
    color: var(--primary-color);
}
.wc-block-product-categories-list--depth-1 .wc-block-product-categories-list-item-count,
.wc-block-product-categories-list--depth-2 .wc-block-product-categories-list-item-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    margin-right: 10px;
    background: #eee;
    color: #888;
    font-size: 11px;
    font-weight: 600;
    border-radius: 12px;
}

/* Active Category */
.wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item.current-cat,
.wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item.current-cat-parent {
    background: var(--primary-color);
    border-color: var(--primary-color);
}
.wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item.current-cat > a,
.wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item.current-cat-parent > a {
    color: #fff;
}
.wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item.current-cat > .wc-block-product-categories-list-item-count,
.wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item.current-cat-parent > .wc-block-product-categories-list-item-count {
    background: rgba(255,255,255,0.25);
    color: #fff;
}

/* Active Subcategory */
.wc-block-product-categories-list--depth-1 .wc-block-product-categories-list-item.current-cat > a {
    color: var(--primary-color);
    font-weight: 700;
}

@media (max-width: 1024px) {
    main.withsidebar .page-build .sidebar {display: none;}
}

@media (max-width: 768px) {
    main.withsidebar .content .blog-grid {grid-template-columns: repeat(2, 1fr);}
}

/* ########## Footer ########## */
/* Top Footer - USP Boxes */
.topfooter {
    background: #fff;
    border-top: 3px solid var(--primary-color);
    padding: 40px 0;
}
.topfooter .wrp {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}
.topfooter .wrp .box {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 20px;
    background: var(--grey-color);
    border-radius: 10px;
    transition: var(--transition);
}
.topfooter .wrp .box:hover {
    transform: translateY(-3px);
    box-shadow: 0 5px 20px rgba(0,0,0,0.08);
}
.topfooter .wrp .box.center,
.topfooter .wrp .box.right {
    justify-self: auto;
}
.topfooter .wrp .box .icon {
    width: 50px;
    height: 50px;
    flex-shrink: 0;
}
.topfooter .wrp .box .icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.topfooter .wrp .box .text {
    font-size: 14px;
    line-height: 1.5;
    font-weight: 600;
    color: var(--text-color);
}




/* ===== MAIN FOOTER ===== */
footer {
    background: #fff;
    border-top: 1px solid #eee;
    padding: 50px 0 0 0;
    color: var(--text-color);
}

/* Footer Grid */
.footer-grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1fr;
    gap: 40px;
}

/* Footer Columns */
.footer-col h4 {
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 20px 0;
    color: var(--text-color);
}

/* First Column - Company */
.footer-logo strong {
    font-size: 18px;
    color: var(--text-color);
}
.footer-desc {
    color: #666;
    font-size: 15px;
    line-height: 1.7;
    margin: 15px 0;
}
.footer-contact-info {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 15px;
}
.footer-contact-info a {
    color: var(--text-color);
    text-decoration: none;
    font-size: 15px;
    font-weight: 600;
    transition: var(--transition);
}
.footer-contact-info a:hover {
    color: var(--primary-color);
}
.footer-hours {
    color: #666;
    font-size: 14px;
}

/* Footer Lists */
.footer-col ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.footer-col ul li {
    margin: 0 0 10px 0;
}
.footer-col ul li a {
    color: #666;
    text-decoration: none;
    font-size: 15px;
    transition: var(--transition);
}
.footer-col ul li a:hover {
    color: var(--primary-color);
}

/* Footer Bottom */
.footer-bottom {
    background: var(--grey-color);
    margin-top: 40px;
    padding: 20px 0;
}
.footer-bottom-grid {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
}

/* Social Links */
.footer-social {
    display: flex;
    gap: 10px;
}
.footer-social a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    color: #666;
    border: 1px solid #ddd;
    border-radius: 50%;
    transition: var(--transition);
}
.footer-social a:hover {
    background: var(--primary-color);
    border-color: var(--primary-color);
    color: #fff;
}
.footer-social svg {
    width: 18px;
    height: 18px;
}

/* Payment Methods */
.footer-payment {
    display: flex;
    align-items: center;
    gap: 15px;
    font-size: 13px;
    color: #666;
}
.footer-payment svg {
    height: 22px;
    width: auto;
}
.payment-text {
    padding: 4px 10px;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 500;
}

/* Copyright Bar */
.bottom {
    background: #fff;
    border-top: 1px solid #eee;
}
.bottom .wrp {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 20px 0;
    font-size: 13px;
    color: #888;
    gap: 15px;
}
.bottom .footernav ul,
.bottom .wrp ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 5px 25px;
}
.bottom .wrp ul li {
    list-style: none;
    margin: 0;
}
.bottom .wrp ul li a {
    color: #666;
    text-decoration: none;
    font-size: 13px;
    transition: var(--transition);
}
.bottom .wrp ul li a:hover {
    color: var(--primary-color);
}
.bottom .copyright {
    color: #888;
    font-size: 13px;
}
.bottom .copyright a {
    color: #888;
    text-decoration: none;
}
.bottom .copyright a:hover {
    color: var(--primary-color);
}

/* 404 */

.error404 .stage {display: none;}
.pageerror {padding: 250px 0 100px 0; text-align: center;}

@media (max-width: 1100px) {
    .stoerer .stoerer-content .button a {
        display: block;
        margin: 0 0 10px 10px;
        padding: 8px 20px;
        text-align: center;
    }
}

@media (max-width: 1050px) {
    .block .wrp .box-1 {
        display: none;
    }
    .block .wrp {display:block;}
    .block .wrp .box-2 {margin:0;}
    .block .wrp .box-2-3 {
        display: grid;
        grid-template-columns:1fr 1fr;
        gap: 30px;
    }
    .block .wrp .box-2 .linktext,.block .wrp .box-3 .linktext {bottom:0;}

}
@media (max-width: 1024px) {
    .is-form-style.is-form-style-3 input.is-search-input {
        border-right: 0 !important;
        width: 100%;
        min-width: 300px;
    }
    .is-form-style {margin:0 70px 0 0}
    header .header-grid {
        display: grid;
        grid-template-columns: 240px 130px;
        grid-template-rows: auto;
        justify-items: start;
        align-items: center;
        gap: 20px;
        padding: 20px 0;
        transition: var(--transition);
    }
    .scrolled header .header-grid { grid-template-columns: 240px 130px; transition: var(--transition);}
    .warenkorb {
        justify-self: start;
    }
    .theme-batstarshop main.withsidebar {
        margin-top: 160px;
    }
    .topnav {display:none;}
    .top .con {
        display: grid;
        grid-template-columns: 1fr;
    }

}

@media (max-width: 980px) {
    .topfooter .wrp .box .text {
        font-size: 13px;
    }
    .topfooter .wrp .box {
        padding: 15px;
    }
    .footer-grid {
        grid-template-columns: 1fr 1fr 1fr 1fr;
        gap: 30px;
    }
    accordion .wrp.grid .item-accordion .item-accordion-head .icon {
        height: 40px;
        width: 45px;
    }
    .accordion .wrp.grid .item-accordion .item-accordion-head .txt {font-size:16px;}
}
@media (max-width: 870px) {
    header .top {
        font-size: 12px;
    }
}

@media (max-width: 840px) {
    .is-search-form  {display:none;}
    .topfooter .wrp {
        grid-template-columns: 1fr;
        gap: 15px;
    }
    .topfooter .wrp .box {
        justify-content: center;
        text-align: center;
        flex-direction: column;
        gap: 10px;
    }
}
@media (max-width: 770px) {
    .topinfo {
        display: none
    }
    header .top .wrp {
        display: grid;
        grid-template-columns: 1fr;
        align-items: center;
    }
}
@media (max-width: 700px) {
    .accordion .wrp.grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
    }
}
@media (max-width: 640px) {
    .stoerer .stoerer-content {
        display: grid;
        grid-template-columns: 1fr;
        align-items: center;
    }
    .stoerer .stoerer-content .text {text-align:center}
    .stoerer .stoerer-content .button {
        justify-self: center;margin-top:20px
    }
    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 30px;
    }
    .footer-col:first-child {
        grid-column: 1 / -1;
    }
    .footer-bottom-grid {
        justify-content: center;
        flex-direction: column;
        text-align: center;
    }
}

@media (max-width:550px) {
    .block .wrp .box-2-3 {
        display: grid;
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .footer-grid {
        grid-template-columns: 1fr;
        text-align: center;
        gap: 30px;
    }
    .footer-col:first-child {
        grid-column: auto;
    }
    .footer-contact-info {
        align-items: center;
    }
    .footer-payment {
        flex-wrap: wrap;
        justify-content: center;
    }
}

@media (max-width:430px) {
    header .header-grid {
        display: grid;
        grid-template-columns: 250px auto;
    }
}

/* ########## Dual Price Display (Brutto + Netto) ########## */

.dual-price {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.dual-price .price-brutto {
    font-weight: 700;
    color: var(--primary-color);
}
.dual-price .price-netto {
    font-weight: 400;
    font-size: 14px;
    color: #666;
}
.dual-price small {
    font-weight: 400;
    font-size: 12px;
    color: #888;
}

/* Produktdetailseite */
.woocommerce div.product .dual-price .price-brutto {
    font-size: 32px;
}
.woocommerce div.product .dual-price .price-brutto small {
    font-size: 14px;
}
.woocommerce div.product .dual-price .price-netto {
    font-size: 16px;
}
.woocommerce div.product .dual-price .price-netto small {
    font-size: 13px;
}

/* Produktboxen (Loop/Archiv) */
.woocommerce ul.products li.product .dual-price .price-brutto {
    font-size: 20px;
}
.woocommerce ul.products li.product .dual-price .price-brutto small {
    font-size: 11px;
}
.woocommerce ul.products li.product .dual-price .price-netto {
    font-size: 13px;
}
.woocommerce ul.products li.product .dual-price .price-netto small {
    font-size: 11px;
}

/* Sale-Preise */
.dual-price del {
    opacity: 0.6;
    font-size: 0.8em;
    margin-right: 5px;
}
.dual-price ins {
    text-decoration: none;
}
.dual-price .price-brutto del,
.dual-price .price-brutto ins {
    color: var(--primary-color);
}
.dual-price .price-netto del,
.dual-price .price-netto ins {
    color: #666;
}

/* Warenkorb Tabelle */
.dual-price-cart {
    gap: 1px;
}
.dual-price-cart .price-brutto {
    font-size: 15px;
}
.dual-price-cart .price-netto {
    font-size: 13px;
}

/* Mini-Cart */
.dual-price-mini {
    display: inline-flex;
    flex-direction: column;
    gap: 0;
}
.dual-price-mini .price-brutto {
    font-size: inherit;
}
.dual-price-mini .price-netto {
    font-size: 11px;
}

/* Responsive */
@media (max-width: 768px) {
    .woocommerce div.product .dual-price .price-brutto {
        font-size: 28px;
    }
    .woocommerce div.product .dual-price .price-netto {
        font-size: 14px;
    }
}