/*
 * Heritage Motorworks
 * WOO.CSS
 *
 * REFACTOR ONLY — no visual redesign.
 * The following rules are moved from the former GLOBAL.CSS unchanged.
 * Germanized product information is explicitly retained.
 */

/* ==========================================================
   WOO HEADER
========================================================== */

.custom-category-header {
    margin-bottom: 40px;
}

.custom-category-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}

.custom-category-top h1 {
    margin: 0;
    font-size: 40px;
}

/* ==========================================================
   WARENKORB
========================================================== */

.wc-block-mini-cart__button {

    border: 1px solid rgba(214,195,165,0.6) !important;

    border-radius: 999px !important;

    background: rgba(0,0,0,0.28) !important;

    padding: 10px 16px !important;

    backdrop-filter: blur(8px);

    transition: all 0.3s ease;
}

.wc-block-mini-cart__button:hover {

    border-color: #18b391 !important;

    background: rgba(24,179,145,0.08) !important;

    box-shadow: 0 0 20px rgba(24,179,145,0.25);
}

.wc-block-mini-cart__button svg,
.wc-block-mini-cart__amount,
.wc-block-mini-cart__badge {

    color: #ffffff !important;

    fill: #ffffff !important;
}

.wc-block-mini-cart__badge,
.wc-block-mini-cart__badge span {

    background: #18b391 !important;

    color: #ffffff !important;

    border-radius: 999px;

    box-shadow: 0 0 10px rgba(24,179,145,0.35);
}

/* ==========================================================
   PRODUKTHINWEIS
========================================================== */

.heritage-product-note {

    margin-top: 25px;

    padding: 18px 22px;

    border: 1px solid rgba(214,195,165,0.35);

    border-radius: 14px;

    background: rgba(0,0,0,0.03);

    font-size: 12px;

    line-height: 1.6;
}

.heritage-product-note strong {

    font-size: 14px;
}

/* ==========================================================
   FILTER – TEXTGRÖSSE
========================================================== */

.custom-filter-text {
    font-size: 14px;
}

.custom-filter-text label,
.custom-filter-text li,
.custom-filter-text a,
.custom-filter-text span {
    font-size: inherit;
}

/* ==========================================================
   FILTER – ARTIKEL
========================================================== */

.custom-filter-text-art {
    font-size: 14px;
}

.custom-filter-text-art label,
.custom-filter-text-art li,
.custom-filter-text-art a,
.custom-filter-text-art span {
    font-size: inherit;
}

/* ==========================================================
   WOOCommerce Germanized – PREISINFORMATIONEN
========================================================== */

.woocommerce ul.products li.product p.wc-gzd-additional-info {

    font-size: 10px !important;

    line-height: 1.00 !important;

    margin-bottom: 2px !important;

    color: #777;
}

.woocommerce ul.products li.product p.wc-gzd-additional-info:last-of-type {

    margin-bottom: 5px !important;
}

.woocommerce ul.products li.product p.wc-gzd-additional-info a {

    font-size: 10px !important;
}

/* ==========================================================
   WOOCommerce – ALLGEMEINE BUTTONS
   Noch nicht ausgelagert
========================================================== */

/* Produktseite */
.woocommerce div.product .single_add_to_cart_button,

/* Shop */
.woocommerce a.button:not(.onsale),
.woocommerce button.button,
.woocommerce input.button,

/* Warenkorb & Checkout */
.woocommerce .cart .button,
.woocommerce .checkout-button,
.woocommerce #place_order,
.woocommerce #respond input#submit,
.woocommerce input.button.alt,
.woocommerce button.button.alt {

    background: #fff !important;

    color: #18A391 !important;

    border-color: #fff !important;

    /* border-radius: 30px !important; */

    font-size: 16px !important;

    font-weight: 500 !important;

    letter-spacing: 1px !important;

    text-transform: uppercase !important;

    padding: 10px 20px !important;

    transition: all .25s ease;
}

/* ==========================================================
   WOOCommerce – BUTTON HOVER
========================================================== */

.woocommerce div.product .single_add_to_cart_button:hover,
.woocommerce a.button:not(.onsale):hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce .checkout-button:hover,
.woocommerce #place_order:hover {

    background: #18A891 !important;

    color: #fff !important;
}

/* ==========================================================
   WOOCommerce – BUTTON FOCUS
========================================================== */

.woocommerce button:focus,
.woocommerce a.button:not(.onsale):focus,
.woocommerce .single_add_to_cart_button:focus {

    outline: none;

    box-shadow: none;
}


/* ==========================================================
   HERITAGE MOTORWORKS — SHOP PRODUCT GRID / PRODUCT CARDS
   V1 — visual redesign
   Germanized rules above remain untouched.
   ========================================================== */

/* ----------------------------------------------------------
   SHOP PRODUCT GRID
   ---------------------------------------------------------- */

.woocommerce ul.products,
.woocommerce-page ul.products {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    column-gap: 28px;
    row-gap: 64px;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after {
    display: none !important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    display: flex;
    flex-direction: column;
    min-width: 0;
    width: auto !important;
    margin: 0 !important;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

/* ----------------------------------------------------------
   PRODUCT IMAGE AREA
   ---------------------------------------------------------- */

.woocommerce ul.products li.product .astra-shop-thumbnail-wrap {
    position: relative;
    width: 100%;
    margin: 0 0 18px;
    padding: 0;
}

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
    display: block;
    color: inherit;
    text-decoration: none;
}

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link img {
    display: block;
    width: 100%;
    height: 225px;
    margin: 0;
    padding: 0;
    object-fit: contain;
    object-position: center;
    border: 0;
    box-shadow: none;
    transition: transform .22s ease;
}

.woocommerce ul.products li.product:hover a.woocommerce-LoopProduct-link img {
    transform: scale(1.018);
}

/* ----------------------------------------------------------
   SALE BADGE
   ---------------------------------------------------------- */

.woocommerce ul.products li.product .onsale {
    top: 10px;
    left: 10px;
    right: auto;
    z-index: 3;
    min-width: 0;
    min-height: 0;
    margin: 0;
    padding: 8px 15px;
    border: 0;
    border-radius: 20px;
    background: #18A891;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .7px;
    line-height: 1;
    text-transform: uppercase;
    box-shadow: 0 5px 12px rgba(0, 0, 0, .10);
}

/* ----------------------------------------------------------
   PRODUCT INFORMATION
   ---------------------------------------------------------- */

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
    min-height: 58px;
    margin: 0 0 12px;
    padding: 0;
    color: #111;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: 0;
}

.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 7px;
    min-height: 25px;
    margin: auto 0 15px;
    padding: 0;
    color: #111;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.2;
}

.woocommerce ul.products li.product .price del,
.woocommerce-page ul.products li.product .price del {
    margin: 0;
    color: #9a9b96;
    font-size: 14px;
    font-weight: 400;
}

.woocommerce ul.products li.product .price ins,
.woocommerce-page ul.products li.product .price ins {
    color: #111;
    font-weight: 600;
    text-decoration: none;
}

.woocommerce ul.products li.product .price .woocommerce-Price-currencySymbol,
.woocommerce-page ul.products li.product .price .woocommerce-Price-currencySymbol {
    font-size: .9em;
}

/* ----------------------------------------------------------
   ADD TO CART
   ---------------------------------------------------------- */

.woocommerce ul.products li.product .button:not(.onsale),
.woocommerce-page ul.products li.product .button:not(.onsale) {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 42px;
    margin: 0;
    padding: 0 14px;
    border: 1px solid #18A891;
    border-radius: 30px;
    background: transparent;
    color: #18A891;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .8px;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
    box-shadow: none;
    transition: background .18s ease, color .18s ease, border-color .18s ease;
}

.woocommerce ul.products li.product .button:not(.onsale):hover,
.woocommerce-page ul.products li.product .button:not(.onsale):hover {
    border-color: #18A891;
    background: #18A891;
    color: #fff;
    box-shadow: none;
}

/* Keep product cards visually clean when Woo/Astra adds helper markup. */
.woocommerce ul.products li.product .added_to_cart {
    display: none;
}

/* ----------------------------------------------------------
   DESKTOP / LARGE TABLET
   ---------------------------------------------------------- */

@media (max-width: 1100px) and (min-width: 769px) {
    .woocommerce ul.products,
    .woocommerce-page ul.products {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        column-gap: 24px;
        row-gap: 56px;
    }

    .woocommerce ul.products li.product a.woocommerce-LoopProduct-link img,
    .woocommerce-page ul.products li.product a.woocommerce-LoopProduct-link img {
        height: 205px;
    }
}

/* ----------------------------------------------------------
   MOBILE — 2 COLUMNS
   ---------------------------------------------------------- */

@media (max-width: 768px) {
    .woocommerce ul.products,
    .woocommerce-page ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 20px;
        row-gap: 54px;
        width: 100%;
    }

    .woocommerce ul.products li.product .astra-shop-thumbnail-wrap {
        margin-bottom: 14px;
    }

    .woocommerce ul.products li.product a.woocommerce-LoopProduct-link img,
    .woocommerce-page ul.products li.product a.woocommerce-LoopProduct-link img {
        height: 175px;
    }

    .woocommerce ul.products li.product .onsale {
        top: 8px;
        left: 8px;
        padding: 8px 13px;
        font-size: 10px;
    }

    .woocommerce ul.products li.product .woocommerce-loop-product__title,
    .woocommerce-page ul.products li.product .woocommerce-loop-product__title {
        min-height: 58px;
        margin-bottom: 10px;
        font-size: 15px;
        line-height: 1.3;
    }

    .woocommerce ul.products li.product .price,
    .woocommerce-page ul.products li.product .price {
        min-height: 24px;
        margin-bottom: 13px;
        font-size: 17px;
    }

    .woocommerce ul.products li.product .price del,
    .woocommerce-page ul.products li.product .price del {
        font-size: 13px;
    }

    .woocommerce ul.products li.product .button:not(.onsale),
    .woocommerce-page ul.products li.product .button:not(.onsale) {
        min-height: 44px;
        padding: 0 8px;
        font-size: 10px;
        letter-spacing: .55px;
    }
}


