@charset "UTF-8";
/**
 * WooCommerce Custom Styles
 *
 * Eigene Styles für WooCommerce ohne !important
 * Standard WooCommerce CSS ist deaktiviert (siehe cleanup.php)
 *
 * @package Grenzwald_Energieholz
 */

/* ========================================
   CSS VARIABLES
   ======================================== */

:root {--wc-primary: var(--primary-color, #D97706);--wc-secondary: var(--secondary-color, #2E5939);--wc-text: var(--text-color, #515151);--wc-bg: var(--bg-white, #fff);--wc-bg-light: var(--bg-light-gray, #f5f5f5);--wc-border: var(--border-gray, #dedede);--wc-success: #4caf50;--wc-error: #e74c3c;--wc-info: #3498db;}

/* ========================================
   ALLGEMEINE WOOCOMMERCE STYLES
   ======================================== */

.woocommerce {font-family: var(--font-family, "Montserrat", sans-serif);color: var(--wc-text);}
.woocommerce a {text-decoration: none;}
.woocommerce a:hover {color: var(--wc-primary);}

/* Browser-Standard: gepunktete Unterstreichung bei abbr[title] entfernen */
abbr[title] {text-decoration: none;}

/* Reset: WooCommerce-Content-Header (nicht den Site-Header!) */
/* Diese Selektoren sind spezifisch für Header INNERHALB von WooCommerce-Bereichen */
.woocommerce-MyAccount-content header,
.woocommerce-Address header,
.woocommerce-orders header,
.woocommerce-form-wrapper header,
.woocommerce .woocommerce-products-header:not(.site-header),
.woocommerce-account main header:not(.site-header),
.woocommerce-cart main header:not(.site-header),
.woocommerce-checkout main header:not(.site-header) {
    position: static;
    top: auto;
    max-width: none;
    width: auto;
    z-index: auto;
    padding: 0;
    box-sizing: border-box;
    background: transparent;
    border-radius: 0;
    margin: 0;
    transition: none;
    box-shadow: none;
}

.woocommerce-MyAccount-content header::before,
.woocommerce-MyAccount-content header::after,
.woocommerce-Address header::before,
.woocommerce-Address header::after {
    content: none;
    display: none;
}

/* ========================================
   BUTTONS
   ======================================== */

.woocommerce .button, .woocommerce button.button, .woocommerce input.button, .woocommerce a.button {display: inline-block;padding: 12px 24px;background: var(--wc-primary);color: var(--wc-bg);border: none;border-radius: 4px;cursor: pointer;font-size: 16px;font-weight: 600;text-transform: none;transition: background 0.2s ease, transform 0.2s ease;max-width: 100%;box-sizing: border-box;}
.woocommerce .button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .woocommerce a.button:hover {background: var(--wc-secondary);color: var(--wc-bg);transform: translateY(-2px);}
.woocommerce .button.alt, .woocommerce button.button.alt {background: var(--wc-primary);}
.woocommerce .button.alt:hover, .woocommerce button.button.alt:hover {background: var(--wc-secondary);}

/* ========================================
   NACHRICHTEN & HINWEISE
   ======================================== */

.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notice {padding: 15px 20px;margin-bottom: 20px;border-radius: 4px;list-style: none;}
.woocommerce-message {background: #d4edda;border-left: 4px solid var(--wc-success);color: #155724;}
.woocommerce-info {background: #d1ecf1;border-left: 4px solid var(--wc-info);color: #0c5460;}
.woocommerce-error {background: #f8d7da;border-left: 4px solid var(--wc-error);color: #721c24;}
.woocommerce-error li {list-style: none;margin: 0;}

/* ========================================
   FORMULAR-ELEMENTE
   ======================================== */

.woocommerce form .form-row {margin-bottom: 15px;}
.woocommerce form .form-row label {display: block;margin-bottom: 5px;font-weight: 600;}
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select {width: 100%;padding: 12px 15px;border: 1px solid var(--wc-border);border-radius: 4px;font-size: 16px;box-sizing: border-box;transition: border-color 0.2s ease;}
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus, .woocommerce form .form-row select:focus {outline: none;border-color: var(--wc-primary);}
.woocommerce form .form-row.woocommerce-invalid input.input-text {border-color: var(--wc-error);}
.woocommerce form .form-row .required {color: var(--wc-error);}

/* ========================================
   PRODUKT-ARCHIV / SHOP
   ======================================== */

/* Shop/Archiv Wrapper */
.woocommerce-main {
    padding: 60px 0 80px;
}

.woocommerce-main .wrp {
    max-width: var(--wrp-width, 1240px);
    width: 90%;
    margin: 0 auto;
}

/* Shop Breadcrumb */
.woocommerce-main .woocommerce-breadcrumb {
    font-size: 14px;
    color: #666;
    margin-bottom: 15px;
}

.woocommerce-main .woocommerce-breadcrumb a {
    color: var(--wc-primary);
    text-decoration: none;
}

.woocommerce-main .woocommerce-breadcrumb a:hover {
    text-decoration: underline;
}

/* Shop Seitentitel */
.woocommerce-main .woocommerce-products-header__title,
.woocommerce-main .page-title {
    margin-top: 10px;
    margin-bottom: 25px;
}

/* ----------------------------------------
   SHOP TOOLBAR (Sortierung, Ansicht, etc.)
   ---------------------------------------- */

.shop-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 15px;
    margin-bottom: 30px;
    padding: 18px 24px;
    background: var(--wc-bg);
    border-radius: 12px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
}

.shop-toolbar-left {
    display: flex;
    align-items: center;
    gap: 20px;
}

.shop-toolbar-right {
    display: flex;
    align-items: center;
    gap: 15px;
}

/* Produktanzahl */
.woocommerce-result-count {
    margin: 0;
    font-size: 14px;
    color: #666;
    font-weight: 500;
}

.woocommerce-result-count strong {
    color: var(--wc-text);
    font-weight: 700;
}

/* Sortierung Dropdown - Custom Styling */
.woocommerce-ordering {
    position: relative;
    margin: 0;
}

.woocommerce-ordering select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    padding: 12px 45px 12px 18px;
    font-size: 14px;
    font-weight: 500;
    color: var(--wc-text);
    background-color: var(--wc-bg-light);
    border: 2px solid transparent;
    border-radius: 8px;
    cursor: pointer;
    min-width: 200px;
    transition: all 0.2s ease;
    font-family: inherit;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23515151' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
}

.woocommerce-ordering select:hover {
    border-color: var(--wc-primary);
    background-color: var(--wc-bg);
}

.woocommerce-ordering select:focus {
    outline: none;
    border-color: var(--wc-primary);
    background-color: var(--wc-bg);
    box-shadow: 0 0 0 3px rgba(217, 119, 6, 0.15);
}

/* Grid/List View Toggle */
.view-toggle {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px;
    background: var(--wc-bg-light);
    border-radius: 8px;
}

.view-toggle-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border: none;
    background: transparent;
    border-radius: 6px;
    cursor: pointer;
    color: #999;
    transition: all 0.2s ease;
}

.view-toggle-btn:hover {
    color: var(--wc-primary);
    background: rgba(217, 119, 6, 0.1);
}

.view-toggle-btn.active {
    background: var(--wc-primary);
    color: white;
}

.view-toggle-btn svg {
    width: 18px;
    height: 18px;
}

/* Shop Toolbar Mobile */
@media (max-width: 768px) {
    .shop-toolbar {
        flex-direction: column;
        align-items: stretch;
        padding: 15px;
        gap: 12px;
    }

    .shop-toolbar-left,
    .shop-toolbar-right {
        justify-content: space-between;
        width: 100%;
    }

    .woocommerce-ordering select {
        min-width: unset;
        width: 100%;
    }
}

@media (max-width: 480px) {
    .shop-toolbar-left {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }

    .shop-toolbar-right {
        justify-content: center;
    }
}

/* ----------------------------------------
   PRODUKT-GRID (Standard 3 Spalten)
   ---------------------------------------- */

.woocommerce ul.products {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.woocommerce ul.products li.product {
    margin: 0;
    padding: 0;
    list-style: none;
    background: var(--wc-bg);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.woocommerce ul.products li.product:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.12);
}


.woocommerce ul.products li.product a img {
    width: 100%;
    display: block;
    aspect-ratio: 4/3;
    object-fit: cover;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
    padding: 18px 18px 8px;
    margin: 0;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.3;
}

.woocommerce ul.products li.product .price {

    color: var(--wc-primary);
    font-weight: 700;
    font-size: 25px;
}

.woocommerce ul.products li.product .price del {
    color: #999;
    font-weight: 400;
    font-size: 14px;
}

.woocommerce ul.products li.product .price ins {
    text-decoration: none;
}

.woocommerce ul.products li.product .button {
    margin: 15px 18px 18px;
    display: block;
    text-align: center;
}

/* ----------------------------------------
   LISTENANSICHT
   ---------------------------------------- */

.woocommerce ul.products.list-view {
    grid-template-columns: 1fr;
    gap: 20px;
}

.woocommerce ul.products.list-view li.product {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 0;
    padding: 0;
    align-items: stretch;
}

.woocommerce ul.products.list-view li.product:hover {
    transform: none;
}

.woocommerce ul.products.list-view li.product > a:first-child {
    display: block;
    overflow: hidden;
}

.woocommerce ul.products.list-view li.product a img {
    width: 100%;
    height: 100%;
    min-height: 200px;
    object-fit: cover;
    aspect-ratio: auto;
    border-radius: 12px 0 0 12px;
    transition: transform 0.3s ease;
}

.woocommerce ul.products.list-view li.product:hover a img {
    transform: scale(1.05);
}

.woocommerce ul.products.list-view li.product .woocommerce-loop-product__title {
    padding: 25px 25px 10px;
    font-size: 20px;
}

.woocommerce ul.products.list-view li.product .price {
    padding: 0;
    font-size: 22px;
    display: block;
}

.woocommerce ul.products.list-view li.product .button {
    margin: 0 25px 25px;
    display: inline-block;
    width: auto;
}

/* Listenansicht: Kurzbeschreibung anzeigen (falls vorhanden) */
.woocommerce ul.products.list-view li.product .woocommerce-loop-product__desc {
    padding: 0 25px;
    font-size: 14px;
    color: #666;
    line-height: 1.6;
    margin-bottom: 15px;
}

/* ----------------------------------------
   LISTENANSICHT FÜR PRODUCT-TEASER
   ---------------------------------------- */

.woocommerce ul.products.list-view .product-teaser {
    display: grid;
    grid-template-columns: 280px 1fr;
    height: auto;
    border-radius: 12px;
}

.woocommerce ul.products.list-view .product-teaser:hover {
    transform: none;
}

.woocommerce ul.products.list-view .product-teaser .product-teaser-link {
    grid-column: 1;
    grid-row: 1;
}

.woocommerce ul.products.list-view .product-teaser .product-teaser-content {
    grid-column: 2;
    grid-row: 1;
    padding: 25px;
    padding-right: 80px;
    justify-content: center;
}

.woocommerce ul.products.list-view .product-teaser .product-teaser-add-to-cart {
    grid-column: 2;
    grid-row: 1;
    align-self: end;
    justify-self: end;
    margin: 25px;
    position: static;
    width: 50px;
    height: 50px;
}

.woocommerce ul.products.list-view .product-teaser .product-teaser-image {
    aspect-ratio: auto;
    height: 100%;
    min-height: 220px;
    border-radius: 12px 0 0 12px;
}

.woocommerce ul.products.list-view .product-teaser .product-teaser-image img {
    border-radius: 12px 0 0 12px;
}

.woocommerce ul.products.list-view .product-teaser:hover .product-teaser-image img {
    transform: scale(1.05);
}

.woocommerce ul.products.list-view .product-teaser .product-teaser-title {
    font-size: 20px;
}

.woocommerce ul.products.list-view .product-teaser .product-teaser-description {
    font-size: 15px;
    margin-bottom: 20px;
    -webkit-line-clamp: 3;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.woocommerce ul.products.list-view .product-teaser .product-teaser-price {
    font-size: 24px;
}

.woocommerce ul.products li.product:hover {transform: translateY(-5px);box-shadow: 0 5px 20px rgba(0,0,0,0.12);}
.woocommerce ul.products li.product a img {width: 100%;display: block;}
.woocommerce ul.products li.product .woocommerce-loop-product__title {padding: 15px 15px 5px;margin: 0;font-size: 18px;font-weight: 600;}
.woocommerce ul.products li.product .price {color: var(--wc-primary);font-weight: 700;}
.woocommerce ul.products li.product .price del {color: #999;font-weight: 400;}
.woocommerce ul.products li.product .price ins {text-decoration: none;}
.woocommerce ul.products li.product .button {margin: 0 15px 15px;display: block;text-align: center;}
.woocommerce span.onsale {position: absolute;top: 10px;left: 10px;background: var(--wc-error);color: var(--wc-bg);padding: 5px 10px;border-radius: 4px;font-size: 12px;font-weight: 700;text-transform: uppercase;z-index: 1;}

/* ========================================
   PRODUKT-TEASER CUSTOM
   ======================================== */
.product-teaser .added_to_cart.wc-forward {display: none;}
.product-teaser {position: relative;display: flex;flex-direction: column;height: 100%;background: var(--wc-bg);border-radius: 8px;overflow: hidden;box-shadow: 0 2px 10px rgba(0,0,0,0.08);transition: transform 0.3s ease, box-shadow 0.3s ease;}
.product-teaser:hover {transform: translateY(-5px);box-shadow: 0 8px 25px rgba(0,0,0,0.15);}
.product-teaser-link {display: block;text-decoration: none;color: inherit;flex-shrink: 0;}
.product-teaser-image {position: relative;overflow: hidden;aspect-ratio: 4/3; border-radius: 10px; box-shadow: var(--box-shadow);}
.product-teaser-image img {width: 100%;height: 100%;object-fit: cover;transition: transform 0.3s ease;border-radius: 10px;position: absolute;top: 0;left: 0;}
.product-teaser:hover .product-teaser-image img {transform: scale(1.05);}
.product-teaser-content {display: flex;flex-direction: column;flex: 1;padding: 20px;position: relative;z-index: 1;}
.product-teaser-content:before {content: ''; position: absolute; width: 100%; height: 100%; top: 0; left: 0; background: url("../assets/icons/maserung.svg") no-repeat center center; background-size: cover; opacity: 0.03; pointer-events: none;}
.product-teaser-header {display: flex;justify-content: space-between;align-items: flex-start;gap: 10px;margin-bottom: 10px;}
.product-teaser-title {margin: 0;font-size: 18px;font-weight: 600;color: var(--wc-text);font-family: var(--font-headline, inherit);}
.product-teaser-title a {color: inherit;text-decoration: none;}
.product-teaser-brennbarkeit {display: flex;gap: 4px;flex-shrink: 0;position: relative;cursor: help;}
.product-teaser-brennbarkeit .flame-icon {width: 27px;height: 27px;opacity: 0.3;transition: opacity 0.2s ease, transform 0.2s ease, filter 0.2s ease;}
.product-teaser-brennbarkeit .flame-icon.active {opacity: 1;}
.product-teaser-brennbarkeit:hover .flame-icon.active {animation: flame-flicker 0.8s ease-in-out infinite;filter: drop-shadow(0 0 4px rgba(255, 120, 0, 0.5));}
.product-teaser-brennbarkeit:hover .flame-icon.active:nth-child(2) {animation-delay: 0.15s;}
.product-teaser-brennbarkeit:hover .flame-icon.active:nth-child(3) {animation-delay: 0.3s;}
.product-teaser-brennbarkeit::after {content: "Brennwert: " attr(data-level) " von 3";position: absolute;top: calc(100% + 8px);right: 0;background: rgba(0,0,0,0.85);color: #fff;padding: 5px 10px;border-radius: 5px;font-size: 11px;white-space: nowrap;opacity: 0;visibility: hidden;transition: opacity 0.2s ease;pointer-events: none;z-index: 10;font-weight: 500;letter-spacing: 0.02em;}
.product-teaser-brennbarkeit:hover::after {opacity: 1;visibility: visible;}
.product-teaser-description {font-size: 16px;color: #666;line-height: 1.5;flex: 1; margin-bottom: 30px;}
.product-teaser-bottom {margin-top: auto;padding-right: 50px;}
.product-teaser-variants {margin-bottom: 12px;position: relative;z-index: 2;}
.product-teaser-variants .variant-group {display: flex;flex-wrap: wrap;gap: 6px;margin-bottom: 8px;}
.product-teaser-variants .variant-group:last-child {margin-bottom: 0;}
.product-teaser-variants .variant-option {display: inline-block;font-size: 16px;color: var(--wc-text);background: var(--wc-bg);padding: 4px 12px;border-radius: 50px;border: 2px solid var(--wc-primary);cursor: pointer;transition: all 0.2s ease;position: relative;z-index: 3;pointer-events: auto;}
.product-teaser-variants .variant-option:hover {border-color: var(--wc-primary);color: var(--wc-primary);background: rgba(217, 119, 6, 0.1);}
.product-teaser-variants .variant-option.active {background: var(--wc-primary);color: var(--wc-bg);border-color: var(--wc-primary);}
.product-teaser-price {display: flex;flex-wrap: wrap;align-items: baseline;gap: 4px 8px;font-size: 30px;font-weight: 700;color: var(--wc-primary);font-family: var(--font-headline, inherit);line-height: 1.2;}
.product-teaser-price-meta {font-size: 16px;font-weight: 400;color: var(--wc-text);font-family: var(--font-headline, inherit);white-space: nowrap;}
.product-teaser-price del {color: #999;font-weight: 400;font-size: 18px;margin-right: 8px;}
.product-teaser-price ins {text-decoration: none;}
.product-teaser-add-to-cart {position: absolute;bottom: 20px;right: 20px;width: 40px;height: 40px;border-radius: 50%;background: var(--wc-primary);border: none;cursor: pointer;display: flex;align-items: center;justify-content: center;transition: background 0.3s ease, transform 0.3s ease;box-shadow: 0 2px 8px rgba(0,0,0,0.2);z-index: 5;pointer-events: auto;}
.product-teaser-add-to-cart:hover {background: var(--wc-secondary);transform: scale(1.1);}
.product-teaser-add-to-cart.needs-variant {background: #999;}
.product-teaser-add-to-cart.needs-variant:hover {background: var(--wc-primary);}
.product-teaser-add-to-cart svg {width: 20px;height: 20px;color: var(--wc-bg);}
.product-teaser-add-to-cart.loading {pointer-events: none;opacity: 0.7;}
.product-teaser-add-to-cart.added {background: var(--wc-success);}
.product-teaser-add-to-cart.out-of-stock {background: #ccc;cursor: not-allowed;pointer-events: none;box-shadow: none;}
.product-teaser-add-to-cart.out-of-stock:hover {background: #ccc;transform: none;}
.product-teaser-out-of-stock-badge {position: absolute;top: 12px;left: 12px;background: #555;color: #fff;font-size: 11px;font-weight: 600;letter-spacing: 0.04em;padding: 5px 12px;border-radius: 4px;white-space: nowrap;z-index: 6;text-transform: uppercase;}
.product-teaser-min-qty-badge {position: absolute;top: 12px;right: 12px;background: var(--wc-primary);color: #fff;font-size: 11px;font-weight: 600;letter-spacing: 0.04em;padding: 5px 12px;border-radius: 4px;white-space: nowrap;z-index: 6;text-transform: uppercase;}
.product-verfuegbarkeit-hinweis {display: flex;align-items: center;gap: 8px;background: #fff8e1;border: 1px solid #f0c040;border-radius: 6px;padding: 10px 14px;font-size: 14px;font-weight: 600;color: #7a5800;line-height: 1.4;}
.product-verfuegbarkeit-hinweis .verfuegbarkeit-icon {font-size: 16px;flex-shrink: 0;}


/* ========================================
   EINZELPRODUKT - NEUE STRUKTUR
   ======================================== */

/* Haupt-Container */
.single-product-page {padding: 40px 0 80px;}
.single-product-page .wrp {max-width: var(--wrp-width, 1240px);margin: 0 auto;width: 90%;}
.single-product .stage {display: none;}
.single-product header {margin: 0 auto; }

.page-id-1078 header .wrp {width: 100%;transition: var(--transition);}
.single-product header .wrp {width: 100%;transition: var(--transition);}
html.scrolled .single-product header .wrp {width: 90%;transition: var(--transition);}
html.scrolled .page-id-1078 header .wrp {width: 90%;transition: var(--transition);}
.single-product-container {display: flex;flex-direction: column;gap: 60px;}

/* Breadcrumb */
.single-product-breadcrumb {margin-bottom: 30px;}
.single-product-breadcrumb .woocommerce-breadcrumb {font-size: 14px;color: #666;}
.single-product-breadcrumb .woocommerce-breadcrumb a {color: var(--wc-primary);text-decoration: none;}
.single-product-breadcrumb .woocommerce-breadcrumb a:hover {text-decoration: underline;}

/* Hauptbereich: 3 Spalten Grid (Hauptbild | Thumbnails | Info) */
.single-product-main {display: grid;grid-template-columns: auto;margin-top: 55px;}

/* Hauptbild */
.product-main-image {position: relative;border-radius: 12px;display: grid;grid-template-columns: 1fr auto;gap: 10px;}
.product-main-image > a.glightbox {display: block;position: relative;border-radius: 12px;overflow: hidden;cursor: pointer;}
.product-main-image img {width: 100%;height: auto;display: block;transition: transform 0.3s ease, opacity 0.3s ease;}

/* Varianten-Bild Overlay: wird dynamisch per JS eingefügt und überlagert das Hauptbild */
.product-img-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.35s ease;
    display: block;
}
.product-main-image > a.glightbox:hover img {transform: scale(1.02);}
.product-badge {position: absolute;top: 15px;left: 15px;background: var(--wc-error);color: white;padding: 6px 14px;border-radius: 4px;font-size: 13px;font-weight: 700;text-transform: uppercase;z-index: 1;}

/* Thumbnail-Grid */
.product-thumbnails {display: grid;grid-template-columns: auto;gap: 10px;align-content: start;}
.product-thumbnail {display: block;width: 100px;height: 100px;border: 2px solid transparent;border-radius: 8px;overflow: hidden;cursor: pointer;padding: 0;background: none;transition: border-color 0.2s ease, transform 0.2s ease;}
.product-thumbnail:hover {border-color: var(--wc-primary);transform: scale(1.05);}
.product-thumbnail.active {border-color: var(--wc-primary);}
.product-thumbnail img {width: 100%;height: 100%;object-fit: cover;display: block;}

/* Produktinfos */
.single-product-info {display: flex;flex-direction: column;gap: 25px;}
.product-description {display: grid; grid-template-columns: auto; gap: 100px;}

/* Header mit Titel & Brennbarkeit */
.product-header {display: flex;justify-content: space-between;align-items: flex-start;gap: 20px;}
.product-title {margin: 0;font-size: 32px;font-weight: 700;color: var(--wc-text);line-height: 1.2;}
.product-brennbarkeit {display: flex;gap: 5px;flex-shrink: 0;position: relative;cursor: help;}
.product-brennbarkeit .flame-icon {width: 28px;height: 28px;opacity: 0.25;transition: opacity 0.2s ease, transform 0.2s ease, filter 0.2s ease;}
.product-brennbarkeit .flame-icon.active {opacity: 1;}
.product-brennbarkeit:hover .flame-icon.active {animation: flame-flicker 0.8s ease-in-out infinite;filter: drop-shadow(0 0 4px rgba(255, 120, 0, 0.5));}
.product-brennbarkeit:hover .flame-icon.active:nth-child(2) {animation-delay: 0.15s;}
.product-brennbarkeit:hover .flame-icon.active:nth-child(3) {animation-delay: 0.3s;}
.product-brennbarkeit::after {content: "Brennwert: " attr(data-level) " von 3";position: absolute;top: calc(100% + 8px);right: 0;background: rgba(0,0,0,0.85);color: #fff;padding: 5px 10px;border-radius: 5px;font-size: 12px;white-space: nowrap;opacity: 0;visibility: hidden;transition: opacity 0.2s ease;pointer-events: none;z-index: 10;font-weight: 500;letter-spacing: 0.02em;}
.product-brennbarkeit:hover::after {opacity: 1;visibility: visible;}

/* Kurzbeschreibung */
.product-short-description {font-size: 16px;line-height: 1.7;color: #555;}
.product-short-description p {margin: 0 0 10px;}
.product-short-description p:last-child {margin-bottom: 0;}

/* Preis */
.product-price-wrapper {display: flex;flex-direction: column;align-items: baseline;gap: 10px;padding: 20px 0;border-top: 1px solid var(--wc-border);border-bottom: 1px solid var(--wc-border);}
.product-price {font-size: 30px;font-weight: 700;color: var(--wc-primary);font-family: var(--font-headline, inherit);}
.product-price del {color: #999;font-size: 20px;font-weight: 400;margin-right: 10px;}
.product-price ins {text-decoration: none;}
.product-price-info {font-size: 14px;color: #666;}
.product-subtotal {font-size: 22px;font-weight: 600;color: var(--wc-primary);}
.product-subtotal del {color: #999;font-size: 16px;font-weight: 400;margin-right: 6px;}
.product-subtotal ins {text-decoration: none;}

/* Add to Cart Bereich */
.product-add-to-cart {padding: 25px 0;}

/* Varianten-Auswahl (Dropdown) */
.product-add-to-cart .variations {display: flex;flex-direction: column;gap: 20px;margin-bottom: 25px;}
.product-add-to-cart .variations tr {display: flex;flex-direction: column;gap: 8px;}
.product-add-to-cart .variations .label {display: block;text-align: left;}
.product-add-to-cart .variations .label label {font-weight: 600;font-size: 15px;color: var(--wc-text);}
.product-add-to-cart .variations .value {display: block;}
.product-add-to-cart .variations select {width: 100%;padding: 14px 18px;font-size: 16px;border: 2px solid var(--wc-border);border-radius: 8px;background: white;color: var(--wc-text);cursor: pointer;appearance: none;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='%23515151' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat: no-repeat;background-position: right 15px center;transition: border-color 0.2s ease, box-shadow 0.2s ease;}
.product-add-to-cart .variations select:hover {border-color: var(--wc-primary);}
.product-add-to-cart .variations select:focus {outline: none;border-color: var(--wc-primary);box-shadow: 0 0 0 3px rgba(217, 119, 6, 0.15);}
.product-add-to-cart .reset_variations {display: inline-block;margin-top: 10px;font-size: 14px;color: var(--wc-primary);text-decoration: none;cursor: pointer;}
.product-add-to-cart .reset_variations:hover {text-decoration: underline;}

/* Varianten als Buttons (alternative Darstellung) */
.product-add-to-cart .variation-buttons {display: flex;flex-wrap: wrap;gap: 10px;margin-bottom: 20px;}
.product-add-to-cart .variation-btn {padding: 10px 20px;border: 2px solid var(--wc-border);border-radius: 50px;background: white;color: var(--wc-text);font-size: 15px;cursor: pointer;transition: all 0.2s ease;}
.product-add-to-cart .variation-btn:hover {border-color: var(--wc-primary);color: var(--wc-primary);}
.product-add-to-cart .variation-btn.active {background: var(--wc-primary);border-color: var(--wc-primary);color: white;}

/* Preis-Anzeige bei Varianten */
.product-add-to-cart .woocommerce-variation-price {display: none !important;}

/* Menge & Button */
.product-add-to-cart .single_add_to_cart_button {width: 100%;padding: 16px 30px;font-size: 18px;font-weight: 600;border-radius: 8px;margin-top: 10px;}

/* Grenzwald Quantity Input */
.grenzwald-qty {display: inline-flex;align-items: stretch;border: 1px solid var(--wc-border, #e0e0e0);border-radius: 6px;overflow: hidden;background: #fafafa;width: fit-content;font-size: 16px;line-height: 1;}
.grenzwald-qty .qty-btn {display: flex;align-items: center;justify-content: center;background: none;border: none;cursor: pointer;color: var(--wc-text, #333);transition: background 0.15s ease, opacity 0.15s ease;flex-shrink: 0;padding: 0.4em;}
.grenzwald-qty .qty-btn-minus {padding-right: 0.25em;}
.grenzwald-qty .qty-btn-plus {padding-left: 0.25em;}
.grenzwald-qty .qty-btn:active:not(:disabled) {transform: scale(1.3);transition: var(--transition);}
.grenzwald-qty .qty-btn:disabled {opacity: 0.25;cursor: default;}
.grenzwald-qty .qty-btn svg {width: 1em;height: 1em;pointer-events: none;display: block;}
.grenzwald-qty .qty-display {position: relative;overflow: hidden;display: flex;align-items: center;justify-content: center;width: 1.5em;padding: 0 10px;}
.grenzwald-qty .qty-display::before,
.grenzwald-qty .qty-display::after {content: '';position: absolute;left: 0;right: 0;height: 30%;z-index: 2;pointer-events: none;}
.grenzwald-qty .qty-display::before {top: 0;background: linear-gradient(to bottom, #fafafa, transparent);}
.grenzwald-qty .qty-display::after {bottom: 0;background: linear-gradient(to top, #fafafa, transparent);}
.grenzwald-qty .qty {width: 100%;padding: 0.35em 0;text-align: center;font-size: 1em;font-weight: 600;font-variant-numeric: tabular-nums;border: none;background: transparent;-moz-appearance: textfield;outline: none;font-family: inherit;line-height: 1.2;}
.grenzwald-qty .qty::-webkit-outer-spin-button,
.grenzwald-qty .qty::-webkit-inner-spin-button {-webkit-appearance: none;margin: 0;}

/* Einzelproduktseite */
.product-add-to-cart .grenzwald-qty {font-size: 18px;}

/* Verfügbarkeit */
.product-add-to-cart .stock {display: inline-flex;align-items: center;gap: 8px;padding: 8px 15px;border-radius: 4px;font-size: 14px;font-weight: 500;margin-top: 15px;}
.product-add-to-cart .stock.in-stock {background: #d4edda;color: #155724;}
.product-add-to-cart .stock.out-of-stock {background: #f8d7da;color: #721c24;}

/* Produktmeta */
.product-meta {display: flex;flex-direction: column;gap: 10px;padding-top: 20px;border-top: 1px solid var(--wc-border);}
.product-meta-item {display: flex;gap: 10px;font-size: 14px;}
.product-meta-item .meta-label {color: #666;min-width: 100px;}
.product-meta-item .meta-value {color: var(--wc-text);}
.product-meta-item .meta-value a {color: var(--wc-primary);}

/* Tabs */
.single-product-tabs {margin-top: 20px;scroll-margin-top: 200px;}
.woocommerce-tabs {scroll-margin-top: 200px;}
.woocommerce-tabs .panel, .woocommerce-Tabs-panel {scroll-margin-top: 200px;}
.single-product-tabs .woocommerce-tabs {margin: 0;}
.single-product-tabs .woocommerce-tabs ul.tabs {display: flex;list-style: none;padding: 0;margin: 0;border-bottom: 2px solid var(--wc-border);gap: 5px;}
.single-product-tabs .woocommerce-tabs ul.tabs li {margin: 0;position: relative;}
.single-product-tabs .woocommerce-tabs ul.tabs li a {display: block;padding: 15px 25px;color: var(--wc-text);font-weight: 600;font-size: 15px;text-decoration: none;border-bottom: 2px solid transparent;margin-bottom: -2px;transition: color 0.2s ease, border-color 0.2s ease;}
.single-product-tabs .woocommerce-tabs ul.tabs li a:hover {color: var(--wc-primary);}
.single-product-tabs .woocommerce-tabs ul.tabs li.active a {color: var(--wc-primary);border-bottom-color: var(--wc-primary);}
.single-product-tabs .woocommerce-tabs .panel {padding: 30px 0;line-height: 1.7;display: none;}
.single-product-tabs .woocommerce-tabs .panel:first-of-type {display: block;}
.single-product-tabs .woocommerce-tabs .panel h2 {font-size: 22px;margin: 0 0 20px;}
.single-product-tabs .woocommerce-tabs .panel ul {list-style-type: disc;padding-left: 1.5em;margin: 0 0 1em;}
.single-product-tabs .woocommerce-tabs .panel ul li {list-style-type: disc;margin-left: 0;margin-bottom: 0.3em;}
.single-product-tabs .woocommerce-tabs .panel ol {list-style-type: decimal;padding-left: 1.5em;margin: 0 0 1em;}
.single-product-tabs .woocommerce-tabs .panel ol li {list-style-type: decimal;margin-left: 0;margin-bottom: 0.3em;}

/* Ähnliche Produkte */
.single-product-container .related.products {margin-top: 40px;padding-top: 40px;border-top: 1px solid var(--wc-border);}
.single-product-container .related.products > h2 {font-size: 24px;margin: 0 0 30px;}

/* ========================================
   PRODUKT LIGHTBOX
   ======================================== */

.product-lightbox {position: fixed;top: 0;left: 0;right: 0;bottom: 0;z-index: 999999;opacity: 0;visibility: hidden;transition: opacity 0.3s ease, visibility 0.3s ease;}
.product-lightbox.active {opacity: 1;visibility: visible;}
.product-lightbox-overlay {position: absolute;top: 0;left: 0;right: 0;bottom: 0;background: rgba(0, 0, 0, 0.95);backdrop-filter: blur(10px);}
.product-lightbox-container {position: relative;width: 100%;height: 100%;display: flex;flex-direction: column;align-items: center;justify-content: center;padding: 60px 80px 100px;}
.product-lightbox-close {position: fixed;top: 20px;right: 20px;width: 50px;height: 50px;border-radius: 50%;background: rgba(255, 255, 255, 0.1);color: #fff;border: 2px solid rgba(255, 255, 255, 0.3);font-size: 32px;cursor: pointer;z-index: 10;transition: all 0.2s ease;display: flex;align-items: center;justify-content: center;line-height: 1;}
.product-lightbox-close:hover {background: rgba(255, 255, 255, 0.2);border-color: rgba(255, 255, 255, 0.5);}
.product-lightbox-prev, .product-lightbox-next {position: fixed;top: 50%;transform: translateY(-50%);width: 50px;height: 50px;border-radius: 50%;background: rgba(255, 255, 255, 0.1);color: #fff;border: 2px solid rgba(255, 255, 255, 0.3);font-size: 28px;cursor: pointer;z-index: 10;transition: all 0.2s ease;display: flex;align-items: center;justify-content: center;}
.product-lightbox-prev {left: 20px;}
.product-lightbox-next {right: 20px;}
.product-lightbox-prev:hover, .product-lightbox-next:hover {background: rgba(255, 255, 255, 0.2);border-color: rgba(255, 255, 255, 0.5);}
.product-lightbox-counter {position: fixed;top: 25px;left: 50%;transform: translateX(-50%);color: #fff;font-size: 16px;z-index: 10;}
.product-lightbox-image-wrapper {max-width: 90%;max-height: calc(100vh - 200px);display: flex;align-items: center;justify-content: center;}
.product-lightbox-image {max-width: 100%;max-height: calc(100vh - 200px);object-fit: contain;border-radius: 8px;}
.product-lightbox-thumbnails {position: fixed;bottom: 20px;left: 50%;transform: translateX(-50%);display: flex;gap: 10px;padding: 10px;background: rgba(0, 0, 0, 0.5);border-radius: 8px;max-width: 90%;overflow-x: auto;}
.product-lightbox-thumb {width: 60px;height: 60px;border-radius: 6px;overflow: hidden;cursor: pointer;opacity: 0.5;transition: opacity 0.2s ease, transform 0.2s ease;flex-shrink: 0;border: 2px solid transparent;}
.product-lightbox-thumb:hover {opacity: 0.8;}
.product-lightbox-thumb.active {opacity: 1;border-color: var(--wc-primary);}
.product-lightbox-thumb img {width: 100%;height: 100%;object-fit: cover;}

/* Legacy Support - alter Code */
.woocommerce div.product {display: grid;grid-template-columns: 2fr 1fr;gap: 50px;align-items: start;}
.woocommerce div.product div.images {position: relative;}
.woocommerce div.product div.images img {width: 100%;height: auto;border-radius: 8px;}
.woocommerce div.product div.summary {padding: 20px 0;}
.woocommerce div.product .product_title {margin: 0 0 15px;font-size: 28px;}
.woocommerce div.product p.price {font-size: 24px;color: var(--wc-primary);font-weight: 700;margin-bottom: 20px;}
.woocommerce div.product .woocommerce-product-details__short-description {margin-bottom: 20px;line-height: 1.6;}

.woocommerce .quantity {display: inline-flex;align-items: center;margin-right: 10px;}

.woocommerce div.product .woocommerce-tabs {grid-column: 1 / -1;margin-top: 40px;}
.woocommerce div.product .woocommerce-tabs ul.tabs {display: flex;list-style: none;padding: 0;margin: 0 0 20px;border-bottom: 2px solid var(--wc-border);}
.woocommerce div.product .woocommerce-tabs ul.tabs li {margin: 0;}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {display: block;padding: 15px 25px;color: var(--wc-text);font-weight: 600;border-bottom: 2px solid transparent;margin-bottom: -2px;}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {border-bottom-color: var(--wc-primary);color: var(--wc-primary);}

/* ========================================
   WARENKORB - Grid Layout
   ======================================== */

.woocommerce-cart .woocommerce {
    max-width: var(--wrp-width, 1240px);
    margin: 0 auto;
    padding: 40px 5%;
}

/* Cart Page Title */
.woocommerce-cart .woocommerce > h1,
.woocommerce-cart .entry-title {
    font-size: 32px;
    margin-bottom: 30px;
    font-family: var(--font-headline, inherit);
}

/* Cart Grid Container */
.cart-grid {
    background: var(--wc-bg);
    border-radius: 12px;
    box-shadow: 0 2px 15px rgba(0,0,0,0.06);
    overflow: hidden;
    margin-bottom: 30px;
}

/* Cart Header (Desktop) */
.cart-grid-header {
    display: grid;
    grid-template-columns: 1fr 120px 100px 120px 50px;
    gap: 15px;
    padding: 18px 20px;
    background: var(--wc-bg-light);
    border-bottom: 2px solid var(--wc-border);
    font-weight: 600;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #666;
}

.cart-grid-header > div {
    display: flex;
    align-items: center;
}

.cart-header-price,
.cart-header-quantity,
.cart-header-subtotal {
    justify-content: center;
    text-align: center;
}

.cart-header-remove {
    visibility: hidden;
}

/* Cart Items Container */
.cart-grid-items {
    display: flex;
    flex-direction: column;
}

/* Single Cart Item */
.cart-item {
    display: grid;
    grid-template-columns: 90px 1fr 120px 100px 120px 50px;
    gap: 15px;
    padding: 20px;
    border-bottom: 1px solid var(--wc-border);
    align-items: center;
    transition: background 0.2s ease;
}

.cart-item:last-child {
    border-bottom: none;
}

.cart-item:hover {
    background: rgba(0,0,0,0.01);
}

/* Cart Item Loading/Updating State */
.cart-item.updating {
    position: relative;
    pointer-events: none;
}

.cart-item.updating::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 24px;
    height: 24px;
    margin: -12px 0 0 -12px;
    border: 3px solid var(--wc-border);
    border-top-color: var(--wc-primary);
    border-radius: 50%;
    animation: cart-spinner 0.8s linear infinite;
    z-index: 10;
}

@keyframes cart-spinner {
    to { transform: rotate(360deg); }
}

/* Cart Item Thumbnail */
.cart-item-thumbnail {
    width: 80px;
    height: 80px;
    flex-shrink: 0;
}

.cart-item-thumbnail a {
    display: block;
    width: 100%;
    height: 100%;
}

.cart-item-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

/* Cart Item Info */
.cart-item-info {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 0;
}

.cart-item-name {
    font-weight: 600;
    font-size: 16px;
    word-break: break-word;
}

.cart-item-name a {
    color: var(--wc-text);
    text-decoration: none;
    transition: color 0.2s ease;
}

.cart-item-name a:hover {
    color: var(--wc-primary);
}

.cart-item-name .variation,
.cart-item-name dl.variation {
    display: block;
    font-size: 13px;
    font-weight: 400;
    color: #888;
    margin-top: 5px;
}

.cart-item-name .variation dt,
.cart-item-name .variation dd {
    display: inline;
    margin: 0;
}

.cart-item-name .variation p {
    margin: 0;
}

/* Mobile Price (hidden on desktop) */
.cart-item-price-mobile {
    display: none;
    font-weight: 600;
    color: var(--wc-text);
    font-size: 14px;
}

/* Cart Item Price */
.cart-item-price {
    text-align: center;
    font-weight: 600;
    color: var(--wc-text);
}

/* Cart Item Quantity */
.cart-item-quantity {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 4px;
}

.cart-item-quantity .grenzwald-qty {font-size: 14px;}

.min-qty-hint {
    width: 100%;
    text-align: center;
    font-size: 11px;
    color: #c0392b;
    animation: minQtyFadeOut 3s forwards;
}

@keyframes minQtyFadeOut {
    0%   { opacity: 1; }
    70%  { opacity: 1; }
    100% { opacity: 0; }
}

/* Cart Item Subtotal */
.cart-item-subtotal {
    text-align: center;
    font-weight: 700;
    font-size: 17px;
    color: var(--wc-primary);
}

/* Cart Item Remove */
.cart-item-remove {
    display: flex;
    justify-content: center;
}

.cart-item-remove .remove-item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(231, 76, 60, 0.1);
    color: var(--wc-error);
    font-size: 22px;
    font-weight: 400;
    line-height: 1;
    text-decoration: none;
    transition: all 0.2s ease;
}

.cart-item-remove .remove-item:hover {
    background: var(--wc-error);
    color: white;
    transform: scale(1.1);
}

/* Cart Actions */
.cart-grid-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
    padding: 20px;
    background: var(--wc-bg-light);
    border-top: 2px solid var(--wc-border);
}

.cart-coupon {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}

.cart-coupon #coupon_code {
    padding: 12px 16px;
    border: 2px solid var(--wc-border);
    border-radius: 8px;
    font-size: 15px;
    min-width: 180px;
    transition: border-color 0.2s ease;
    box-sizing: border-box;
}

.cart-coupon #coupon_code:focus {
    outline: none;
    border-color: var(--wc-primary);
}

.cart-coupon #coupon_code::placeholder {
    color: #aaa;
}

.cart-coupon .button {
    padding: 12px 20px;
    font-size: 14px;
    border-radius: 8px;
}

.cart-grid-actions .update-cart {
    padding: 12px 24px;
    font-size: 14px;
    border-radius: 8px;
    background: var(--wc-secondary);
    transition: background 0.2s ease, transform 0.2s ease;
}

.cart-grid-actions .update-cart:hover {
    background: var(--wc-primary);
    transform: translateY(-2px);
}

.cart-grid-actions .update-cart:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none;
}

/* Legacy Table Styles (für andere WooCommerce-Seiten) */
.woocommerce table.shop_table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    margin-bottom: 30px;
    background: var(--wc-bg);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 15px rgba(0,0,0,0.06);
}

.woocommerce table.shop_table th {
    padding: 18px 20px;
    background: var(--wc-bg-light);
    font-weight: 600;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #666;
}

.woocommerce table.shop_table td {
    padding: 20px;
    border-bottom: 1px solid var(--wc-border);
    vertical-align: middle;
}

.woocommerce table.shop_table tbody tr:last-child td {
    border-bottom: none;
}

/* Cart Collaterals (Totals Section) */
.woocommerce .cart-collaterals {margin-top: 40px;}
.woocommerce .cart-collaterals::after {content: '';display: table;clear: both;}

/* Versandzeilen im Warenkorb verstecken – Auswahl erst im Checkout */
.woocommerce-cart .cart_totals tr.shipping,
.woocommerce-cart .cart_totals tr.abholung-hinweis {display: none;}

/* Abholung Hinweis-Box im Checkout – standardmäßig versteckt, JS blendet ein */
.woocommerce-checkout .abholung-hinweis {display: none;}
.woocommerce-checkout .abholung-hinweis td {
    padding: 4px 0 10px !important;
    border-bottom: none !important;
}
/* Leere Paket-Überschrift ("Sendung 1") ausblenden */
.woocommerce-checkout .woocommerce-shipping-totals h3:empty {display: none;}
.abholung-info-box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    background: #fef8ee;
    border-left: 3px solid var(--wc-primary);
    border-radius: 0 6px 6px 0;
    padding: 11px 14px;
}
.abholung-info-icon {
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    color: var(--wc-primary);
    opacity: 0.85;
}
.abholung-info-text {
    display: flex;
    flex-direction: column;
    line-height: 1.5;
}
.abholung-info-label {
    font-size: 11px;
    font-weight: 600;
    color: #999;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 1px;
}
.abholung-info-phone {
    font-size: 15px;
    font-weight: 700;
    color: var(--wc-primary);
    text-decoration: none;
    line-height: 1.3;
}
.abholung-info-phone:hover {text-decoration: underline;}
.abholung-info-hours {
    font-size: 12px;
    color: #888;
    margin-top: 1px;
}

/* Cart Totals Box */
.woocommerce .cart_totals {background: var(--wc-bg);padding: 30px;border-radius: 12px;box-shadow: 0 2px 15px rgba(0,0,0,0.06);max-width: 800px;margin-left: auto;box-sizing: border-box;overflow: hidden;}
.woocommerce .cart_totals h2 {margin: 0 0 25px;font-size: 22px;font-family: var(--font-headline, inherit);padding-bottom: 15px;border-bottom: 2px solid var(--wc-border);}
.woocommerce .cart_totals table {width: 100%;margin-bottom: 25px;}
.woocommerce .cart_totals table th,
.woocommerce .cart_totals table td {padding: 15px ;border-bottom: 1px solid var(--wc-border);font-size: 16px;word-break: break-word;}
.woocommerce .cart_totals table th {font-weight: 600;color: #666;text-align: left; width: 54%;}
.woocommerce .cart_totals table td {text-align: right;font-weight: 500;}
.woocommerce .cart_totals table tr:last-child th,
.woocommerce .cart_totals table tr:last-child td {border-bottom: none;padding-top: 20px;}
.woocommerce .cart_totals table .order-total th,
.woocommerce .cart_totals table .order-total td {font-size: 20px;font-weight: 700;}
.woocommerce .cart_totals table .order-total td {color: var(--wc-primary);}

/* Checkout Button */
.woocommerce .cart_totals .wc-proceed-to-checkout {margin-top: 10px;}
.woocommerce .cart_totals .wc-proceed-to-checkout a.checkout-button {display: block;width: 100%;padding: 16px 30px;font-size: 18px;font-weight: 600;text-align: center;border-radius: 10px;background: var(--wc-primary);color: white;transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;}
.woocommerce .cart_totals .wc-proceed-to-checkout a.checkout-button:hover {background: var(--wc-secondary);transform: translateY(-3px);box-shadow: 0 5px 20px rgba(0,0,0,0.15);}

/* Empty Cart */
.woocommerce-cart .cart-empty {text-align: center;padding: 60px 20px;background: var(--wc-bg);border-radius: 12px;box-shadow: 0 2px 15px rgba(0,0,0,0.06);}
.woocommerce-cart .cart-empty.woocommerce-info {background: var(--wc-bg);border-left: none;font-size: 18px;color: var(--wc-text);}
.woocommerce-cart .cart-empty::before {content: '';display: block;width: 80px;height: 80px;margin: 0 auto 20px;background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='1.5'%3E%3Ccircle cx='9' cy='21' r='1'%3E%3C/circle%3E%3Ccircle cx='20' cy='21' r='1'%3E%3C/circle%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'%3E%3C/path%3E%3C/svg%3E");background-size: contain;background-repeat: no-repeat;opacity: 0.5;}
.woocommerce-cart .return-to-shop {margin-top: 30px;}
.woocommerce-cart .return-to-shop a.button {padding: 14px 30px;font-size: 16px;border-radius: 8px;}

/* ========================================
   CHECKOUT
   ======================================== */

.woocommerce-checkout .woocommerce {
    max-width: var(--wrp-width, 1240px);
    margin: 0 auto;
    padding: 40px 5%;
}

/* 2-Spalten-Grid via Custom-Template (form-checkout.php) */
.gw-checkout-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: start;
}

.gw-checkout-col--left {
    /* linke Spalte: Kontaktdaten + Liefertermin */
}

.gw-checkout-col--right {
    /* rechte Spalte: Bestellübersicht + Zahlung */
    position: sticky;
    top: 20px;
}

/* Überschrift rechte Spalte */
#order_review_heading {
    margin: 0 0 16px;
    font-size: 20px;
    font-family: var(--font-headline, inherit);
    padding-bottom: 10px;
    border-bottom: 2px solid var(--wc-border);
}

.woocommerce form.checkout h3 {
    margin: 0 0 20px;
    font-size: 20px;
    font-family: var(--font-headline, inherit);
    padding-bottom: 10px;
    border-bottom: 2px solid var(--wc-border);
}
h3#order_payment_heading{
    margin-bottom: -18px;
    border-bottom: none;
}

/* Checkout Form Fields */
.woocommerce form.checkout .form-row {
    margin-bottom: 18px;
}

.woocommerce form.checkout .form-row label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 6px;
    color: var(--wc-text);
}

.woocommerce form.checkout .form-row input.input-text,
.woocommerce form.checkout .form-row textarea,
.woocommerce form.checkout .form-row select {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid var(--wc-border);
    border-radius: 8px;
    font-size: 16px;
    font-family: var(--font-body, sans-serif);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    box-sizing: border-box;
    background: var(--wc-bg);
}

.woocommerce form.checkout .form-row input.input-text:focus,
.woocommerce form.checkout .form-row textarea:focus,
.woocommerce form.checkout .form-row select:focus {
    outline: none;
    border-color: var(--wc-primary);
    box-shadow: 0 0 0 3px rgba(217, 119, 6, 0.15);
}

.woocommerce form.checkout .form-row-first,
.woocommerce form.checkout .form-row-last {
    width: 48%;
    display: inline-block;
    vertical-align: top;
}

.woocommerce form.checkout .form-row-first {
    margin-right: 3%;
}

.woocommerce form.checkout .form-row textarea {
    min-height: 100px;
    resize: vertical;
}

#order_review {
    background: var(--wc-bg);
    padding: 28px 30px;
    border-radius: 12px;
    box-shadow: 0 2px 15px rgba(0,0,0,0.06);
    /* Reihenfolge: Produktliste zuerst, dann Zahlungsart */
    display: flex;
    flex-direction: column;
}

/* Alles standardmäßig nach unten (Zahlungsbereich inkl. Überschrift) */
#order_review > * {
    order: 2;
}

/* Produkttabelle immer oben */
#order_review > .shop_table {
    order: 1;
}

/* Tabelle: Basis */
#order_review .shop_table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 40px;
}

/* Tabellenkopf */
#order_review .shop_table thead th {
    padding: 10px 10px 12px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #999;
    border-bottom: 1px solid var(--wc-border);
    text-align: left;
}
#order_review .shop_table thead th.product-total {text-align: right;}

/* Produktzeilen (tbody) */
#order_review .shop_table tbody tr td {
    padding: 18px 12px;
    border-bottom: 1px solid var(--wc-border);
    vertical-align: top;
}
#order_review .shop_table tbody tr td.product-total {
    text-align: right;
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
    vertical-align: middle;
}

/* Flex-Layout: Bild | Info */
.review-product-row {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

/* Produktbild */
.review-product-image {
    flex-shrink: 0;
    width: 76px;
    height: 76px;
    border-radius: 8px;
    overflow: hidden;
    background: var(--wc-bg-light);
}
.review-product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Produktinfos (Name, Menge, Beschreibung) */
.review-product-info {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
    padding-top: 2px;
}
.review-product-name {
    font-size: 15px;
    font-weight: 600;
    line-height: 1.3;
    color: var(--wc-text);
    word-break: break-word;
}
.review-product-qty {
    display: inline-block;
    font-size: 12px;
    font-weight: 600;
    color: #fff;
    background: var(--wc-primary);
    border-radius: 4px;
    padding: 1px 7px;
    width: fit-content;
    line-height: 1.7;
}
.review-product-desc {
    font-size: 12px;
    color: #999;
    line-height: 1.4;
    margin-top: 1px;
}
.review-product-desc p {margin: 0;}

/* Tfoot: Zwischensumme, Versand, Gesamt */
#order_review .shop_table tfoot tr th,
#order_review .shop_table tfoot tr td {
    padding: 10px 10px;
    border-bottom: 1px solid var(--wc-border);
    font-size: 14px;
}
#order_review .shop_table tfoot tr th {
    font-weight: 600;
    color: #666;
    text-align: left;
}
#order_review .shop_table tfoot tr td {
    text-align: right;
}
/* Versandzeile: über volle Breite */
#order_review .shop_table tfoot .woocommerce-shipping-totals {
    display: block;
}
#order_review .shop_table tfoot .woocommerce-shipping-totals th {
    display: none;
}
#order_review .shop_table tfoot .woocommerce-shipping-totals td {
    display: block;
    width: 100%;
    box-sizing: border-box;
    text-align: left;
    padding: 14px 10px;
    border-bottom: 1px solid var(--wc-border);
}
#order_review .shop_table tfoot .woocommerce-shipping-methods {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
#order_review .shop_table tfoot .woocommerce-shipping-methods li {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    padding: 10px 12px;
    border: 1px solid var(--wc-border);
    border-radius: 8px;
    cursor: pointer;
    transition: border-color 0.15s ease, background 0.15s ease;
}
#order_review .shop_table tfoot .woocommerce-shipping-methods li:has(input:checked) {
    border-color: var(--wc-primary);
    background: #fef8ee;
}
#order_review .shop_table tfoot .woocommerce-shipping-methods input[type="radio"] {
    accent-color: var(--wc-primary);
    flex-shrink: 0;
    width: 16px;
    height: 16px;
}


#order_review .shop_table tfoot .order-total th,
#order_review .shop_table tfoot .order-total td {
    font-size: 17px;
    font-weight: 700;
    border-bottom: none;
    padding-top: 14px;
}
#order_review .shop_table tfoot .order-total td {
    color: var(--wc-primary);
}
#order_review .shop_table tfoot .cart-subtotal th,
#order_review .shop_table tfoot .cart-subtotal td {
    padding-top: 14px;
}

/* Payment Methods */
.woocommerce-checkout #payment {
    background: var(--wc-bg-light);
    border-radius: 8px;
    padding: 20px;
    margin-top: 20px;
    margin-bottom: 40px;
}

.woocommerce-checkout #payment ul.payment_methods {
    list-style: none;
    padding: 0;
    margin: 0 0 20px;
}

.woocommerce-checkout #payment ul.payment_methods li {
    margin-bottom: 10px;
    padding: 15px;
    background: var(--wc-bg);
    border: 2px solid var(--wc-border);
    border-radius: 8px;
    transition: border-color 0.2s ease;
}

.woocommerce-checkout #payment ul.payment_methods li:has(input:checked) {
    border-color: var(--wc-primary);
}

.woocommerce-checkout #payment ul.payment_methods li label {
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 10px;
}

.woocommerce-checkout #payment ul.payment_methods li .payment_box {
    margin-top: 12px;
    padding: 15px;
    background: var(--wc-bg-light);
    border-radius: 6px;
    font-size: 14px;
    line-height: 1.6;
    color: #666;
}

.woocommerce-checkout #payment .place-order .button {
    width: 100%;
    padding: 16px 30px;
    font-size: 18px;
    font-weight: 600;
    border-radius: 10px;
    text-align: center;
    margin-top: 10px;
}

.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper {
    margin-bottom: 15px;
    font-size: 14px;
}

.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper label {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    cursor: pointer;
    font-weight: 400;
}

.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: var(--wc-primary);
    margin-top: 2px;
    flex-shrink: 0;
}

/* Checkout Page Title */
.woocommerce-checkout .woocommerce > h1,
.woocommerce-checkout .entry-title {
    font-size: 32px;
    margin-bottom: 30px;
    font-family: var(--font-headline, inherit);
}

/* Select2 Dropdown Styling (WooCommerce uses select2) */
.woocommerce .select2-container .select2-selection--single {
    height: 48px;
    border: 2px solid var(--wc-border);
    border-radius: 8px;
    padding: 8px 16px;
}