/* ==========================================================
   V2 — PRODUCT CARD ALIGNMENT
   All product-card content centered.
   Product image size remains unchanged from V1.
   Germanized rules remain untouched.
   ========================================================== */

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    text-align: center;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
    text-align: center;
}

.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price {
    justify-content: center;
    text-align: center;
}

.woocommerce ul.products li.product p.wc-gzd-additional-info,
.woocommerce-page ul.products li.product p.wc-gzd-additional-info {
    text-align: center;
}

.woocommerce ul.products li.product .button:not(.onsale),
.woocommerce-page ul.products li.product .button:not(.onsale) {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}


/* ==========================================================
   V3 — SALE BADGE + PAGINATION
   ========================================================== */

/* ----------------------------------------------------------
   SALE BADGE — restore Heritage turquoise badge
   ---------------------------------------------------------- */

.woocommerce ul.products li.product .onsale,
.woocommerce-page ul.products li.product .onsale {
    display: flex !important;
    align-items: center;
    justify-content: center;
    top: 10px !important;
    left: 10px !important;
    right: auto !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 8px 15px !important;
    border: 0 !important;
    border-radius: 20px !important;
    background: #18A891 !important;
    color: #fff !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .7px !important;
    line-height: 1 !important;
    text-transform: uppercase;
    text-align: center;
    box-shadow: 0 5px 12px rgba(0, 0, 0, .10) !important;
    transform: none !important;
}

/* ----------------------------------------------------------
   PAGINATION
   ---------------------------------------------------------- */

.woocommerce nav.woocommerce-pagination,
.woocommerce-page nav.woocommerce-pagination {
    display: flex;
    justify-content: center;
    width: 100%;
    margin: 72px 0 20px;
    padding: 0;
    text-align: center;
}

.woocommerce nav.woocommerce-pagination ul.page-numbers,
.woocommerce-page nav.woocommerce-pagination ul.page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin: 0;
    padding: 0;
    border: 0;
    list-style: none;
}

.woocommerce nav.woocommerce-pagination ul.page-numbers li,
.woocommerce-page nav.woocommerce-pagination ul.page-numbers li {
    display: block;
    float: none;
    margin: 0;
    padding: 0;
    border: 0;
}

.woocommerce nav.woocommerce-pagination .page-numbers,
.woocommerce-page nav.woocommerce-pagination .page-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    margin: 0;
    padding: 0;
    border: 1px solid #d8ddd9;
    border-radius: 50%;
    background: transparent;
    color: #555;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    box-shadow: none;
    transition: background .18s ease, border-color .18s ease, color .18s ease;
}

.woocommerce nav.woocommerce-pagination .page-numbers:hover,
.woocommerce-page nav.woocommerce-pagination .page-numbers:hover {
    border-color: #18A891;
    background: transparent;
    color: #18A891;
}

.woocommerce nav.woocommerce-pagination .page-numbers.current,
.woocommerce-page nav.woocommerce-pagination .page-numbers.current {
    border-color: #18A891 !important;
    background: #18A891 !important;
    color: #fff !important;
}

.woocommerce nav.woocommerce-pagination .page-numbers.prev,
.woocommerce nav.woocommerce-pagination .page-numbers.next,
.woocommerce-page nav.woocommerce-pagination .page-numbers.prev,
.woocommerce-page nav.woocommerce-pagination .page-numbers.next {
    width: auto;
    min-width: 38px;
    padding: 0 12px;
    border-radius: 20px;
    font-size: 11px;
    letter-spacing: .2px;
}

@media (max-width: 768px) {
    .woocommerce ul.products li.product .onsale,
    .woocommerce-page ul.products li.product .onsale {
        top: 8px !important;
        left: 8px !important;
        padding: 8px 13px !important;
        font-size: 10px !important;
    }

    .woocommerce nav.woocommerce-pagination,
    .woocommerce-page nav.woocommerce-pagination {
        margin-top: 56px;
        margin-bottom: 20px;
    }

    .woocommerce nav.woocommerce-pagination ul.page-numbers,
    .woocommerce-page nav.woocommerce-pagination ul.page-numbers {
        gap: 5px;
    }

    .woocommerce nav.woocommerce-pagination .page-numbers,
    .woocommerce-page nav.woocommerce-pagination .page-numbers {
        width: 36px;
        height: 36px;
        font-size: 11px;
    }
}


/* ==========================================================
   V4 — SALE BADGE + PAGINATION CORRECTION
   ========================================================== */

/* ----------------------------------------------------------
   SALE BADGE
   Strong override of Astra/WooCommerce badge styling.
   ---------------------------------------------------------- */

.woocommerce ul.products li.product span.onsale,
.woocommerce-page ul.products li.product span.onsale,
.woocommerce ul.products li.product .onsale,
.woocommerce-page ul.products li.product .onsale {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: absolute !important;
    top: 10px !important;
    left: 10px !important;
    right: auto !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 8px 15px !important;
    border: 0 !important;
    border-radius: 20px !important;
    background: #18A891 !important;
    background-color: #18A891 !important;
    color: #fff !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .7px !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    text-align: center !important;
    opacity: 1 !important;
    visibility: visible !important;
    box-shadow: 0 5px 12px rgba(0, 0, 0, .12) !important;
    transform: none !important;
}

/* ----------------------------------------------------------
   PAGINATION — HORIZONTAL, CURRENT PAGE CLEARLY VISIBLE
   ---------------------------------------------------------- */

.woocommerce nav.woocommerce-pagination,
.woocommerce-page nav.woocommerce-pagination {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    margin: 72px 0 20px !important;
    padding: 0 !important;
    text-align: center !important;
}

.woocommerce nav.woocommerce-pagination ul.page-numbers,
.woocommerce-page nav.woocommerce-pagination ul.page-numbers {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border: 0 !important;
    list-style: none !important;
    gap: 6px !important;
}