.woocommerce .select2-container .select2-selection--single .select2-selection__rendered {
    line-height: 30px;
    font-size: 16px;
    color: var(--wc-text);
    padding: 0;
}

.woocommerce .select2-container .select2-selection--single .select2-selection__arrow {
    height: 46px;
    right: 10px;
}

.woocommerce .select2-container--focus .select2-selection--single {
    border-color: var(--wc-primary);
    box-shadow: 0 0 0 3px rgba(217, 119, 6, 0.15);
}

/* Order Received / Thank You Page */
.woocommerce-order-received .woocommerce {
    max-width: var(--wrp-width, 1240px);
    margin: 0 auto;
    padding: 40px 5%;
}

.woocommerce-order-received .woocommerce-thankyou-order-received {
    font-size: 18px;
    font-weight: 600;
    padding: 25px;
    background: #d4edda;
    border-radius: 12px;
    text-align: center;
    color: #155724;
    margin-bottom: 30px;
}

.woocommerce-order-received .woocommerce-order-details {
    background: var(--wc-bg);
    border-radius: 12px;
    padding: 30px;
    box-shadow: 0 2px 15px rgba(0,0,0,0.06);
    margin-bottom: 30px;
}

.woocommerce-order-received .woocommerce-order-overview {
    list-style: none;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 20px;
    background: var(--wc-bg);
    border-radius: 12px;
    padding: 25px;
    box-shadow: 0 2px 15px rgba(0,0,0,0.06);
    margin-bottom: 30px;
}

.woocommerce-order-received .woocommerce-order-overview li {
    text-align: center;
    padding: 10px;
    border-right: 1px solid var(--wc-border);
}

.woocommerce-order-received .woocommerce-order-overview li:last-child {
    border-right: none;
}

.woocommerce-order-received .woocommerce-order-overview li strong {
    display: block;
    font-size: 18px;
    color: var(--wc-primary);
    margin-top: 5px;
}

.quantity-notice__min {margin-bottom: 20px;}

/* ========================================
   WOOCOMMERCE PAGE LAYOUT - STAGE AUSBLENDEN
   ======================================== */

.woocommerce-account .stage,
.woocommerce-cart .stage,
.woocommerce-checkout .stage {
    display: none;
}

.woocommerce-account .introblock,
.woocommerce-cart .introblock,
.woocommerce-checkout .introblock {
    display: none;
}

/* ========================================
   MEIN KONTO - LAYOUT
   ======================================== */

/* SVG-Reset für WooCommerce Account-Bereich
   Überschreibt das globale svg {width:100%;height:100%} aus style.css */
.woocommerce-account .woocommerce svg {
    width: auto;
    height: auto;
}

.woocommerce-account .woocommerce {
    max-width: var(--wrp-width, 1240px);
    margin: 0 auto;
    padding: 40px 5%;
}