.woocommerce nav.woocommerce-pagination ul.page-numbers li,
.woocommerce-page nav.woocommerce-pagination ul.page-numbers li {
    display: block !important;
    float: none !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

.woocommerce nav.woocommerce-pagination ul.page-numbers li a.page-numbers,
.woocommerce nav.woocommerce-pagination ul.page-numbers li span.page-numbers,
.woocommerce-page nav.woocommerce-pagination ul.page-numbers li a.page-numbers,
.woocommerce-page nav.woocommerce-pagination ul.page-numbers li span.page-numbers {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #d8ddd9 !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: #555 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

.woocommerce nav.woocommerce-pagination ul.page-numbers li span.page-numbers.current,
.woocommerce-page nav.woocommerce-pagination ul.page-numbers li span.page-numbers.current {
    border-color: #18A891 !important;
    background: #18A891 !important;
    color: #fff !important;
}

.woocommerce nav.woocommerce-pagination ul.page-numbers li a.page-numbers:hover,
.woocommerce-page nav.woocommerce-pagination ul.page-numbers li a.page-numbers:hover {
    border-color: #18A891 !important;
    background: #fff !important;
    color: #18A891 !important;
}

/* Previous / next remain visible and horizontal. */
.woocommerce nav.woocommerce-pagination ul.page-numbers li a.prev,
.woocommerce nav.woocommerce-pagination ul.page-numbers li a.next,
.woocommerce-page nav.woocommerce-pagination ul.page-numbers li a.prev,
.woocommerce-page nav.woocommerce-pagination ul.page-numbers li a.next {
    width: 38px !important;
    min-width: 38px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    font-size: 0 !important;
}

.woocommerce nav.woocommerce-pagination ul.page-numbers li a.prev::before,
.woocommerce-page nav.woocommerce-pagination ul.page-numbers li a.prev::before {
    content: "‹";
    font-size: 18px;
    line-height: 1;
}

.woocommerce nav.woocommerce-pagination ul.page-numbers li a.next::before,
.woocommerce-page nav.woocommerce-pagination ul.page-numbers li a.next::before {
    content: "›";
    font-size: 18px;
    line-height: 1;
}

@media (max-width: 768px) {
    .woocommerce ul.products li.product span.onsale,
    .woocommerce-page ul.products li.product span.onsale,
    .woocommerce ul.products li.product .onsale,
    .woocommerce-page ul.products li.product .onsale {
        top: 8px !important;
        left: 8px !important;
        padding: 8px 13px !important;
        font-size: 10px !important;
    }

    .woocommerce nav.woocommerce-pagination,
    .woocommerce-page nav.woocommerce-pagination {
        margin-top: 56px !important;
        margin-bottom: 20px !important;
    }

    .woocommerce nav.woocommerce-pagination ul.page-numbers,
    .woocommerce-page nav.woocommerce-pagination ul.page-numbers {
        gap: 5px !important;
    }

    .woocommerce nav.woocommerce-pagination ul.page-numbers li a.page-numbers,
    .woocommerce nav.woocommerce-pagination ul.page-numbers li span.page-numbers,
    .woocommerce-page nav.woocommerce-pagination ul.page-numbers li a.page-numbers,
    .woocommerce-page nav.woocommerce-pagination ul.page-numbers li span.page-numbers {
        width: 36px !important;
        height: 36px !important;
        min-width: 36px !important;
        font-size: 11px !important;
    }
}




/* ==========================================================
   SALE BADGE — FINAL
   Explicitly excluded from all generic Woo button rules.
   ========================================================== */

.woocommerce ul.products li.product .onsale,
.woocommerce-page ul.products li.product .onsale {
    position: absolute !important;
    top: 10px !important;
    left: 10px !important;
    right: auto !important;
    bottom: auto !important;
    z-index: 30 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    box-sizing: border-box !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: max-content !important;
    height: auto !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 9px 16px !important;

    border: 0 !important;
    border-radius: 30px !important;

    background: #18A891 !important;
    background-color: #18A891 !important;
    background-image: none !important;

    color: #fff !important;

    font-family: inherit !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .6px !important;
    line-height: 1 !important;
    text-align: center !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;

    opacity: 1 !important;
    visibility: visible !important;
    box-shadow: 0 5px 12px rgba(0, 0, 0, .12) !important;
    transform: none !important;
}

.woocommerce ul.products li.product .onsale:hover,
.woocommerce-page ul.products li.product .onsale:hover,
.woocommerce ul.products li.product .onsale:focus,
.woocommerce-page ul.products li.product .onsale:focus {
    background: #18A891 !important;
    background-color: #18A891 !important;
    color: #fff !important;
    border: 0 !important;
    box-shadow: 0 5px 12px rgba(0, 0, 0, .12) !important;
}

.woocommerce ul.products li.product .onsale::before,
.woocommerce ul.products li.product .onsale::after,
.woocommerce-page ul.products li.product .onsale::before,
.woocommerce-page ul.products li.product .onsale::after {
    content: none !important;
    display: none !important;
}

@media (max-width: 768px) {
    .woocommerce ul.products li.product .onsale,
    .woocommerce-page ul.products li.product .onsale {
        top: 8px !important;
        left: 8px !important;
        padding: 8px 14px !important;
        font-size: 10px !important;
    }
}


/* ==========================================================
   V9 — ASTRA MODERN SHOP SALE BADGE
   Astra modern shop markup uses:
   .ast-on-card-button.ast-onsale-card
   rather than .onsale.
   ========================================================== */

.woocommerce ul.products li.product .astra-shop-thumbnail-wrap > .ast-on-card-button.ast-onsale-card,
.woocommerce-page ul.products li.product .astra-shop-thumbnail-wrap > .ast-on-card-button.ast-onsale-card,
.woocommerce ul.products li.product > .astra-shop-thumbnail-wrap .ast-onsale-card,
.woocommerce-page ul.products li.product > .astra-shop-thumbnail-wrap .ast-onsale-card {
    position: absolute !important;
    top: 10px !important;
    left: 10px !important;
    right: auto !important;
    bottom: auto !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: max-content !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 9px 16px !important;

    border: 0 !important;
    border-radius: 30px !important;

    background: #18A891 !important;
    background-color: #18A891 !important;
    background-image: none !important;

    color: #fff !important;

    font-family: inherit !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .6px !important;
    line-height: 1 !important;
    text-align: center !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;

    opacity: 1 !important;
    visibility: visible !important;
    box-shadow: 0 5px 12px rgba(0, 0, 0, .12) !important;
    transform: none !important;
    z-index: 20 !important;
}

/* Astra's generic on-card positioning must not move the sale badge. */
.woocommerce ul.products li.product .ast-on-card-button.ast-onsale-card,
.woocommerce-page ul.products li.product .ast-on-card-button.ast-onsale-card {
    right: auto !important;
    left: 10px !important;
}

/* Keep the badge turquoise on interaction. */
.woocommerce ul.products li.product .ast-on-card-button.ast-onsale-card:hover,
.woocommerce ul.products li.product .ast-on-card-button.ast-onsale-card:focus,
.woocommerce-page ul.products li.product .ast-on-card-button.ast-onsale-card:hover,
.woocommerce-page ul.products li.product .ast-on-card-button.ast-onsale-card:focus {
    background: #18A891 !important;
    background-color: #18A891 !important;
    color: #fff !important;
    border: 0 !important;
    box-shadow: 0 5px 12px rgba(0, 0, 0, .12) !important;
}

/* Do not let generic on-card icon styling affect the sale badge. */
.woocommerce ul.products li.product .ast-onsale-card .ahfb-svg-iconset,
.woocommerce ul.products li.product .ast-onsale-card svg,
.woocommerce-page ul.products li.product .ast-onsale-card .ahfb-svg-iconset,
.woocommerce-page ul.products li.product .ast-onsale-card svg {
    display: none !important;
}

@media (max-width: 768px) {
    .woocommerce ul.products li.product .astra-shop-thumbnail-wrap > .ast-on-card-button.ast-onsale-card,
    .woocommerce-page ul.products li.product .astra-shop-thumbnail-wrap > .ast-on-card-button.ast-onsale-card,
    .woocommerce ul.products li.product > .astra-shop-thumbnail-wrap .ast-onsale-card,
    .woocommerce-page ul.products li.product > .astra-shop-thumbnail-wrap .ast-onsale-card,
    .woocommerce ul.products li.product .ast-on-card-button.ast-onsale-card,
    .woocommerce-page ul.products li.product .ast-on-card-button.ast-onsale-card {
        top: 8px !important;
        left: 8px !important;
        right: auto !important;
        padding: 8px 14px !important;
        font-size: 10px !important;
    }
}


/* ==========================================================
   V14 — MOBILE PRODUCT TITLE
   Exactly 3 lines, then truncate.
   Germanized information remains untouched.
   ========================================================== */

@media (max-width: 768px) {
    .woocommerce ul.products li.product .woocommerce-loop-product__title,
    .woocommerce-page ul.products li.product .woocommerce-loop-product__title {
        display: -webkit-box !important;
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 3 !important;

        line-height: 1.35 !important;
        height: 4.05em !important;
        min-height: 4.05em !important;
        max-height: 4.05em !important;

        overflow: hidden !important;
        text-overflow: ellipsis !important;
        box-sizing: border-box !important;

        margin-top: 8px !important;
        margin-bottom: 10px !important;
    }
}



/* ==========================================================
   V15 — PRODUCT PRICE PRESENTATION
   Current price is visually dominant; regular price is
   secondary. Germanized information remains untouched.
   ========================================================== */

.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price {
    display: flex !important;
    align-items: baseline !important;
    justify-content: center !important;
    gap: 7px !important;

    margin-top: 0 !important;
    margin-bottom: 15px !important;

    line-height: 1.2 !important;
    white-space: nowrap !important;
}

/* Current / sale price */
.woocommerce ul.products li.product .price ins,
.woocommerce-page ul.products li.product .price ins {
    text-decoration: none !important;
    font-size: 1.08em !important;
    font-weight: 600 !important;
    color: #111 !important;
}

/* Regular price on sale */
.woocommerce ul.products li.product .price del,
.woocommerce-page ul.products li.product .price del {
    color: #b8b8b8 !important;
    font-size: .82em !important;
    font-weight: 400 !important;
    opacity: 1 !important;
}

/* Normal products without a sale price */
.woocommerce ul.products li.product .price > .amount,
.woocommerce ul.products li.product .price > bdi,
.woocommerce-page ul.products li.product .price > .amount,
.woocommerce-page ul.products li.product .price > bdi {
    font-size: 1.05em !important;
    font-weight: 600 !important;
    color: #111 !important;
}

/* Keep the tax/star marker visually subordinate to the price. */
.woocommerce ul.products li.product .price .woocommerce-price-suffix,
.woocommerce-page ul.products li.product .price .woocommerce-price-suffix {
    font-size: .72em !important;
    font-weight: 400 !important;
}

/* Mobile: slightly more restrained so the price does not
   dominate the two-column product grid. */
@media (max-width: 768px) {
    .woocommerce ul.products li.product .price,
    .woocommerce-page ul.products li.product .price {
        gap: 6px !important;
        margin-bottom: 13px !important;
    }

    .woocommerce ul.products li.product .price ins,
    .woocommerce-page ul.products li.product .price ins {
        font-size: 1.05em !important;
    }

    .woocommerce ul.products li.product .price del,
    .woocommerce-page ul.products li.product .price del {
        font-size: .78em !important;
    }
}


/* ==========================================================
   V17 — ACTUAL WOO LOOP ADD-TO-CART LINK
   Based on the exact markup from the shop:
   .button.product_type_simple.add_to_cart_button.ajax_add_to_cart
   ========================================================== */

.woocommerce ul.products li.product a.button.product_type_simple.add_to_cart_button.ajax_add_to_cart,
.woocommerce-page ul.products li.product a.button.product_type_simple.add_to_cart_button.ajax_add_to_cart {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 190px !important;
    min-height: 44px !important;
    height: 44px !important;
    margin: 0 auto !important;
    padding: 0 18px !important;

    border: 1px solid #18A891 !important;
    border-radius: 30px !important;

    background: #fff !important;
    background-color: #fff !important;
    color: #18A891 !important;

    font-family: inherit !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: .8px !important;
    line-height: 1 !important;
    text-align: center !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    white-space: nowrap !important;

    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;

    transition:
        background-color .2s ease,
        color .2s ease,
        border-color .2s ease !important;
}

.woocommerce ul.products li.product a.button.product_type_simple.add_to_cart_button.ajax_add_to_cart:hover,
.woocommerce-page ul.products li.product a.button.product_type_simple.add_to_cart_button.ajax_add_to_cart:hover {
    border-color: #18A891 !important;
    background: #18A891 !important;
    background-color: #18A891 !important;
    color: #fff !important;
}

.woocommerce ul.products li.product a.button.product_type_simple.add_to_cart_button.ajax_add_to_cart:focus,
.woocommerce ul.products li.product a.button.product_type_simple.add_to_cart_button.ajax_add_to_cart:active,
.woocommerce-page ul.products li.product a.button.product_type_simple.add_to_cart_button.ajax_add_to_cart:focus,
.woocommerce-page ul.products li.product a.button.product_type_simple.add_to_cart_button.ajax_add_to_cart:active {
    border-color: #18A891 !important;
    background: #fff !important;
    background-color: #fff !important;
    color: #18A891 !important;
    box-shadow: none !important;
}

@media (max-width: 768px) {
    .woocommerce ul.products li.product a.button.product_type_simple.add_to_cart_button.ajax_add_to_cart,
    .woocommerce-page ul.products li.product a.button.product_type_simple.add_to_cart_button.ajax_add_to_cart {
        max-width: 100% !important;
        min-height: 44px !important;
        height: 44px !important;
        padding: 0 10px !important;
        font-size: 10px !important;
        letter-spacing: .55px !important;
    }
}


/* ==========================================================
   V19 — PRODUCT GRID ROW SPACING
   Only the vertical gap between product rows is adjusted.
   Existing card content, Germanized information, prices,
   badges and CTA styling remain untouched.
   ========================================================== */

/* Desktop */
.woocommerce ul.products,
.woocommerce-page ul.products {
    row-gap: 58px !important;
}

/* Mobile */
@media (max-width: 768px) {
    .woocommerce ul.products,
    .woocommerce-page ul.products {
        row-gap: 72px !important;
    }
}


/* ==========================================================
   V22 — SAFE PRODUCT IMAGE ALIGNMENT
   Only the IMG element is touched.
   No flex/grid/display rules are applied to the WooCommerce
   product link or Germanized markup.
   ========================================================== */

.woocommerce ul.products li.product img.attachment-woocommerce_thumbnail,
.woocommerce-page ul.products li.product img.attachment-woocommerce_thumbnail,
.woocommerce ul.products li.product img.wp-post-image,
.woocommerce-page ul.products li.product img.wp-post-image {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;

    object-fit: contain !important;
    object-position: center center !important;

    margin-left: auto !important;
    margin-right: auto !important;
    vertical-align: middle !important;
}

/* Keep the existing image sizing untouched on mobile as well. */
@media (max-width: 768px) {
    .woocommerce ul.products li.product img.attachment-woocommerce_thumbnail,
    .woocommerce-page ul.products li.product img.attachment-woocommerce_thumbnail,
    .woocommerce ul.products li.product img.wp-post-image,
    .woocommerce-page ul.products li.product img.wp-post-image {
        height: auto !important;
        max-width: 100% !important;
    }
}


/* ==========================================================
   V23 — PRODUCT CARD ALIGNMENT / FINAL
   ==========================================================
   Goal:
   - Keep Germanized information exactly where it is.
   - Do NOT turn .astra-shop-thumbnail-wrap into flex/grid.
   - Fixed image area so source-image aspect ratios cannot
     change the vertical position of the information below.
   - Product title: exactly 3 lines, then ellipsis.
   - Product cards stretch to the same height within each row.
   - Price + add-to-cart button align at the bottom.
   ========================================================== */


/* ----------------------------------------------------------
   1. PRODUCT CARD
   ---------------------------------------------------------- */

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    display: flex !important;
    flex-direction: column !important;
    align-self: stretch !important;
    height: 100% !important;
    min-height: 0 !important;
    box-sizing: border-box !important;
}


/* ----------------------------------------------------------
   2. THUMBNAIL AREA
   IMPORTANT:
   Keep this as a normal block.
   Germanized information lives in this area and must remain
   below the product image.
   ---------------------------------------------------------- */

.woocommerce ul.products li.product .astra-shop-thumbnail-wrap,
.woocommerce-page ul.products li.product .astra-shop-thumbnail-wrap {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    flex: 0 0 auto !important;
    box-sizing: border-box !important;
}


/* ----------------------------------------------------------
   3. PRODUCT IMAGE — FIXED IMAGE AREA
   ---------------------------------------------------------- */

.woocommerce ul.products li.product
.astra-shop-thumbnail-wrap img.attachment-woocommerce_thumbnail,

.woocommerce-page ul.products li.product
.astra-shop-thumbnail-wrap img.attachment-woocommerce_thumbnail,

.woocommerce ul.products li.product
.astra-shop-thumbnail-wrap img.wp-post-image,

.woocommerce-page ul.products li.product
.astra-shop-thumbnail-wrap img.wp-post-image {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    height: 225px !important;
    min-height: 225px !important;
    max-height: 225px !important;

    margin: 0 !important;
    padding: 0 !important;

    object-fit: contain !important;
    object-position: center center !important;

    box-sizing: border-box !important;
}


/* ----------------------------------------------------------
   4. GERMANIZED INFORMATION
   Keep it below the image and normalize the spacing.
   ---------------------------------------------------------- */

.woocommerce ul.products li.product
.astra-shop-thumbnail-wrap p.wc-gzd-additional-info,

.woocommerce-page ul.products li.product
.astra-shop-thumbnail-wrap p.wc-gzd-additional-info {
    display: block !important;

    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;

    margin-top: 0 !important;
    margin-bottom: 2px !important;

    box-sizing: border-box !important;
}

.woocommerce ul.products li.product
.astra-shop-thumbnail-wrap p.wc-gzd-additional-info:last-of-type,

.woocommerce-page ul.products li.product
.astra-shop-thumbnail-wrap p.wc-gzd-additional-info:last-of-type {
    margin-bottom: 5px !important;
}


/* ----------------------------------------------------------
   5. SUMMARY AREA
   This is the part that is allowed to stretch.
   ---------------------------------------------------------- */

.woocommerce ul.products li.product .astra-shop-summary-wrap,
.woocommerce-page ul.products li.product .astra-shop-summary-wrap {
    display: flex !important;
    flex-direction: column !important;

    flex: 1 1 auto !important;

    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;

    box-sizing: border-box !important;
}


/* ----------------------------------------------------------
   6. PRODUCT TITLE — EXACTLY 3 LINES
   ---------------------------------------------------------- */

.woocommerce ul.products li.product
.woocommerce-loop-product__title,

.woocommerce-page ul.products li.product
.woocommerce-loop-product__title {
    display: -webkit-box !important;

    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 3 !important;

    overflow: hidden !important;
    text-overflow: ellipsis !important;

    width: 100% !important;

    height: 4.05em !important;
    min-height: 4.05em !important;
    max-height: 4.05em !important;

    margin-top: 8px !important;
    margin-bottom: 12px !important;

    padding: 0 !important;

    line-height: 1.35 !important;

    box-sizing: border-box !important;
}


/* ----------------------------------------------------------
   7. PRICE
   Push the price towards the bottom of the stretched
   summary area.
   ---------------------------------------------------------- */

.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price {
    flex: 0 0 auto !important;

    margin-top: auto !important;
    margin-bottom: 15px !important;

    min-height: 25px !important;

    box-sizing: border-box !important;
}


/* ----------------------------------------------------------
   8. ADD TO CART BUTTON
   Fixed height and always the final element.
   ---------------------------------------------------------- */

.woocommerce ul.products li.product
a.button.product_type_simple.add_to_cart_button.ajax_add_to_cart,

.woocommerce-page ul.products li.product
a.button.product_type_simple.add_to_cart_button.ajax_add_to_cart {
    flex: 0 0 44px !important;

    width: 100% !important;
    max-width: 190px !important;

    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;

    margin-top: 0 !important;
    margin-bottom: 0 !important;

    box-sizing: border-box !important;
}


/* ----------------------------------------------------------
   9. DESKTOP / LARGE TABLET
   ---------------------------------------------------------- */

@media (min-width: 769px) {

    .woocommerce ul.products,
    .woocommerce-page ul.products {
        align-items: stretch !important;
    }

}


/* ----------------------------------------------------------
   10. LARGE TABLET IMAGE
   ---------------------------------------------------------- */

@media (max-width: 1100px) and (min-width: 769px) {

    .woocommerce ul.products li.product
    .astra-shop-thumbnail-wrap img.attachment-woocommerce_thumbnail,

    .woocommerce-page ul.products li.product
    .astra-shop-thumbnail-wrap img.attachment-woocommerce_thumbnail,

    .woocommerce ul.products li.product
    .astra-shop-thumbnail-wrap img.wp-post-image,

    .woocommerce-page ul.products li.product
    .astra-shop-thumbnail-wrap img.wp-post-image {
        height: 205px !important;
        min-height: 205px !important;
        max-height: 205px !important;
    }

}


/* ----------------------------------------------------------
   11. MOBILE
   ---------------------------------------------------------- */

@media (max-width: 768px) {

    .woocommerce ul.products,
    .woocommerce-page ul.products {
        align-items: stretch !important;
    }

    .woocommerce ul.products li.product,
    .woocommerce-page ul.products li.product {
        height: 100% !important;
        min-height: 0 !important;
    }


    /* Fixed mobile image area */

    .woocommerce ul.products li.product
    .astra-shop-thumbnail-wrap img.attachment-woocommerce_thumbnail,

    .woocommerce-page ul.products li.product
    .astra-shop-thumbnail-wrap img.attachment-woocommerce_thumbnail,

    .woocommerce ul.products li.product
    .astra-shop-thumbnail-wrap img.wp-post-image,

    .woocommerce-page ul.products li.product
    .astra-shop-thumbnail-wrap img.wp-post-image {
        height: 175px !important;
        min-height: 175px !important;
        max-height: 175px !important;
    }


    /* Exactly three title lines on mobile */

    .woocommerce ul.products li.product
    .woocommerce-loop-product__title,

    .woocommerce-page ul.products li.product
    .woocommerce-loop-product__title {
        height: 4.05em !important;
        min-height: 4.05em !important;
        max-height: 4.05em !important;

        margin-top: 8px !important;
        margin-bottom: 10px !important;

        line-height: 1.35 !important;

        -webkit-line-clamp: 3 !important;
    }


    /* Price */

    .woocommerce ul.products li.product .price,
    .woocommerce-page ul.products li.product .price {
        margin-bottom: 13px !important;
    }


    /* Button */

    .woocommerce ul.products li.product
    a.button.product_type_simple.add_to_cart_button.ajax_add_to_cart,

    .woocommerce-page ul.products li.product
    a.button.product_type_simple.add_to_cart_button.ajax_add_to_cart {
        width: 100% !important;
        max-width: 100% !important;

        height: 44px !important;
        min-height: 44px !important;
        max-height: 44px !important;
    }

}


/* ==========================================================
   PRODUCT PAGE — ÄHNLICHE PRODUKTE
   Nur 4 Produkte anzeigen
   ========================================================== */

.single-product .related.products ul.products li.product:nth-child(n+5) {
    display: none !important;
}


/* ==========================================================
   PRODUCT PAGE — SINGLE ADD TO CART
   Heritage Motorworks CI
   Normal: white / turquoise
   Hover: turquoise / white
   Quantity + button: same height, vertically centered
   ========================================================== */

.single-product .woocommerce div.product form.cart {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    margin: 0 !important;
}

.single-product .woocommerce div.product form.cart .quantity {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    float: none !important;
    height: 44px !important;
    margin: 0 !important;
}

.single-product .woocommerce div.product form.cart .quantity .qty {
    box-sizing: border-box !important;
    width: 48px !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 6px !important;
    border: 1px solid #d8ddd9 !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #111 !important;
    font-size: 14px !important;
    line-height: 44px !important;
    text-align: center !important;
}

.single-product .woocommerce div.product form.cart .single_add_to_cart_button,
.single-product .woocommerce div.product form.cart button.single_add_to_cart_button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;

    width: auto !important;
    min-width: 0 !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;

    margin: 0 !important;
    padding: 0 24px !important;

    border: 1px solid #18A891 !important;
    border-radius: 30px !important;

    background: #fff !important;
    background-color: #fff !important;
    color: #18A891 !important;

    font-family: inherit !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: .8px !important;
    line-height: 1 !important;
    text-align: center !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;

    box-shadow: none !important;
    text-decoration: none !important;
    transition:
        background-color .2s ease,
        color .2s ease,
        border-color .2s ease !important;
}