/* Clearfix für Float-Layout */
.woocommerce-account .woocommerce::after {
    content: '';
    display: table;
    clear: both;
}

/* Shortcode-Block-Wrapper: kein doppeltes Wrapping */
.woocommerce-account .shortcode .wrp,
.woocommerce-cart .shortcode .wrp,
.woocommerce-checkout .shortcode .wrp {
    max-width: none;
    width: 100%;
    padding: 0;
}

/* Shortcode-Block clearfix */
.woocommerce-account .shortcode,
.woocommerce-cart .shortcode,
.woocommerce-checkout .shortcode {
    overflow: visible;
}

.woocommerce-account .shortcode::after,
.woocommerce-cart .shortcode::after,
.woocommerce-checkout .shortcode::after {
    content: '';
    display: table;
    clear: both;
}

/* Navigation */
.woocommerce-account .woocommerce-MyAccount-navigation {
    width: 260px;
    float: left;
    margin-right: 40px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none;
    padding: 0;
    margin: 0;
    background: var(--wc-bg);
    border-radius: 12px;
    box-shadow: 0 2px 15px rgba(0,0,0,0.06);
    overflow: hidden;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
    margin: 0;
    border-bottom: 1px solid var(--wc-border);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child {
    border-bottom: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 20px;
    color: var(--wc-text);
    font-size: 15px;
    font-weight: 500;
    transition: all 0.2s ease;
    border-left: 3px solid transparent;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
    background: var(--wc-bg-light);
    color: var(--wc-primary);
    border-left-color: var(--wc-primary);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
    background: var(--wc-primary);
    color: var(--wc-bg);
    border-left-color: var(--wc-primary);
    font-weight: 600;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a .account-nav-icon svg {
    stroke: var(--wc-bg);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover .account-nav-icon svg {
    stroke: var(--wc-primary);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a:hover .account-nav-icon svg {
    stroke: var(--wc-bg);
}

/* Navigation Icons */
.account-nav-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 20px;
    height: 20px;
}

.account-nav-icon svg {
    width: 20px !important;
    height: 20px !important;
    stroke: var(--wc-text);
    transition: stroke 0.2s ease;
}

.account-nav-label {
    flex: 1;
}

/* Logout special styling */
.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child a {
    color: #999;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child a:hover {
    color: var(--wc-error);
    border-left-color: var(--wc-error);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child a .account-nav-icon svg {
    stroke: #999;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child a:hover .account-nav-icon svg {
    stroke: var(--wc-error);
}

/* Content */
.woocommerce-account .woocommerce-MyAccount-content {
    width: calc(100% - 300px);
    float: right;
}

/* ========================================
   MEIN KONTO - DASHBOARD
   ======================================== */

.account-dashboard {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.account-welcome {
    background: var(--wc-bg);
    border-radius: 12px;
    padding: 30px;
    box-shadow: 0 2px 15px rgba(0,0,0,0.06);
}

.account-welcome h2 {
    font-size: 24px;
    font-family: var(--font-headline, inherit);
    margin: 0 0 10px;
    color: var(--wc-text);
}

.account-welcome p {
    font-size: 15px;
    line-height: 1.7;
    color: #666;
    margin: 0;
    font-weight: 400;
}

.account-welcome p a {
    color: var(--wc-primary);
    font-weight: 600;
}

.account-welcome p a:hover {
    color: var(--wc-secondary);
}

/* Quick Links */
.account-quick-links {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
}

.account-quick-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 30px 20px;
    background: var(--wc-bg);
    border-radius: 12px;
    box-shadow: 0 2px 15px rgba(0,0,0,0.06);
    text-decoration: none;
    text-align: center;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    border: 2px solid transparent;
}

.account-quick-link:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.12);
    border-color: var(--wc-primary);
}

.quick-link-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 12px;
    background: rgba(217, 119, 6, 0.1);
    color: var(--wc-primary);
    transition: background 0.2s ease;
}

.quick-link-icon svg {
    width: 28px !important;
    height: 28px !important;
}

.account-quick-link:hover .quick-link-icon {
    background: var(--wc-primary);
    color: var(--wc-bg);
}

.account-quick-link:hover .quick-link-icon svg {
    stroke: var(--wc-bg);
}

.quick-link-label {
    font-size: 16px;
    font-weight: 600;
    color: var(--wc-text);
}

.quick-link-desc {
    font-size: 13px;
    color: #999;
    font-weight: 400;
}

/* ========================================
   MEIN KONTO - LOGIN / REGISTRIERUNG
   ======================================== */

.account-login-wrapper {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
    max-width: 900px;
    margin: 0 auto;
}

.account-login-box,
.account-register-box {
    background: var(--wc-bg);
    border-radius: 12px;
    padding: 35px;
    box-shadow: 0 2px 15px rgba(0,0,0,0.06);
}

.account-login-box h2,
.account-register-box h2 {
    font-size: 22px;
    font-family: var(--font-headline, inherit);
    margin: 0 0 25px;
    padding-bottom: 15px;
    border-bottom: 2px solid var(--wc-border);
    color: var(--wc-text);
}

.account-login-box .form-row,
.account-register-box .form-row {
    margin-bottom: 18px;
}

.account-login-box label,
.account-register-box label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 6px;
    color: var(--wc-text);
}

.account-login-box input.input-text,
.account-register-box input.input-text,
.account-login-box .woocommerce-Input,
.account-register-box .woocommerce-Input {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid var(--wc-border);
    border-radius: 8px;
    font-size: 16px;
    font-family: var(--font-body, sans-serif);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    box-sizing: border-box;
}

.account-login-box input.input-text:focus,
.account-register-box input.input-text:focus,
.account-login-box .woocommerce-Input:focus,
.account-register-box .woocommerce-Input:focus {
    outline: none;
    border-color: var(--wc-primary);
    box-shadow: 0 0 0 3px rgba(217, 119, 6, 0.15);
}

.form-row-actions {
    margin-top: 25px;
}

.form-row-actions .button {
    width: 100%;
    padding: 14px 24px;
    font-size: 16px;
    border-radius: 8px;
    text-align: center;
}

.form-row-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 15px;
}

.form-row-meta .woocommerce-form__label-for-checkbox {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 400;
    cursor: pointer;
}

.form-row-meta .woocommerce-form__label-for-checkbox input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: var(--wc-primary);
    cursor: pointer;
}

.form-row-meta .woocommerce-LostPassword {
    font-size: 14px;
    color: var(--wc-primary);
    font-weight: 500;
}

.form-row-meta .woocommerce-LostPassword:hover {
    color: var(--wc-secondary);
}

.register-info {
    font-size: 14px;
    color: #666;
    font-weight: 400;
    line-height: 1.6;
    padding: 12px 16px;
    background: var(--wc-bg-light);
    border-radius: 6px;
    margin-bottom: 15px;
}

/* ========================================
   PASSWORT ANZEIGEN / VERBERGEN
   ======================================== */

/* Wrapper den WooCommerce JS um das Passwort-Feld legt */
.woocommerce form .password-input {
    position: relative;
    display: block;
}

/* Input innerhalb des Wrappers: Platz für Icon rechts */
.woocommerce form .password-input input[type="password"],
.woocommerce form .password-input input[type="text"] {
    width: 100%;
    padding-right: 48px;
    box-sizing: border-box;
}

/* Toggle-Button: Auge-Icon */
.woocommerce form .show-password-input {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    cursor: pointer;
    opacity: 0.35;
    transition: opacity 0.2s ease;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23515151' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
    background-size: 24px 24px;
    background-repeat: no-repeat;
    background-position: center;
}

.woocommerce form .show-password-input:hover {
    opacity: 0.7;
}

/* Aktiver Zustand: durchgestrichenes Auge */
.woocommerce form .show-password-input.display-password {
    opacity: 0.7;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23515151' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24'/%3E%3Cline x1='1' y1='1' x2='23' y2='23'/%3E%3C/svg%3E");
}

/* ========================================
   MEIN KONTO - BESTELLUNGEN
   ======================================== */

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background: var(--wc-bg);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 15px rgba(0,0,0,0.06);
}

.woocommerce-account .woocommerce-orders-table thead th {
    padding: 16px 20px;
    background: var(--wc-bg-light);
    font-weight: 600;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #666;
    border-bottom: 2px solid var(--wc-border);
    text-align: left;
}

.woocommerce-account .woocommerce-orders-table tbody td {
    padding: 16px 20px;
    border-bottom: 1px solid var(--wc-border);
    font-size: 15px;
    vertical-align: middle;
}

.woocommerce-account .woocommerce-orders-table tbody tr:last-child td {
    border-bottom: none;
}

.woocommerce-account .woocommerce-orders-table tbody tr:hover {
    background: rgba(0,0,0,0.01);
}

.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-number a {
    font-weight: 600;
    color: var(--wc-primary);
}

.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-status {
    font-weight: 500;
}

.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions a.button {
    padding: 8px 16px;
    font-size: 13px;
    border-radius: 6px;
}

/* Order Status Badges */
.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-status::before {
    display: none;
}

/* No orders */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message--info,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info {
    text-align: center;
    padding: 50px 20px;
    background: var(--wc-bg);
    border-radius: 12px;
    box-shadow: 0 2px 15px rgba(0,0,0,0.06);
    border-left: none;
    font-size: 16px;
}

/* ========================================
   MEIN KONTO - EINZELNE BESTELLUNG
   ======================================== */

.woocommerce-account .woocommerce-MyAccount-content h2 {
    font-size: 22px;
    font-family: var(--font-headline, inherit);
    margin: 0 0 20px;
    color: var(--wc-text);
}

.woocommerce-account .woocommerce-MyAccount-content h3 {
    font-size: 18px;
    font-family: var(--font-headline, inherit);
    margin: 30px 0 15px;
    color: var(--wc-text);
}

.woocommerce-account .woocommerce-MyAccount-content .shop_table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background: var(--wc-bg);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 15px rgba(0,0,0,0.06);
    margin-bottom: 30px;
}

/* Spalten-Header der Bestelldetails-Tabelle ausblenden – redundant zum tfoot */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-table--order-details thead {
    display: none;
}

/* Preis-Spalte (product-total) rechtsbündig wie die tfoot-Werte */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-table--order-details td.product-total {
    text-align: right;
}

.woocommerce-account .woocommerce-MyAccount-content .shop_table thead th {
    padding: 16px 20px;
    background: var(--wc-bg-light);
    font-weight: 600;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #666;
    border-bottom: 2px solid var(--wc-border);
    text-align: left;
}

.woocommerce-account .woocommerce-MyAccount-content .shop_table td {
    padding: 16px 20px;
    border-bottom: 1px solid var(--wc-border);
    font-size: 15px;
    vertical-align: middle;
}

.woocommerce-account .woocommerce-MyAccount-content .shop_table tbody tr:last-child td,
.woocommerce-account .woocommerce-MyAccount-content .shop_table tfoot tr:last-child td,
.woocommerce-account .woocommerce-MyAccount-content .shop_table tfoot tr:last-child th {
    border-bottom: none;
}

.woocommerce-account .woocommerce-MyAccount-content .shop_table tfoot th {
    padding: 16px 20px;
    font-weight: 600;
    text-align: left;
    border-bottom: 1px solid var(--wc-border);
    font-size: 15px;
}

.woocommerce-account .woocommerce-MyAccount-content .shop_table tfoot td {
    text-align: right;
}

/* Order details totals */
.woocommerce-account .woocommerce-MyAccount-content .shop_table tfoot tr:last-child th,
.woocommerce-account .woocommerce-MyAccount-content .shop_table tfoot tr:last-child td {
    font-size: 18px;
    font-weight: 700;
    padding-top: 20px;
}

.woocommerce-account .woocommerce-MyAccount-content .shop_table tfoot tr:last-child td {
    color: var(--wc-primary);
}