.single-product .woocommerce div.product form.cart .single_add_to_cart_button:hover,
.single-product .woocommerce div.product form.cart button.single_add_to_cart_button:hover {
    border-color: #18A891 !important;
    background: #18A891 !important;
    background-color: #18A891 !important;
    color: #fff !important;
}

.single-product .woocommerce div.product form.cart .single_add_to_cart_button:focus,
.single-product .woocommerce div.product form.cart .single_add_to_cart_button:active {
    border-color: #18A891 !important;
    background: #fff !important;
    background-color: #fff !important;
    color: #18A891 !important;
    box-shadow: none !important;
    outline: none !important;
}

@media (max-width: 768px) {
    .single-product .woocommerce div.product form.cart {
        gap: 8px !important;
    }

    .single-product .woocommerce div.product form.cart .quantity,
    .single-product .woocommerce div.product form.cart .quantity .qty {
        height: 44px !important;
        min-height: 44px !important;
    }

    .single-product .woocommerce div.product form.cart .quantity .qty {
        width: 48px !important;
    }

    .single-product .woocommerce div.product form.cart .single_add_to_cart_button,
    .single-product .woocommerce div.product form.cart button.single_add_to_cart_button {
        height: 44px !important;
        min-height: 44px !important;
        padding: 0 20px !important;
    }
}