/* Customer Details on Order Page */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details {
    margin-top: 30px;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details .woocommerce-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details address {
    background: var(--wc-bg);
    border-radius: 12px;
    padding: 25px;
    box-shadow: 0 2px 15px rgba(0,0,0,0.06);
    font-size: 15px;
    line-height: 1.7;
}

/* ========================================
   MEIN KONTO - ADRESSEN
   ======================================== */

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .woocommerce-Address {
    background: var(--wc-bg);
    border-radius: 12px;
    padding: 25px;
    box-shadow: 0 2px 15px rgba(0,0,0,0.06);
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .woocommerce-Address header {
    position: relative;
    margin: 0 0 15px;
    padding-bottom: 15px;
    border-bottom: 2px solid var(--wc-border);
    display: flex;
    justify-content: space-between;
    align-items: center;
}


.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .woocommerce-Address header h3 {
    margin: 0;
    font-size: 18px;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .woocommerce-Address header a {
    font-size: 13px;
    font-weight: 600;
    color: var(--wc-primary);
    padding: 6px 14px;
    border-radius: 6px;
    border: 1px solid var(--wc-primary);
    transition: all 0.2s ease;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .woocommerce-Address header a:hover {
    background: var(--wc-primary);
    color: var(--wc-bg);
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .woocommerce-Address address {
    font-size: 15px;
    line-height: 1.8;
    color: #666;
}

/* ========================================
   MEIN KONTO - ADRESSE BEARBEITEN
   ======================================== */

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields .form-row {
    margin-bottom: 18px;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 6px;
    color: var(--wc-text);
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields input.input-text,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields select {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid var(--wc-border);
    border-radius: 8px;
    font-size: 16px;
    font-family: var(--font-body, sans-serif);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    box-sizing: border-box;
    background: var(--wc-bg);
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields input.input-text:focus,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields select:focus {
    outline: none;
    border-color: var(--wc-primary);
    box-shadow: 0 0 0 3px rgba(217, 119, 6, 0.15);
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields .form-row-first,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields .form-row-last {
    width: 48%;
    display: inline-block;
    vertical-align: top;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields .form-row-first {
    margin-right: 3%;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields p:last-child .button {
    padding: 14px 30px;
    font-size: 16px;
    border-radius: 8px;
    margin-top: 10px;
}

/* ========================================
   MEIN KONTO - KONTODATEN
   ======================================== */

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm {
    background: var(--wc-bg);
    border-radius: 12px;
    padding: 30px;
    box-shadow: 0 2px 15px rgba(0,0,0,0.06);
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm .form-row {
    margin-bottom: 18px;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 6px;
    color: var(--wc-text);
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm input.input-text,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm input[type="email"],
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm input[type="password"] {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid var(--wc-border);
    border-radius: 8px;
    font-size: 16px;
    font-family: var(--font-body, sans-serif);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    box-sizing: border-box;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm input.input-text:focus,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm input[type="email"]:focus,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm input[type="password"]:focus {
    outline: none;
    border-color: var(--wc-primary);
    box-shadow: 0 0 0 3px rgba(217, 119, 6, 0.15);
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm .form-row-first,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm .form-row-last {
    width: 48%;
    display: inline-block;
    vertical-align: top;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm .form-row-first {
    margin-right: 3%;
}

/* Password Change Section */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm fieldset {
    border: none;
    padding: 0;
    margin: 30px 0 0;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm fieldset legend {
    font-size: 18px;
    font-weight: 700;
    font-family: var(--font-headline, inherit);
    color: var(--wc-text);
    padding-bottom: 15px;
    margin-bottom: 20px;
    border-bottom: 2px solid var(--wc-border);
    width: 100%;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm .form-row:last-child .button {
    padding: 14px 30px;
    font-size: 16px;
    border-radius: 8px;
    margin-top: 10px;
}

/* ========================================
   MEIN KONTO - DOWNLOADS
   ======================================== */

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-table--order-downloads {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background: var(--wc-bg);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 15px rgba(0,0,0,0.06);
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-table--order-downloads th {
    padding: 16px 20px;
    background: var(--wc-bg-light);
    font-weight: 600;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #666;
    border-bottom: 2px solid var(--wc-border);
    text-align: left;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-table--order-downloads td {
    padding: 16px 20px;
    border-bottom: 1px solid var(--wc-border);
    font-size: 15px;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-table--order-downloads tbody tr:last-child td {
    border-bottom: none;
}

/* ========================================
   MEIN KONTO - PASSWORT VERGESSEN
   ======================================== */

.woocommerce-account .woocommerce-ResetPassword {
    max-width: 500px;
    margin: 0 auto;
    background: var(--wc-bg);
    border-radius: 12px;
    padding: 35px;
    box-shadow: 0 2px 15px rgba(0,0,0,0.06);
}

.woocommerce-account .woocommerce-ResetPassword p {
    font-size: 15px;
    line-height: 1.7;
    color: #666;
    font-weight: 400;
    margin-bottom: 20px;
}

.woocommerce-account .woocommerce-ResetPassword .form-row label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 6px;
}

.woocommerce-account .woocommerce-ResetPassword .form-row input.input-text {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid var(--wc-border);
    border-radius: 8px;
    font-size: 16px;
    box-sizing: border-box;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.woocommerce-account .woocommerce-ResetPassword .form-row input.input-text:focus {
    outline: none;
    border-color: var(--wc-primary);
    box-shadow: 0 0 0 3px rgba(217, 119, 6, 0.15);
}

.woocommerce-account .woocommerce-ResetPassword .form-row .button {
    width: 100%;
    padding: 14px 24px;
    font-size: 16px;
    border-radius: 8px;
    margin-top: 10px;
}

/* ========================================
   ANIMATIONEN
   ======================================== */

@keyframes flame-flicker {
    0%, 100% { transform: translateY(0) scale(1); }
    25% { transform: translateY(-2px) scale(1.08) rotate(-2deg); }
    50% { transform: translateY(-1px) scale(1.02) rotate(1deg); }
    75% { transform: translateY(-3px) scale(1.1) rotate(-1deg); }
}

/* ========================================
   RESPONSIVE
   ======================================== */

@media (max-width: 1024px) {
    .woocommerce ul.products {grid-template-columns: repeat(2, 1fr);}

    .woocommerce ul.products.list-view {grid-template-columns: 1fr;}
    .woocommerce ul.products.list-view li.product {grid-template-columns: 220px 1fr;}
    .woocommerce ul.products.list-view li.product a img {min-height: 160px;}

    /* List View Tablet - Product Teaser */
    .woocommerce ul.products.list-view .product-teaser {grid-template-columns: 200px 1fr;}
    .woocommerce ul.products.list-view .product-teaser .product-teaser-image {min-height: 160px;}
    .woocommerce ul.products.list-view .product-teaser .product-teaser-content {padding-right: 70px;}

    .single-product-main {grid-template-columns: 1fr 1fr;gap: 30px;}
    .product-main-image {grid-column: 1 / 2;grid-row: 1;}
    .product-thumbnails {grid-column: 1 / 2;grid-row: 2;grid-template-columns: repeat(4, 1fr);}
    .single-product-info {grid-column: 2;grid-row: 1 / 3;}
    .product-teaser-image {width: 100%;}
}

@media (max-width: 768px) {
    .woocommerce div.product {grid-template-columns: 1fr;}
    .gw-checkout-grid {grid-template-columns: 1fr;}
    .gw-checkout-col--right {position: static;}
    #order_review {position: static;}
    .woocommerce form.checkout .form-row-first,
    .woocommerce form.checkout .form-row-last {
        width: 100%;
        display: block;
        margin-right: 0;
    }
    .woocommerce-order-received .woocommerce-order-overview {
        grid-template-columns: repeat(2, 1fr);
    }
    .woocommerce-order-received .woocommerce-order-overview li {
        border-right: none;
        border-bottom: 1px solid var(--wc-border);
    }
    /* My Account Responsive */
    .woocommerce-account .woocommerce-MyAccount-navigation {
        width: 100%;
        float: none;
        margin-right: 0;
        margin-bottom: 25px;
    }
    .woocommerce-account .woocommerce-MyAccount-navigation ul {
        display: flex;
        flex-wrap: wrap;
        gap: 0;
        border-radius: 12px;
    }
    .woocommerce-account .woocommerce-MyAccount-navigation ul li {
        flex: 1;
        min-width: 0;
        border-bottom: none;
        border-right: 1px solid var(--wc-border);
    }
    .woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child {
        border-right: none;
    }
    .woocommerce-account .woocommerce-MyAccount-navigation ul li a {
        justify-content: center;
        padding: 12px 10px;
        font-size: 13px;
        border-left: none;
        border-bottom: 3px solid transparent;
        gap: 6px;
    }
    .woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
        border-left-color: transparent;
        border-bottom-color: var(--wc-primary);
    }
    .woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
        border-left-color: transparent;
        border-bottom-color: var(--wc-primary);
    }
    .woocommerce-account .woocommerce-MyAccount-navigation ul li a .account-nav-label {
        display: none;
    }
    .woocommerce-account .woocommerce-MyAccount-content {
        width: 100%;
        float: none;
    }
    /* Login Responsive */
    .account-login-wrapper {
        grid-template-columns: 1fr;
    }
    /* Addresses Responsive */
    .woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses {
        grid-template-columns: 1fr;
    }
    .woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details .woocommerce-columns {
        grid-template-columns: 1fr;
    }
    /* Address form rows */
    .woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields .form-row-first,
    .woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields .form-row-last,
    .woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm .form-row-first,
    .woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm .form-row-last {
        width: 100%;
        display: block;
        margin-right: 0;
    }

    /* Single Product Responsive */
    .single-product-page {padding: 20px 0 60px;}
    .single-product-main {grid-template-columns: 1fr;gap: 25px;}
    .product-main-image, .product-thumbnails, .single-product-info {grid-column: 1;grid-row: auto;}
    .product-thumbnails {grid-template-columns: repeat(4, 1fr);justify-content: center;}
    .product-title {font-size: 26px;}
    .product-price {font-size: 28px;}
    .single-product-tabs .woocommerce-tabs ul.tabs {flex-direction: column;border-bottom: none;gap: 0;}
    .single-product-tabs .woocommerce-tabs ul.tabs li {border-bottom: 1px solid var(--wc-border);}
    .single-product-tabs .woocommerce-tabs ul.tabs li a {padding: 14px 0;font-size: 15px;border-bottom: none;margin-bottom: 0;}
    .single-product-tabs .woocommerce-tabs ul.tabs li.active a {border-bottom: none;}
    .product-teaser-price {font-size: 20px;}
}



@media (max-width: 768px) {
    /* Cart Totals Mobile */
    .woocommerce .cart_totals {max-width: 100%;margin-left: 0;}

    /* Cart Page Mobile */
    .woocommerce-cart .woocommerce {padding: 30px 4%;}
    .woocommerce-cart .woocommerce > h1,
    .woocommerce-cart .entry-title {font-size: 26px;margin-bottom: 20px;}

    /* Cart Grid - Tablet */
    .cart-grid-header {
        display: none;
    }

    .cart-item {
        grid-template-columns: 80px 1fr auto;
        grid-template-rows: auto auto;
        gap: 10px 15px;
        position: relative;
        padding: 20px 50px 20px 20px;
    }

    .cart-item-thumbnail {
        grid-column: 1;
        grid-row: 1 / 3;
        width: 70px;
        height: 70px;
    }

    .cart-item-info {
        grid-column: 2;
        grid-row: 1;
    }

    .cart-item-price {
        display: none;
    }

    .cart-item-price-mobile {
        display: block;
    }

    .cart-item-quantity {
        grid-column: 2;
        grid-row: 2;
        justify-content: flex-start;
    }

    .cart-item-subtotal {
        grid-column: 3;
        grid-row: 1 / 3;
        align-self: center;
        font-size: 16px;
    }

    .cart-item-remove {
        position: absolute;
        top: 15px;
        right: 15px;
    }

    .cart-item-remove .remove-item {
        width: 28px;
        height: 28px;
        font-size: 18px;
    }

    /* Cart Actions Mobile */
    .cart-grid-actions {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
        padding: 15px;
    }

    .cart-coupon {
        flex-direction: column;
        width: 100%;
    }

    .cart-coupon #coupon_code {
        width: 100%;
        min-width: unset;
    }

    .cart-coupon .button {
        width: 100%;
        text-align: center;
    }

    .cart-grid-actions .update-cart {
        width: 100%;
        text-align: center;
    }

    /* Alle Buttons: Textumbruch erlauben */
    .woocommerce .button,
    .woocommerce button.button,
    .woocommerce input.button,
    .woocommerce a.button {
        white-space: normal;
        word-wrap: break-word;
        text-align: center;
        padding: 12px 16px;
    }

    /* Cart Totals Box Mobile */
    .woocommerce .cart_totals {padding: 20px;}
    .woocommerce .cart_totals h2 {font-size: 20px;margin-bottom: 20px;padding-bottom: 12px;}
    .woocommerce .cart_totals table th,
    .woocommerce .cart_totals table td {padding: 12px ;font-size: 15px;}
    .woocommerce .cart_totals table .order-total th,
    .woocommerce .cart_totals table .order-total td {font-size: 18px;}

    /* Checkout Button Mobile */
    .woocommerce .cart_totals .wc-proceed-to-checkout a.checkout-button {
        padding: 14px 20px;
        font-size: 16px;
        white-space: normal;
        word-wrap: break-word;
        line-height: 1.4;
    }
}

@media (max-width: 700px) {
    .woocommerce ul.products {grid-template-columns: 1fr;}

    /* List View Mobile - Kompakte Karten */
    .woocommerce ul.products.list-view li.product {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .woocommerce ul.products.list-view li.product a img {
        height: 200px;
        width: 100%;
        border-radius: 12px 12px 0 0;
        min-height: auto;
    }

    .woocommerce ul.products.list-view li.product .woocommerce-loop-product__title {
        padding: 18px 18px 8px;
        font-size: 18px;
    }

    .woocommerce ul.products.list-view li.product .price {
        padding: 0 18px;
        font-size: 20px;
        margin: 5px 0 10px;
    }

    .woocommerce ul.products.list-view li.product .button {
        margin: 10px 18px 18px;
    }

    /* List View Mobile - Product Teaser */
    .woocommerce ul.products.list-view .product-teaser {
        grid-template-columns: 1fr;
    }

    .woocommerce ul.products.list-view .product-teaser .product-teaser-link {
        grid-column: 1;
        grid-row: 1;
    }

    .woocommerce ul.products.list-view .product-teaser .product-teaser-content {
        grid-column: 1;
        grid-row: 2;
        padding: 20px;
        padding-right: 20px;
    }

    .woocommerce ul.products.list-view .product-teaser .product-teaser-add-to-cart {
        grid-column: 1;
        grid-row: 2;
        position: static;
        align-self: end;
        justify-self: end;
        margin: 20px;
        width: 40px;
        height: 40px;
    }

    .woocommerce ul.products.list-view .product-teaser .product-teaser-image {
        height: 200px;
        min-height: auto;
        border-radius: 12px 12px 0 0;
    }

    .woocommerce ul.products.list-view .product-teaser .product-teaser-image img {
        border-radius: 12px 12px 0 0;
    }

    /* Product Lightbox Mobile */
    .product-lightbox-container {padding: 50px 15px 90px;}
    .product-lightbox-prev, .product-lightbox-next {width: 40px;height: 40px;font-size: 22px;}
    .product-lightbox-prev {left: 10px;}
    .product-lightbox-next {right: 10px;}
    .product-lightbox-close {width: 40px;height: 40px;font-size: 24px;top: 10px;right: 10px;}
    .product-lightbox-thumbnails {bottom: 10px;padding: 8px;gap: 8px;}
    .product-lightbox-thumb {width: 50px;height: 50px;}

    /* Cart Grid Mobile - Karten-Layout */
    .cart-grid {
        background: transparent;
        box-shadow: none;
        border-radius: 0;
    }

    .cart-grid-items {
        gap: 15px;
    }

    .cart-item {
        background: var(--wc-bg);
        border-radius: 12px;
        box-shadow: 0 2px 10px rgba(0,0,0,0.06);
        border: none;
        grid-template-columns: 70px 1fr auto;
        padding: 15px 45px 15px 15px;
    }

    .cart-item-thumbnail {
        width: 60px;
        height: 60px;
    }

    .cart-item-name {
        font-size: 14px;
    }

    .cart-item-quantity .grenzwald-qty {font-size: 13px;}

    .cart-item-subtotal {
        font-size: 15px;
    }

    /* Cart Actions Mobile Kompakt */
    .cart-grid-actions {
        background: var(--wc-bg);
        border-radius: 12px;
        box-shadow: 0 2px 10px rgba(0,0,0,0.06);
        border: none;
        margin-top: 15px;
        padding: 15px;
    }

    .cart-coupon #coupon_code {
        font-size: 14px;
        padding: 10px 12px;
    }

    .cart-coupon .button {
        padding: 10px 15px;
        font-size: 13px;
    }

    .cart-grid-actions .update-cart {
        padding: 12px 15px;
        font-size: 14px;
    }

    /* Single Product Mobile */
    .product-header {flex-direction: column;gap: 10px;}
    .product-thumbnails {justify-content: center;}
    .product-thumbnail {width: 60px;height: 60px;}
}


@media (max-width: 570px){
    .woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .woocommerce-Address header{
        flex-direction: column;
    }
}

/* Sehr kleine Smartphones */
@media (max-width: 380px) {
    .cart-item {
        grid-template-columns: 55px 1fr auto;
        gap: 8px 10px;
        padding: 12px 40px 12px 12px;
    }

    .cart-item-thumbnail {
        width: 50px;
        height: 50px;
    }

    .cart-item-name {
        font-size: 13px;
    }

    .cart-item-subtotal {
        font-size: 14px;
    }

    .cart-item-quantity .grenzwald-qty {font-size: 12px;}

    .cart-item-remove .remove-item {
        width: 24px;
        height: 24px;
        font-size: 16px;
    }
}

/* ========================================
   CART TOAST NOTIFICATION
   ======================================== */

.cart-toast {
    position: fixed;
    bottom: 30px;
    right: 30px;
    background: var(--wc-bg);
    border-radius: 12px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.2);
    padding: 20px 25px;
    display: flex;
    flex-direction: column;
    gap: 15px;
    z-index: 99999;
    max-width: 380px;
    transform: translateY(150%) scale(0.9);
    opacity: 0;
    visibility: hidden;
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.3s ease, visibility 0.3s ease;
}

.cart-toast.show {
    transform: translateY(0) scale(1);
    opacity: 1;
    visibility: visible;
}

.cart-toast-content {
    display: flex;
    align-items: center;
    gap: 12px;
}

.cart-toast-icon {
    width: 28px;
    height: 28px;
    flex-shrink: 0;
    color: var(--wc-success);
    stroke-width: 2.5;
}

.cart-toast.error .cart-toast-icon {
    color: var(--wc-error);
}

.cart-toast-message {
    font-size: 15px;
    line-height: 1.4;
    color: var(--wc-text);
    font-weight: 500;
}

.cart-toast-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 20px;
    background: var(--wc-primary);
    color: var(--wc-bg);
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.2s ease, transform 0.2s ease;
}

.cart-toast-link:hover {
    background: var(--wc-secondary);
    transform: translateY(-2px);
}

@media (max-width: 550px) {
    .cart-toast {
        left: 15px;
        right: 15px;
        bottom: 15px;
        max-width: none;
    }

    /* Cart Totals noch kompakter */
    .woocommerce .cart_totals {padding: 15px;border-radius: 10px;}
    .woocommerce .cart_totals h2 {font-size: 18px;margin-bottom: 15px;padding-bottom: 10px;}
    .woocommerce .cart_totals table th,
    .woocommerce .cart_totals table td {font-size: 14px;padding: 10px ;}
    .woocommerce .cart_totals table .order-total th,
    .woocommerce .cart_totals table .order-total td {font-size: 16px;}

    /* Checkout Button kompakter */
    .woocommerce .cart_totals .wc-proceed-to-checkout a.checkout-button {
        padding: 12px 15px;
        font-size: 15px;
        border-radius: 8px;
    }

    /* Versandkosten-Optionen umbrechen */
    .woocommerce .cart_totals .woocommerce-shipping-methods {
        list-style: none;
        padding: 0;
        margin: 0;
    }
    .woocommerce .cart_totals .woocommerce-shipping-methods li {
        margin-bottom: 8px;
        font-size: 13px;
        word-break: break-word;
    }
    .woocommerce .cart_totals .woocommerce-shipping-methods li label {
        display: inline;
        word-break: break-word;
    }

    /* My Account Mobile Small */
    .woocommerce-account .woocommerce {
        padding: 25px 4%;
    }
    .account-quick-links {
        grid-template-columns: 1fr;
    }
    .account-quick-link {
        padding: 20px 15px;
        flex-direction: row;
        text-align: left;
    }
    .quick-link-icon {
        width: 48px;
        height: 48px;
    }
    .account-welcome {
        padding: 20px;
    }
    .account-welcome h2 {
        font-size: 20px;
    }
    .account-login-box,
    .account-register-box {
        padding: 25px 20px;
    }
    .woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm {
        padding: 25px 20px;
    }
    /* Account orders table scroll on small screens */
    .woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}

/* ========================================
   VIEW-ORDER: Horizontal scroll fix ~500px
   ======================================== */
@media (max-width: 560px) {
    /* Prevent page-level horizontal scroll on account pages */
    .woocommerce-account .woocommerce-MyAccount-content {
        overflow-x: hidden;
    }

    /* Make order items table scrollable instead of overflowing */
    .woocommerce-account .woocommerce-MyAccount-content .shop_table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    /* Compact cell padding at small viewports */
    .woocommerce-account .woocommerce-MyAccount-content .shop_table thead th,
    .woocommerce-account .woocommerce-MyAccount-content .shop_table td,
    .woocommerce-account .woocommerce-MyAccount-content .shop_table tfoot th,
    .woocommerce-account .woocommerce-MyAccount-content .shop_table tfoot td {
        padding: 10px 12px;
        font-size: 13px;
        word-break: break-word;
        overflow-wrap: break-word;
    }

    /* Order total row stays readable */
    .woocommerce-account .woocommerce-MyAccount-content .shop_table tfoot tr:last-child th,
    .woocommerce-account .woocommerce-MyAccount-content .shop_table tfoot tr:last-child td {
        font-size: 15px;
    }

    /* Stack order overview pills on very small screens */
    .woocommerce-account .woocommerce-MyAccount-content .woocommerce-order-overview {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
    }

    .woocommerce-account .woocommerce-MyAccount-content .woocommerce-order-overview li {
        flex: 1 1 calc(50% - 8px);
        min-width: 120px;
        border-right: none;
        border: 1px solid var(--wc-border);
        border-radius: 8px;
        padding: 10px 12px;
        text-align: left;
    }

    /* Collapse address grid to single column */
    .woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details .woocommerce-columns {
        grid-template-columns: 1fr;
    }
}

/* Sehr kleine Viewports - Zusätzliche Anpassungen */
@media (max-width: 380px) {
    /* Cart Page extra kompakt */
    .woocommerce-cart .woocommerce {padding: 20px 3%;}

    /* Buttons noch kleiner */
    .woocommerce .button,
    .woocommerce button.button,
    .woocommerce a.button {
        padding: 10px 12px;
        font-size: 13px;
    }

    /* Checkout Button */
    .woocommerce .cart_totals .wc-proceed-to-checkout a.checkout-button {
        padding: 11px 12px;
        font-size: 14px;
    }

    /* Cart Totals Tabelle */
    .woocommerce .cart_totals table th {width: 35%;font-size: 13px;}
    .woocommerce .cart_totals table td {font-size: 13px;}
}

/* ========================================
   HEADER ACCOUNT ICON
   ======================================== */

.header-account-link {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    color: var(--wc-text);
    text-decoration: none;
    transition: color 0.2s ease, transform 0.2s ease;
}

.header-account-link:hover {
    color: var(--wc-primary);
}

.header-account-link svg {
    width: 24px;
    height: 24px;
}

/* ========================================
   HEADER CART ICON
   ======================================== */

.header-cart-link {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    color: var(--wc-text);
    text-decoration: none;
    transition: color 0.2s ease, transform 0.2s ease;
}

.header-cart-link:hover {
    color: var(--wc-primary);
}

.header-cart-link svg {
    width: 24px;
    height: 24px;
}

.header-cart-count {
    position: absolute;
    top: 2px;
    right: 2px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    background: var(--wc-primary);
    color: white;
    font-size: 11px;
    font-weight: 700;
    line-height: 18px;
    text-align: center;
    border-radius: 10px;
    transition: transform 0.3s ease;
}

.header-cart-count:empty {
    display: none;
}

.header-cart-link.bounce {
    animation: cartBounce 0.6s ease;
}

.header-cart-link.bounce .header-cart-count {
    animation: countPop 0.4s ease 0.2s;
}

@keyframes cartBounce {
    0%, 100% { transform: translateY(0); }
    25% { transform: translateY(-8px); }
    50% { transform: translateY(-4px); }
    75% { transform: translateY(-6px); }
}

@keyframes countPop {
    0% { transform: scale(1); }
    50% { transform: scale(1.3); }
    100% { transform: scale(1); }
}

/* Add to Cart Button Loading Animation */
.product-teaser-add-to-cart.loading svg {
    animation: spin 1s linear infinite;
}

.product-teaser-add-to-cart.added svg {
    display: none;
}

.product-teaser-add-to-cart.added::after {
    content: '';
    width: 16px;
    height: 16px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* Mengenhinweis unter Add-to-Cart */
.quantity-notice {
    margin-top: 16px;
    padding: 12px 16px;
    background-color: #f5f0eb;
    border-left: 3px solid var(--primary-color, #c8501a);
    font-size: 13px;
    line-height: 1.5;
    color: #555;
    border-radius: 0 4px 4px 0;
}

/* Rabattstaffel-Hinweis unter Add-to-Cart */
.quantity-notice__max {
    margin: 0 0 10px;
}

.quantity-notice__discount-title {
    margin: 0 0 6px;
    font-weight: 600;
    color: #4a8c3f;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.quantity-notice__discount-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 4px 12px;
}

.quantity-notice__discount-list li {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
}

.quantity-notice__discount-list .qty {
    color: #555;
}

.quantity-notice__discount-list .disc {
    font-weight: 600;
    color: #4a8c3f;
    background: rgba(74, 140, 63, 0.1);
    padding: 1px 5px;
    border-radius: 3px;
}

/* Mengenrabatt-Info auf Produktseite */
.quantity-discount-info {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 16px;
    padding: 10px 14px;
    background-color: #eef6ee;
    border-left: 3px solid #4a8c3f;
    border-radius: 0 4px 4px 0;
    font-size: 13px;
    color: #333;
}

.quantity-discount-info .discount-label {
    font-weight: 600;
    color: #4a8c3f;
}

.quantity-discount-info .discount-tier {
    padding: 2px 8px;
    background: rgba(74, 140, 63, 0.1);
    border-radius: 3px;
}

.quantity-discount-info .discount-tier strong {
    color: #4a8c3f;
}

/* Liefergebiet-Hinweis im Checkout */
/* Photon Adress-Autocomplete Dropdown */
.photon-dropdown {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 9999;
    margin: 2px 0 0;
    padding: 4px 0;
    list-style: none;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 6px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.12);
    max-height: 260px;
    overflow-y: auto;
}
.photon-dropdown--open {
    display: block;
}
.photon-dropdown__item {
    padding: 10px 14px;
    font-size: 14px;
    line-height: 1.4;
    cursor: pointer;
    color: #333;
    border-bottom: 1px solid #f0f0f0;
}
.photon-dropdown__item:last-child {
    border-bottom: none;
}
.photon-dropdown__item:hover,
.photon-dropdown__item--active {
    background: #f5f5f5;
    color: var(--wc-primary, #2d6a4f);
}

.woocommerce-checkout .shipping-distance-notice {
    margin: 15px 0;
    padding: 14px 18px;
    background: #fff3cd;
    border-left: 4px solid #ffc107;
    border-radius: 0 6px 6px 0;
    font-size: 14px;
    line-height: 1.5;
    color: #856404;
}

.woocommerce-checkout .shipping-distance-notice.error {
    background: #f8d7da;
    border-left-color: var(--wc-error);
    color: #721c24;
}

/* Durchgestrichener Preis im Warenkorb bei Rabatt */
.cart-item-price del {
    opacity: 0.5;
    font-size: 0.9em;
    margin-right: 4px;
}

.cart-item-price ins {
    text-decoration: none;
    font-weight: 600;
    color: #4a8c3f;
}

/* ========================================
   LIEFERTERMIN-BUCHUNG (CHECKOUT)
   ======================================== */

.grenzwald-delivery-section {
    margin: 30px 0;
    padding: 25px;
    background: var(--wc-bg);
    border-radius: 12px;
    box-shadow: 0 2px 15px rgba(0,0,0,0.06);
}

.grenzwald-delivery-section h3 {
    margin: 0 0 20px;
    font-size: 18px;
    font-weight: 700;
    font-family: var(--font-headline, inherit);
    color: var(--wc-text);
}

.delivery-calendar-wrapper {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Kalender-Container */
.delivery-calendar-container {
    background: var(--wc-bg-light);
    border-radius: 10px;
    padding: 20px;
    border: 1px solid var(--wc-border);
    max-width: 100%;
    box-sizing: border-box;
}

/* Kalender-Header mit Navigation */
.delivery-calendar-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--wc-border);
}

.delivery-calendar-header button {
    width: 36px;
    height: 36px;
    border: 1px solid var(--wc-border);
    background: var(--wc-bg);
    border-radius: 6px;
    cursor: pointer;
    font-size: 16px;
    color: var(--wc-text);
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.delivery-calendar-header button:hover {
    background: var(--wc-primary);
    border-color: var(--wc-primary);
    color: var(--wc-bg);
}

.delivery-month-year {
    font-size: 16px;
    font-weight: 600;
    color: var(--wc-text);
}

/* Wochentage */
.delivery-calendar-days {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 4px;
    margin-bottom: 8px;
}

.delivery-day-name {
    text-align: center;
    font-size: 12px;
    font-weight: 600;
    color: #999;
    padding: 8px 0;
    text-transform: uppercase;
}

.delivery-day-name.delivery-day-active {
    color: var(--wc-primary);
}

/* Kalender-Grid */
.delivery-calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 4px;
}

.delivery-day {
    position: relative;
    aspect-ratio: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    font-size: 14px;
    color: #ccc;
    background: transparent;
    cursor: default;
    transition: all 0.2s ease;
}

.delivery-day.empty {
    visibility: hidden;
}

.delivery-day.disabled,
.delivery-day.past {
    color: #ddd;
}

.delivery-day .day-number {
    font-weight: 600;
    line-height: 1;
}

/* Verfügbare Tage */
.delivery-day.available {
    background: rgba(76, 175, 80, 0.1);
    color: var(--wc-text);
    cursor: pointer;
    border: 2px solid transparent;
}

.delivery-day.available:hover {
    background: rgba(76, 175, 80, 0.2);
    border-color: var(--wc-success);
}

.delivery-day.available.selected {
    background: var(--wc-primary);
    color: var(--wc-bg);
    border-color: var(--wc-primary);
}

.delivery-day.available.selected .delivery-badge {
    background: rgba(255,255,255,0.25);
    color: var(--wc-bg);
}

/* Ausgebuchte Tage */
.delivery-day.fully-booked {
    background: rgba(231, 76, 60, 0.1);
    color: #999;
}

/* Badge für freie Slots */
.delivery-badge {
    position: absolute;
    bottom: 3px;
    font-size: 9px;
    font-weight: 600;
    padding: 1px 4px;
    border-radius: 3px;
    background: rgba(76, 175, 80, 0.2);
    color: var(--wc-success);
    white-space: nowrap;
}

.delivery-badge.booked {
    background: rgba(231, 76, 60, 0.2);
    color: var(--wc-error);
}

/* Mo–Do nach Rücksprache (nur Abholung) */
.delivery-day.by-arrangement {
    background: #f0f4ff;
    color: #7a8baa;
    cursor: default;
    border: 1px dashed #b0bdd8;
}

.delivery-badge.arrangement {
    background: rgba(100, 130, 200, 0.15);
    color: #6482c8;
    font-size: 10px;
}

/* Hinweis-Box unter dem Abholkalender */
.abholung-arrangement-notice {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 14px;
    padding: 11px 14px;
    background: #f0f4ff;
    border-left: 3px solid #6482c8;
    border-radius: 0 4px 4px 0;
    font-size: 13px;
    line-height: 1.5;
    color: #444;
}

.abholung-arrangement-notice .arrangement-icon {
    font-size: 18px;
    line-height: 1;
    color: #6482c8;
    flex-shrink: 0;
    margin-top: 1px;
}

.abholung-arrangement-notice a {
    color: var(--primary-color, #c8501a);
    font-weight: 600;
    white-space: nowrap;
}

.delivery-booking-window-hint {margin:10px 0 0;font-size:12px;color:#888;text-align:center;}

/* Loading State */
.delivery-calendar.loading {
    opacity: 0.6;
    pointer-events: none;
}

.delivery-day.loading {
    background: #f5f5f5;
}

/* Zeitfenster-Auswahl */
.timeslots-container {
    background: var(--wc-bg-light);
    border-radius: 10px;
    padding: 20px;
    border: 1px solid var(--wc-border);
}

.timeslots-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--wc-border);
}

.timeslots-date {
    font-weight: 600;
    color: var(--wc-text);
}

.timeslots-label {
    font-size: 13px;
    color: #666;
}

.timeslots-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 8px;
}

.timeslot-btn {
    padding: 12px 8px;
    border: 2px solid var(--wc-border);
    background: var(--wc-bg);
    border-radius: 6px;
    font-size: 13px;
    font-weight: 500;
    color: var(--wc-text);
    cursor: pointer;
    transition: all 0.2s ease;
    text-align: center;
}

.timeslot-btn.available:hover {
    border-color: var(--wc-primary);
    color: var(--wc-primary);
}

.timeslot-btn.available.selected {
    background: var(--wc-primary);
    border-color: var(--wc-primary);
    color: var(--wc-bg);
}

.timeslot-btn.booked {
    background: #f5f5f5;
    color: #bbb;
    cursor: not-allowed;
    text-decoration: line-through;
}

.timeslots-loading {
    text-align: center;
    padding: 20px;
    color: #666;
    font-size: 14px;
}

/* Bestätigung */
.delivery-confirmed {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 20px;
    background: rgba(76, 175, 80, 0.1);
    border-radius: 10px;
    border: 2px solid var(--wc-success);
}

.confirmed-icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--wc-success);
    color: var(--wc-bg);
    border-radius: 50%;
    font-size: 20px;
    font-weight: bold;
    flex-shrink: 0;
}

.confirmed-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.confirmed-label {
    font-size: 12px;
    color: var(--wc-success);
    font-weight: 600;
    text-transform: uppercase;
}

.confirmed-text strong {
    font-size: 16px;
    color: var(--wc-text);
}

.confirmed-text span:last-child {
    font-size: 14px;
    color: #666;
}

/* Danke-Seite Liefertermin */
.woocommerce-delivery-details {
    margin: 30px 0;
    padding: 25px;
    background: rgba(76, 175, 80, 0.08);
    border-radius: 10px;
    border-left: 4px solid var(--wc-success);
}

.woocommerce-delivery-details__title {
    margin: 0 0 15px;
    font-size: 18px;
    color: var(--wc-success);
}

.woocommerce-delivery-details p {
    margin: 0;
    font-size: 16px;
    line-height: 1.6;
}

/* Responsive */
@media (max-width: 768px) {
    .grenzwald-delivery-section {
        padding: 20px;
        margin: 20px 0;
    }
    .timeslots-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .delivery-day {
        font-size: 11px;
    }

    .delivery-badge {
        display: none;
    }
}

@media (max-width: 480px) {
    .delivery-calendar-container,
    .timeslots-container {
        padding: 15px;
    }

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

    .timeslot-btn {
        padding: 10px 6px;
        font-size: 12px;
    }

    .delivery-confirmed {
        flex-direction: column;
        text-align: center;
    }

    .confirmed-text {
        align-items: center;
    }
}

/* ========================================
   WOOCOMMERCE ANIMATIONEN
   ======================================== */


/* Cart Icon Bounce Animation */
.header-cart-link.bounce {
    animation: cartBounce 0.5s ease;
}

@keyframes cartBounce {
    0%, 100% { transform: scale(1); }
    30% { transform: scale(1.3); }
    50% { transform: scale(0.95); }
    70% { transform: scale(1.1); }
}

/* Cart Count Pulse */
.header-cart-count {
    transition: transform 0.2s ease, background 0.2s ease;
}

.header-cart-link.bounce .header-cart-count {
    animation: countPulse 0.4s ease;
}

@keyframes countPulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.3); background: var(--wc-success); }
}

/* Toast Animation verbessert */
.cart-toast {
    transform: translateX(100%);
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s ease;
}

.cart-toast.show {
    transform: translateX(0);
}

/* Varianten-Button Animation */
.variant-option {
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.variant-option:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.variant-option.active {
    animation: variantSelect 0.3s ease;
}

@keyframes variantSelect {
    0% { transform: scale(1); }
    50% { transform: scale(0.95); }
    100% { transform: scale(1); }
}

/* Preis-Update Animation */
.product-teaser-price {
    transition: all 0.3s ease;
}

.product-teaser-price.updating {
    opacity: 0.5;
    transform: scale(0.98);
}

/* Warenkorb-Seite: Item-Hover */
.cart-item {
    transition: background 0.2s ease, box-shadow 0.2s ease;
}

.cart-item:hover {
    background: rgba(217, 119, 6, 0.02);
}

/* Warenkorb: Entfernen-Animation */
.cart-item.removing {
    animation: slideOutLeft 0.3s ease forwards;
}

@keyframes slideOutLeft {
    to {
        opacity: 0;
        transform: translateX(-30px);
    }
}

/* Checkout: Field Focus Animation */
.woocommerce-checkout input:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus {
    animation: focusPulse 0.3s ease;
}

@keyframes focusPulse {
    0% { box-shadow: 0 0 0 0 rgba(217, 119, 6, 0.4); }
    100% { box-shadow: 0 0 0 3px rgba(217, 119, 6, 0.15); }
}

/* Delivery Calendar Day Hover */
.delivery-day.available {
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.delivery-day.available:hover {
    transform: scale(1.08);
    z-index: 1;
}

.delivery-day.selected {
    animation: daySelect 0.3s ease;
}

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

/* Timeslot Selection Animation */
.timeslot-btn.selected {
    animation: slotSelect 0.3s ease;
}

@keyframes slotSelect {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.05); }
}

/* Lieferbestätigung Einblendung */
.delivery-confirmed {
    animation: confirmSlideIn 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

@keyframes confirmSlideIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Reduce Motion Respektieren */
@media (prefers-reduced-motion: reduce) {
    .woocommerce ul.products li.product,
    .product-teaser-add-to-cart,
    .cart-toast,
    .variant-option,
    .delivery-day,
    .timeslot-btn,
    .delivery-confirmed {
        animation: none !important;
        transition: none !important;
        opacity: 1 !important;
        transform: none !important;
    }
}