/* ==========================================================
   PRODUCT PAGE — CART BUTTON FINAL OVERRIDE
   Exact WooCommerce selector: .button.alt
   ========================================================== */

body.single-product form.cart button.single_add_to_cart_button.button.alt {
    -webkit-appearance: none !important;
    appearance: none !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    box-sizing: border-box !important;
    width: auto !important;
    min-width: 0 !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;

    margin: 0 !important;
    padding: 0 24px !important;

    border: 1px solid #18A891 !important;
    border-width: 1px !important;
    border-style: solid !important;
    border-color: #18A891 !important;
    border-radius: 30px !important;

    background: #ffffff !important;
    background-color: #ffffff !important;
    color: #18A891 !important;

    font-family: inherit !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: .8px !important;
    line-height: 1 !important;
    text-align: center !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;

    box-shadow: none !important;
    outline: none !important;
    text-decoration: none !important;
}

body.single-product form.cart button.single_add_to_cart_button.button.alt:hover {
    border: 1px solid #18A891 !important;
    border-color: #18A891 !important;

    background: #18A891 !important;
    background-color: #18A891 !important;
    color: #ffffff !important;
}

body.single-product form.cart button.single_add_to_cart_button.button.alt:focus,
body.single-product form.cart button.single_add_to_cart_button.button.alt:active {
    border: 1px solid #18A891 !important;
    border-color: #18A891 !important;

    background: #ffffff !important;
    background-color: #ffffff !important;
    color: #18A891 !important;

    box-shadow: none !important;
    outline: none !important;
}

@media (max-width: 768px) {
    body.single-product form.cart button.single_add_to_cart_button.button.alt {
        width: auto !important;
        height: 44px !important;
        min-height: 44px !important;
        max-height: 44px !important;
        padding: 0 20px !important;
    }
}



/* ==========================================================
   PRODUKTSEITE – CART FORM ALS EINHEIT
   Menge + Warenkorb im Heritage-Motorworks-Layout
   ========================================================== */

/* Form als gemeinsame horizontale Komponente */
body.single-product div.product form.cart {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;

    width: 100% !important;
    margin: 12px 0 0 !important;
    padding: 0 !important;
}

/* Mengenfeld – kompakte Pillenform */
body.single-product div.product form.cart .quantity {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    float: none !important;
    width: 48px !important;
    min-width: 48px !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;

    border: 1px solid #D9D9D9 !important;
    border-radius: 22px !important;
    background: #FFFFFF !important;

    box-sizing: border-box !important;
}

/* Screenreader-Label bleibt unsichtbar */
body.single-product div.product form.cart .quantity label {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* Eigentliche Mengenangabe */
body.single-product div.product form.cart .quantity .qty {
    width: 100% !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 5px !important;

    border: 0 !important;
    outline: none !important;
    background: transparent !important;
    box-shadow: none !important;

    color: #222222 !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 42px !important;
    text-align: center !important;
}


/* Warenkorb-Button */
body.single-product div.product form.cart .single_add_to_cart_button,
body.single-product div.product form.cart .single_add_to_cart_button.button,
body.single-product div.product form.cart .single_add_to_cart_button.button.alt {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    float: none !important;
    flex: 0 0 auto !important;

    width: 205px !important;
    min-width: 205px !important;
    max-width: 205px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;

    margin: 0 !important;
    padding: 0 22px !important;
    box-sizing: border-box !important;

    border: 1px solid #18A891 !important;
    border-radius: 30px !important;

    background: #FFFFFF !important;
    background-color: #FFFFFF !important;
    color: #18A891 !important;

    font-family: inherit !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: .75px !important;
    line-height: 1 !important;
    text-align: center !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;

    box-shadow: none !important;
    outline: none !important;
    text-decoration: none !important;

    transition:
        background-color .2s ease,
        border-color .2s ease,
        color .2s ease !important;
}

/* Hover – komplett CI-Türkis */
body.single-product div.product form.cart .single_add_to_cart_button:hover {
    border-color: #18A891 !important;
    background: #18A891 !important;
    background-color: #18A891 !important;
    color: #FFFFFF !important;
    box-shadow: none !important;
    transform: none !important;
}

/* Focus / Active */
body.single-product div.product form.cart .single_add_to_cart_button:focus,
body.single-product div.product form.cart .single_add_to_cart_button:active {
    border-color: #18A891 !important;
    background: #FFFFFF !important;
    background-color: #FFFFFF !important;
    color: #18A891 !important;
    box-shadow: none !important;
    outline: none !important;
}

/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 768px) {

    body.single-product div.product form.cart {
        gap: 8px !important;
    }

    body.single-product div.product form.cart .quantity {
        width: 48px !important;
        min-width: 48px !important;
        height: 44px !important;
        min-height: 44px !important;
    }

    body.single-product div.product form.cart .single_add_to_cart_button,
    body.single-product div.product form.cart .single_add_to_cart_button.button,
    body.single-product div.product form.cart .single_add_to_cart_button.button.alt {
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        flex: 1 1 auto !important;
        height: 44px !important;
        min-height: 44px !important;
        max-height: 44px !important;
        padding: 0 18px !important;
    }
}


/* ==========================================================
   QUANTITY — NATIVE +/- SPINNER WIEDER ANZEIGEN
   ========================================================== */

body.single-product div.product form.cart .quantity .qty {
    -moz-appearance: auto !important;
    appearance: auto !important;
}

body.single-product div.product form.cart .quantity .qty::-webkit-inner-spin-button,
body.single-product div.product form.cart .quantity .qty::-webkit-outer-spin-button {
    -webkit-appearance: auto !important;
    appearance: auto !important;
    opacity: 1 !important;
    margin: 0 !important;
}

/* Mehr Abstand zwischen Warenkorb-Zeile und Produkt-Metadaten */
body.single-product div.product .product_meta {
    margin-top: 28px !important;
}

/* ==========================================================
   PRODUKT-METADATEN — NUR ARTIKELNUMMER ANZEIGEN
   ========================================================== */

body.single-product div.product .product_meta > span:not(.sku_wrapper) {
    display: none !important;
}

/* Artikelnummer sichtbar lassen */
body.single-product div.product .product_meta .sku_wrapper {
    display: inline-block !important;
}

/* =========================================================
   GEBRAUCHT-TEILE LABEL
   ========================================================= */

.woocommerce ul.products li.product.product_cat-gebrauchtteile {
    position: relative;
}

/* Label */
.woocommerce ul.products li.product.product_cat-gebrauchtteile::before {
    content: "GEBRAUCHT";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    height: 31px;
    padding: 0 15px;

    background: #2f3233;
    color: #ffffff;

    border-radius: 30px;

    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.12em;
    line-height: 1;

    pointer-events: none;
}


/* ==========================================================
   BADGES — FINAL CI ALIGNMENT
   ANGEBOT links / GEBRAUCHT rechts
   Beide dezent und gleichwertig.
   ========================================================== */

/* ANGEBOT */
.woocommerce ul.products li.product .onsale,
.woocommerce-page ul.products li.product .onsale,
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap > .ast-on-card-button.ast-onsale-card,
.woocommerce-page ul.products li.product .astra-shop-thumbnail-wrap > .ast-on-card-button.ast-onsale-card,
.woocommerce ul.products li.product > .astra-shop-thumbnail-wrap .ast-onsale-card,
.woocommerce-page ul.products li.product > .astra-shop-thumbnail-wrap .ast-onsale-card {
    top: 10px !important;
    left: 10px !important;
    right: auto !important;

    height: 28px !important;
    min-height: 28px !important;
    padding: 0 13px !important;

    border: 0 !important;
    border-radius: 30px !important;

    background: #18A891 !important;
    background-color: #18A891 !important;
    color: #fff !important;

    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: .55px !important;
    line-height: 1 !important;

    box-shadow: 0 4px 10px rgba(0,0,0,.09) !important;
}

/* GEBRAUCHT
   Das Label sitzt bewusst rechts, damit ANGEBOT + GEBRAUCHT
   gleichzeitig nebeneinander erscheinen können. */
.woocommerce ul.products li.product.product_cat-gebrauchtteile::before,
.woocommerce-page ul.products li.product.product_cat-gebrauchtteile::before {
    content: "GEBRAUCHT" !important;

    position: absolute !important;
    top: 10px !important;
    left: 10px !important;
    right: auto !important;
    z-index: 29 !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    box-sizing: border-box !important;
    width: max-content !important;
    height: 28px !important;
    min-height: 28px !important;

    margin: 0 !important;
    padding: 0 13px !important;

    border: 0 !important;
    border-radius: 30px !important;

    background: #3f4240 !important;
    background-color: #3f4240 !important;
    color: #fff !important;

    font-family: inherit !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: .55px !important;
    line-height: 1 !important;
    text-align: center !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;

    box-shadow: 0 4px 10px rgba(0,0,0,.09) !important;
    pointer-events: none !important;
}

/* Mobile */
@media (max-width: 768px) {
    .woocommerce ul.products li.product .onsale,
    .woocommerce-page ul.products li.product .onsale,
    .woocommerce ul.products li.product .astra-shop-thumbnail-wrap > .ast-on-card-button.ast-onsale-card,
    .woocommerce-page ul.products li.product .astra-shop-thumbnail-wrap > .ast-on-card-button.ast-onsale-card,
    .woocommerce ul.products li.product > .astra-shop-thumbnail-wrap .ast-onsale-card,
    .woocommerce-page ul.products li.product > .astra-shop-thumbnail-wrap .ast-onsale-card {
        top: 8px !important;
        left: 8px !important;
        height: 26px !important;
        min-height: 26px !important;
        padding: 0 11px !important;
        font-size: 9px !important;
    }

    .woocommerce ul.products li.product.product_cat-gebrauchtteile::before,
    .woocommerce-page ul.products li.product.product_cat-gebrauchtteile::before {
        top: 8px !important;
        left: 8px !important;
        right: auto !important;
        height: 26px !important;
        min-height: 26px !important;
        padding: 0 11px !important;
        font-size: 9px !important;
    }
}

/* ==========================================================
   PAGINATION — MOBILE PREV / NEXT
   WooCommerce liefert ← und → als normalen Linktext.
   Für Heritage werden daraus exakt die gewünschten
   einzelnen Pfeile ‹ und ›.
   ========================================================== */

@media (max-width: 768px) {

    .woocommerce nav.woocommerce-pagination ul.page-numbers li a.prev,
    .woocommerce nav.woocommerce-pagination ul.page-numbers li a.next,
    .woocommerce-page nav.woocommerce-pagination ul.page-numbers li a.prev,
    .woocommerce-page nav.woocommerce-pagination ul.page-numbers li a.next {
        font-size: 0 !important;
        line-height: 1 !important;
        text-indent: 0 !important;
    }

    /* Zurück */
    .woocommerce nav.woocommerce-pagination ul.page-numbers li a.prev::before,
    .woocommerce-page nav.woocommerce-pagination ul.page-numbers li a.prev::before {
        content: "‹" !important;
        display: inline-block !important;
        width: auto !important;
        height: auto !important;
        font-size: 18px !important;
        line-height: 1 !important;
        visibility: visible !important;
    }

    /* Weiter */
    .woocommerce nav.woocommerce-pagination ul.page-numbers li a.next::before,
    .woocommerce-page nav.woocommerce-pagination ul.page-numbers li a.next::before {
        content: "›" !important;
        display: inline-block !important;
        width: auto !important;
        height: auto !important;
        font-size: 18px !important;
        line-height: 1 !important;
        visibility: visible !important;
    }

    /* Keine zusätzlichen Pseudo-Elemente */
    .woocommerce nav.woocommerce-pagination ul.page-numbers li a.prev::after,
    .woocommerce nav.woocommerce-pagination ul.page-numbers li a.next::after,
    .woocommerce-page nav.woocommerce-pagination ul.page-numbers li a.prev::after,
    .woocommerce-page nav.woocommerce-pagination ul.page-numbers li a.next::after {
        content: none !important;
        display: none !important;
    }
}

/* ==========================================================
   DIFFERENZBESTEUERUNG – EINZELSTÜCK
   Produktseite: Mengenfeld vollständig ausblenden.
   Nur der Warenkorb-Button bleibt sichtbar.
   ========================================================== */

body.single-product.hm-differential-taxed-product div.product form.cart .quantity,
body.single-product.hm-differential-taxed-product div.product form.cart .quantity .qty {
    display: none !important;
}

body.single-product.hm-differential-taxed-product div.product form.cart {
    gap: 0 !important;
}


/* ==========================================================
   HERITAGE MOTORWORKS — MANUELLES PRODUKTLABEL
   ========================================================== */

/*
 * Das Label wird ausschließlich über das manuelle Produkt-Metafeld
 * "_hm_product_label" gesteuert.
 *
 * Keine automatische Ableitung aus:
 * - Sale-Preis
 * - Produktkategorie
 * - Attribut "Zustand"
 * - Lagerbestand
 */

/* Automatisches WooCommerce-/Astra-Sale-Label ausblenden. */
.woocommerce ul.products li.product .onsale,
.woocommerce-page ul.products li.product .onsale,
.woocommerce ul.products li.product .ast-onsale-card,
.woocommerce-page ul.products li.product .ast-onsale-card {
    display: none !important;
}

/* Altes, kategorieabhängiges GEBRAUCHT-Label deaktivieren. */
.woocommerce ul.products li.product.product_cat-gebrauchtteile::before,
.woocommerce-page ul.products li.product.product_cat-gebrauchtteile::before {
    content: none !important;
    display: none !important;
}

/* Produktkarte als Positionierungsrahmen. */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    position: relative;
}

/* Manuelles Produktlabel. */
.woocommerce ul.products li.product .hm-product-label,
.woocommerce-page ul.products li.product .hm-product-label {
    position: absolute !important;
    top: 10px !important;
    left: 10px !important;
    right: auto !important;
    z-index: 30 !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    box-sizing: border-box !important;
    width: max-content !important;
    min-height: 28px !important;
    height: 28px !important;

    margin: 0 !important;
    padding: 0 13px !important;

    border: 0 !important;
    border-radius: 30px !important;

    color: #ffffff !important;
    font-family: inherit !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: .55px !important;
    line-height: 1 !important;
    text-align: center !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;

    box-shadow: 0 4px 10px rgba(0,0,0,.09) !important;
    pointer-events: none !important;
}

/* Angebot — Heritage-Türkis. */
.woocommerce ul.products li.product .hm-product-label--angebot,
.woocommerce-page ul.products li.product .hm-product-label--angebot {
    background: #18A891 !important;
    background-color: #18A891 !important;
    color: #ffffff !important;
}

/* Gebraucht — dunkles Grau. */
.woocommerce ul.products li.product .hm-product-label--gebraucht,
.woocommerce-page ul.products li.product .hm-product-label--gebraucht {
    background: #3f4240 !important;
    background-color: #3f4240 !important;
    color: #ffffff !important;
}

/* NOS — dunkles Orange. */
.woocommerce ul.products li.product .hm-product-label--nos,
.woocommerce-page ul.products li.product .hm-product-label--nos {
    background: #a95720 !important;
    background-color: #a95720 !important;
    color: #ffffff !important;
}

@media (max-width: 768px) {
    .woocommerce ul.products li.product .hm-product-label,
    .woocommerce-page ul.products li.product .hm-product-label {
        top: 8px !important;
        left: 8px !important;
        right: auto !important;
        min-height: 26px !important;
        height: 26px !important;
        padding: 0 11px !important;
        font-size: 9px !important;
    }
}


/* ==========================================================
   HERITAGE MOTORWORKS — VORKASSE-RABATT HINWEISE V2
   ========================================================== */

/* ----------------------------------------------------------
   PRODUKTSEITE — Hinweis direkt hinter dem Preis
   ---------------------------------------------------------- */

.single-product .hm-prepayment-price-info {
    display: inline-block;
    margin-left: 12px;
    padding: 5px 10px;
    border: 1px solid rgba(24, 168, 145, .32);
    border-radius: 20px;
    background: rgba(24, 168, 145, .07);
    color: #18A891;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.2;
    vertical-align: middle;
    white-space: nowrap;
}

.single-product .summary .price {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}


/* ----------------------------------------------------------
   WARENKORB — Hinweis unter dem Kasse-Button
   ---------------------------------------------------------- */

.hm-prepayment-cart-notice {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    box-sizing: border-box;
    margin-top: 12px;
    padding: 11px 14px;
    border: 1px solid rgba(24, 168, 145, .28);
    border-radius: 10px;
    background: rgba(24, 168, 145, .055);
    color: #30342f;
    text-align: left;
}

.hm-prepayment-cart-notice__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 27px;
    width: 27px;
    height: 27px;
    border: 1px solid rgba(24, 168, 145, .45);
    border-radius: 50%;
    color: #18A891;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
}

.hm-prepayment-cart-notice > span:last-child {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.hm-prepayment-cart-notice strong {
    color: #18A891;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.25;
}

.hm-prepayment-cart-notice small {
    color: #6f746f;
    font-size: 9px;
    font-weight: 400;
    line-height: 1.35;
}


/* Classic cart */
.woocommerce .proceed-to-checkout + .hm-prepayment-cart-notice {
    max-width: 100%;
}


/* ----------------------------------------------------------
   MINI-CART / BLOCK-CART
   ---------------------------------------------------------- */

/*
 * Steuerhinweise gehören zum jeweiligen Artikel.
 * Im Mini-Cart sollen sie direkt unter dem Produkt beginnen und nicht
 * in die zweite Spalte des WooCommerce-Produktdetails-Layouts rutschen.
 */
.wc-block-mini-cart__drawer .wc-block-components-product-details {
    display: block !important;
    margin: 5px 0 0 !important;
    padding: 0 !important;
}

.wc-block-mini-cart__drawer .wc-block-components-product-details__item {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.wc-block-mini-cart__drawer .wc-block-components-product-details__name {
    display: none !important;
}

.wc-block-mini-cart__drawer .wc-block-components-product-details__value {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #6f746f;
    font-size: 10px !important;
    font-weight: 400;
    line-height: 1.3 !important;
    text-align: left !important;
}

.wc-block-mini-cart__drawer .wc-block-components-product-details__value + .wc-block-components-product-details__value {
    margin-top: 2px !important;
}

.wc-block-mini-cart__drawer .wc-block-components-product-details__value a {
    color: inherit;
}

.hm-mini-cart-global-tax-notice {
    margin: 0 0 10px;
    padding: 8px 12px;
    border-top: 1px solid rgba(23, 26, 33, 0.10);
    border-bottom: 1px solid rgba(23, 26, 33, 0.10);
    color: #6f746f;
    font-size: 10px;
    font-weight: 400;
    line-height: 1.35;
    text-align: left;
}

@media (max-width: 768px) {
    .wc-block-mini-cart__drawer .wc-block-components-product-details {
        margin-top: 4px !important;
    }

    .wc-block-mini-cart__drawer .wc-block-components-product-details__value {
        font-size: 9.5px !important;
        line-height: 1.3 !important;
    }

    .hm-mini-cart-global-tax-notice {
        font-size: 9.5px;
    }
}

.wc-block-mini-cart__footer .hm-prepayment-cart-notice {
    margin-top: 10px;
}

.wc-block-cart__submit-button + .hm-prepayment-cart-notice {
    margin-top: 10px;
}


/* ----------------------------------------------------------
   CHECKOUT — VORKASSE BADGE
   ---------------------------------------------------------- */

.hm-prepayment-checkout-badge {
    display: inline-flex;
    align-items: center;
    margin-left: 9px;
    padding: 4px 8px;
    border-radius: 20px;
    background: #18A891;
    color: #fff;
    font-size: 9px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .2px;
    vertical-align: middle;
    white-space: nowrap;
}


/* Classic WooCommerce checkout */
.woocommerce-checkout #payment_method_bacs + label::after {
    content: "2 % Rabatt";
    display: inline-flex;
    align-items: center;
    margin-left: 9px;
    padding: 4px 8px;
    border-radius: 20px;
    background: #18A891;
    color: #fff;
    font-size: 9px;
    font-weight: 700;
    line-height: 1;
    vertical-align: middle;
}


/* ----------------------------------------------------------
   MOBILE
   ---------------------------------------------------------- */

@media (max-width: 768px) {

    .single-product .hm-prepayment-price-info {
        margin-left: 6px;
        padding: 4px 8px;
        font-size: 10px;
    }

    .single-product .summary .price {
        gap: 5px;
    }

    .hm-prepayment-cart-notice {
        gap: 9px;
        margin-top: 9px;
        padding: 10px 11px;
    }

    .hm-prepayment-cart-notice__icon {
        flex-basis: 25px;
        width: 25px;
        height: 25px;
        font-size: 12px;
    }

    .hm-prepayment-cart-notice strong {
        font-size: 10px;
    }

    .hm-prepayment-cart-notice small {
        font-size: 8.5px;
    }

    .hm-prepayment-checkout-badge {
        margin-left: 6px;
        padding: 4px 7px;
        font-size: 8px;
    }
}


/* ==========================================================
   VORKASSE / ADD TO CART FINAL OVERRIDE
   ========================================================== */

/* Produktseite — Hinweis ca. 30 % größer als bisher */
.single-product .hm-prepayment-price-info {
    font-size: 14px !important;
    font-weight: 600 !important;
    padding: 6px 12px !important;
}

/* Produktseite — "IN DEN WARENKORB"
   Hover: vollständig Heritage-Türkis mit weißer Schrift */
body.single-product div.product form.cart .single_add_to_cart_button,
body.single-product div.product form.cart .single_add_to_cart_button.button,
body.single-product div.product form.cart .single_add_to_cart_button.button.alt {
    border-color: #18A891 !important;
    background: #FFFFFF !important;
    background-color: #FFFFFF !important;
    color: #18A891 !important;
}

body.single-product div.product form.cart .single_add_to_cart_button:hover,
body.single-product div.product form.cart .single_add_to_cart_button.button:hover,
body.single-product div.product form.cart .single_add_to_cart_button.button.alt:hover {
    border-color: #18A891 !important;
    background: #18A891 !important;
    background-color: #18A891 !important;
    color: #FFFFFF !important;
}

body.single-product div.product form.cart .single_add_to_cart_button:hover *,
body.single-product div.product form.cart .single_add_to_cart_button.button:hover *,
body.single-product div.product form.cart .single_add_to_cart_button.button.alt:hover * {
    color: #FFFFFF !important;
    fill: #FFFFFF !important;
}

@media (max-width: 768px) {
    .single-product .hm-prepayment-price-info {
        font-size: 13px !important;
        padding: 5px 10px !important;
    }
}


/* ==========================================================
   VORKASSE-HINWEIS — MOBILE UNTER DEM WARENKORB-BUTTON
   ========================================================== */

@media (max-width: 768px) {

    /* Flex-Umbruch erlauben */
    body.single-product div.product form.cart {
        flex-wrap: wrap !important;
    }

    /*
     * Der Hinweis bekommt auf Mobile eine eigene Zeile.
     * Er ist 15 % schmaler als der Warenkorb-Button und
     * wird exakt mittig unter diesem positioniert.
     *
     * 56px = Mengenfeld + Abstand zum Warenkorb-Button.
     */
    body.single-product div.product form.cart .hm-prepayment-price-info {
        display: flex !important;
        flex: 0 0 calc((100% - 56px) * 0.85) !important;
        width: calc((100% - 56px) * 0.85) !important;
        max-width: calc((100% - 56px) * 0.85) !important;
        min-width: 0 !important;
        box-sizing: border-box !important;

        margin-top: 10px !important;
        margin-left: calc(56px + (100% - 56px) * 0.075) !important;
        margin-right: 0 !important;

        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        white-space: nowrap !important;
    }
}


/* ==========================================================
   HERITAGE — STEUERHINWEISE MINI-CART / CHECKOUT
   ========================================================== */

/*
 * Die Steuerhinweise werden bewusst getrennt behandelt:
 *
 * 1. Produktbezogener Hinweis
 *    - klassischer Mini-Cart: WooCommerce dl.variation
 *    - Germanized-Produktdaten: .wc-gzd-item-attributes
 *    - klein und linksbündig innerhalb des Artikels
 *
 * 2. Globaler Hinweis
 *    - §19: .hm-global-cart-tax-notice
 *    - §25a: .differential-taxation-notice.wc-gzd-total-mini-cart
 *    - 14px und zentriert
 *
 * Es wird dabei weder die Steuerlogik noch die Ausgabe verändert.
 */


/* ==========================================================
   KLASSISCHER MINI-CART — PRODUKTBEZOGENER HINWEIS
   ========================================================== */

/*
 * Unser §19-Hinweis kommt über woocommerce_get_item_data()
 * als leeres Key-Feld und erscheint dadurch als:
 *
 * <dl class="variation">
 *   <dt class="variation-"></dt>
 *   <dd class="variation-">...</dd>
 * </dl>
 *
 * Das leere dt darf nicht die WooCommerce-Zweispalten-Darstellung
 * erzwingen.
 */

.widget_shopping_cart .woocommerce-mini-cart-item dl.variation,
.ast-site-header-cart-data .woocommerce-mini-cart-item dl.variation,
.woocommerce-mini-cart .woocommerce-mini-cart-item dl.variation {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 4px 0 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

.widget_shopping_cart .woocommerce-mini-cart-item dl.variation > dt.variation-,
.ast-site-header-cart-data .woocommerce-mini-cart-item dl.variation > dt.variation-,
.woocommerce-mini-cart .woocommerce-mini-cart-item dl.variation > dt.variation- {
    display: none !important;
}

.widget_shopping_cart .woocommerce-mini-cart-item dl.variation > dd.variation-,
.ast-site-header-cart-data .woocommerce-mini-cart-item dl.variation > dd.variation-,
.woocommerce-mini-cart .woocommerce-mini-cart-item dl.variation > dd.variation- {
    display: block !important;
    float: none !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;

    color: #6f746f !important;
    font-size: 8.5px !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
    text-align: left !important;
}

.widget_shopping_cart .woocommerce-mini-cart-item dl.variation > dd.variation-::before,
.widget_shopping_cart .woocommerce-mini-cart-item dl.variation > dd.variation-::after,
.ast-site-header-cart-data .woocommerce-mini-cart-item dl.variation > dd.variation-::before,
.ast-site-header-cart-data .woocommerce-mini-cart-item dl.variation > dd.variation-::after,
.woocommerce-mini-cart .woocommerce-mini-cart-item dl.variation > dd.variation-::before,
.woocommerce-mini-cart .woocommerce-mini-cart-item dl.variation > dd.variation-::after {
    display: none !important;
}


/* ==========================================================
   GERMANIZED — PRODUKTBEZOGENE CART-DATEN
   ========================================================== */

/*
 * Germanized verwendet für eigene Produktdaten zusätzlich
 * .wc-gzd-item-attributes. Diese bleiben artikelbezogen und
 * werden nicht mit dem globalen Steuerhinweis vermischt.
 */

.widget_shopping_cart .woocommerce-mini-cart-item .wc-gzd-item-attributes,
.ast-site-header-cart-data .woocommerce-mini-cart-item .wc-gzd-item-attributes,
.woocommerce-mini-cart .woocommerce-mini-cart-item .wc-gzd-item-attributes {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 4px 0 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;

    color: #6f746f !important;
    font-size: 8.5px !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
    text-align: left !important;
}

.widget_shopping_cart .woocommerce-mini-cart-item .wc-gzd-item-attributes > *,
.ast-site-header-cart-data .woocommerce-mini-cart-item .wc-gzd-item-attributes > *,
.woocommerce-mini-cart .woocommerce-mini-cart-item .wc-gzd-item-attributes > * {
    margin: 0 !important;
    padding: 0 !important;
    font-size: inherit !important;
    line-height: inherit !important;
}

.widget_shopping_cart .woocommerce-mini-cart-item .wc-gzd-item-attributes a,
.ast-site-header-cart-data .woocommerce-mini-cart-item .wc-gzd-item-attributes a,
.woocommerce-mini-cart .woocommerce-mini-cart-item .wc-gzd-item-attributes a {
    color: inherit !important;
}


/* ==========================================================
   GLOBALER MINI-CART-HINWEIS — §19
   ========================================================== */

.widget_shopping_cart p.hm-global-cart-tax-notice,
.ast-site-header-cart-data p.hm-global-cart-tax-notice,
.woocommerce-mini-cart p.hm-global-cart-tax-notice,
.widget_shopping_cart .hm-global-cart-tax-notice,
.ast-site-header-cart-data .hm-global-cart-tax-notice,
.woocommerce-mini-cart .hm-global-cart-tax-notice {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;

    margin: 8px 0 10px !important;
    padding: 7px 0 !important;

    color: #6f746f !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
    text-align: center !important;
}


/* ==========================================================
   GLOBALER MINI-CART-HINWEIS — §25a
   Germanized-Ausgabe
   ========================================================== */

.widget_shopping_cart p.differential-taxation-notice.wc-gzd-total-mini-cart,
.ast-site-header-cart-data p.differential-taxation-notice.wc-gzd-total-mini-cart,
.woocommerce-mini-cart p.differential-taxation-notice.wc-gzd-total-mini-cart {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;

    margin: 8px 0 10px !important;
    padding: 7px 0 !important;

    color: #6f746f !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
    text-align: center !important;
}


/* ==========================================================
   CHECKOUT — GLOBALE STEUERHINWEISE
   ========================================================== */

.woocommerce-checkout .hm-global-cart-tax-notice,
.woocommerce-checkout .order-total-small-business-notice .wc-gzd-additional-wrapper,
.woocommerce-checkout .order-total-small-business-notice .wc-gzd-additional-info,
.woocommerce-checkout .order-total-differential-taxation-notice .wc-gzd-additional-wrapper,
.woocommerce-checkout .order-total-differential-taxation-notice .wc-gzd-additional-info {
    text-align: center !important;
}


/* ==========================================================
   WOOCommerce BLOCK MINI-CART
   ========================================================== */

/*
 * Produktbezogene Daten klein.
 */

.wc-block-mini-cart__drawer .wc-block-components-product-details,
.wc-block-mini-cart__drawer .wc-block-components-product-details__name,
.wc-block-mini-cart__drawer .wc-block-components-product-details__value {
    font-size: 8.5px !important;
    line-height: 1.35 !important;
    color: #6f746f !important;
    font-weight: 400 !important;
}

.wc-block-mini-cart__drawer .wc-block-components-product-details {
    margin: 3px 0 0 !important;
    padding: 0 !important;
}

.wc-block-mini-cart__drawer .wc-block-components-product-details > li {
    margin: 0 !important;
    padding: 0 !important;
}

/*
 * Globaler Block-Hinweis groß genug und zentriert.
 */

.wc-block-mini-cart__drawer .hm-global-cart-tax-notice {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;

    margin: 8px 0 10px !important;
    padding: 7px 0 !important;

    color: #6f746f !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
    text-align: center !important;
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 768px) {

    .widget_shopping_cart .woocommerce-mini-cart-item dl.variation > dd.variation-,
    .ast-site-header-cart-data .woocommerce-mini-cart-item dl.variation > dd.variation-,
    .woocommerce-mini-cart .woocommerce-mini-cart-item dl.variation > dd.variation-,
    .widget_shopping_cart .woocommerce-mini-cart-item .wc-gzd-item-attributes,
    .ast-site-header-cart-data .woocommerce-mini-cart-item .wc-gzd-item-attributes,
    .woocommerce-mini-cart .woocommerce-mini-cart-item .wc-gzd-item-attributes {
        font-size: 8px !important;
        line-height: 1.35 !important;
    }

    .widget_shopping_cart p.hm-global-cart-tax-notice,
    .ast-site-header-cart-data p.hm-global-cart-tax-notice,
    .woocommerce-mini-cart p.hm-global-cart-tax-notice,
    .widget_shopping_cart p.differential-taxation-notice.wc-gzd-total-mini-cart,
    .ast-site-header-cart-data p.differential-taxation-notice.wc-gzd-total-mini-cart,
    .woocommerce-mini-cart p.differential-taxation-notice.wc-gzd-total-mini-cart,
    .wc-block-mini-cart__drawer .hm-global-cart-tax-notice {
        font-size: 14px !important;
        line-height: 1.3 !important;
        text-align: center !important;
    }

    .wc-block-mini-cart__drawer .wc-block-components-product-details,
    .wc-block-mini-cart__drawer .wc-block-components-product-details__name,
    .wc-block-mini-cart__drawer .wc-block-components-product-details__value {
        font-size: 8px !important;
    }
}
