/* =========================================================================
   F04 Warenkorb neu – Warenkorbseite + Mini-Warenkorb (inc/warenkorb.php)
   Nur aktiv mit Body-Klasse .wcbr-wk. Entwurf: Design-Fläche „Warenkorb La Perla“.
   ========================================================================= */
.wcbr-wk {
    --wk-bx: #8e153c; --wk-bx-d: #6d0f2e; --wk-creme: #f7f0e9; --wk-panel: #fdfaf7;
    --wk-ink: #3a2b2b; --wk-grau: #6b5e58; --wk-rand: #e6dbd2; --wk-rand2: #ece1d8; --wk-gruen: #4da209;
}

/* ---------- Gratisversand-Zähler ---------- */
.wcbr-wk .wcbr-gv {
    display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 10px; row-gap: 8px; align-items: center;
    background: #fff; border: 1px solid var(--wk-rand); border-radius: 14px; padding: 14px 16px; margin: 0 0 16px;
    color: var(--wk-ink); font-size: 15px; line-height: 1.4; box-sizing: border-box; min-height: 84px;
}
.wcbr-wk .wcbr-gv[hidden] { display: none; }
.wcbr-wk .wcbr-gv__icon { color: var(--wk-bx); display: flex; }
.wcbr-wk .wcbr-gv__rest { color: var(--wk-bx); white-space: nowrap; }
.wcbr-wk .wcbr-gv__balken { grid-column: 1 / -1; display: block; height: 8px; background: var(--wk-rand2); border-radius: 99px; overflow: hidden; }
.wcbr-wk .wcbr-gv__balken > span { display: block; height: 100%; background: var(--wk-bx); border-radius: 99px; transition: width .3s ease; }
.wcbr-wk .wcbr-gv__hinweis { grid-column: 1 / -1; font-size: 12px; color: var(--wk-grau); }
.wcbr-wk .wcbr-gv--erreicht { min-height: 56px; }
.wcbr-wk .wcbr-gv--erreicht strong { color: var(--wk-bx); }
.wcbr-wk .wcbr-gv__haken { width: 28px; height: 28px; border-radius: 50%; background: var(--wk-bx); color: #fff; display: flex; align-items: center; justify-content: center; }
@media (prefers-reduced-motion: reduce) { .wcbr-wk .wcbr-gv__balken > span { transition: none; } }

/* ---------- Warenkorbseite ---------- */
body.wcbr-wk.woocommerce-cart .woocommerce { color: var(--wk-ink); }

/* Grundlayout: Astras Seitenkasten (eigener Hintergrund + Innenabstand) weg, alles auf dem Seitenhintergrund */
body.wcbr-wk.woocommerce-cart article.ast-article-single { background: transparent !important; padding: 0 !important; box-shadow: none !important; border: 0 !important; }
body.wcbr-wk.woocommerce-cart .entry-header { margin: 0 0 20px !important; padding: 0 !important; }
body.wcbr-wk.woocommerce-cart .entry-title { font-family: 'Amatic SC', cursive !important; font-size: 52px !important; line-height: 1 !important; color: var(--wk-bx) !important; margin: 0 !important; }
body.wcbr-wk.woocommerce-cart .site-content > .ast-container { padding-top: 24px; padding-bottom: 48px; }
body.wcbr-wk form.woocommerce-cart-form { border: 0 !important; padding: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; margin: 0 !important; }
/* Geschenkgutschein (YITH) und Hinweise in Kartenoptik statt schwarzem Rand/Schatten */
body.wcbr-wk.woocommerce-cart .ywgc_have_code,
body.wcbr-wk.woocommerce-cart .ywgc_enter_code {
    background: #fff !important; border: 1px solid var(--wk-rand) !important; border-radius: 14px !important; box-shadow: none !important;
    padding: 14px 16px !important; margin: 0 0 16px !important; font-size: 14px;
}
body.wcbr-wk.woocommerce-cart .ywgc_have_code p,
body.wcbr-wk.woocommerce-cart .ywgc_enter_code p { margin: 0 !important; }
body.wcbr-wk.woocommerce-cart .ywgc_have_code a { font-weight: 600; color: var(--wk-bx); }
body.wcbr-wk.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-error,
body.wcbr-wk.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-info,
body.wcbr-wk.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message {
    border: 1px solid var(--wk-rand) !important; border-left: 4px solid var(--wk-bx) !important; border-radius: 14px !important;
    background: #fff !important; box-shadow: none !important; margin: 0 0 16px !important; font-size: 14px;
}
@media (max-width: 921px) {
    body.wcbr-wk.woocommerce-cart .entry-title { font-size: 40px !important; }
    body.wcbr-wk.woocommerce-cart .site-content > .ast-container { padding-top: 12px; }
}

/* Positionen als Karten statt Tabelle */
body.wcbr-wk form.woocommerce-cart-form table.shop_table.cart { display: block !important; border: 0 !important; background: transparent !important; margin: 0 0 16px !important; border-radius: 0 !important; }
body.wcbr-wk form.woocommerce-cart-form table.shop_table.cart > thead { display: none !important; }
body.wcbr-wk form.woocommerce-cart-form table.shop_table.cart > tbody { display: flex !important; flex-direction: column; gap: 12px; }
body.wcbr-wk form.woocommerce-cart-form tr.cart_item {
    display: grid !important; grid-template-columns: 76px minmax(0, 1fr) auto 44px;
    grid-template-areas: "bild name name name" "menge menge summe weg";
    gap: 12px; align-items: center; background: #fff; border: 1px solid var(--wk-rand) !important; border-radius: 14px; padding: 14px !important;
}
body.wcbr-wk form.woocommerce-cart-form tr.cart_item > td {
    display: block !important; padding: 0 !important; margin: 0 !important; border: 0 !important; background: none !important;
    text-align: left !important; width: auto !important; min-width: 0;
}
body.wcbr-wk form.woocommerce-cart-form tr.cart_item > td::before { display: none !important; content: none !important; }
body.wcbr-wk tr.cart_item > td.product-thumbnail { grid-area: bild; align-self: start; }
body.wcbr-wk tr.cart_item > td.product-thumbnail img {
    width: 76px !important; height: 76px !important; max-width: none !important; object-fit: contain; display: block;
    border: 1px solid var(--wk-rand2); border-radius: 10px; background: #fff;
}
body.wcbr-wk tr.cart_item > td.product-name { grid-area: name; align-self: start; font-size: 14px; line-height: 1.35; }
body.wcbr-wk tr.cart_item > td.product-name .ast-product-image { display: block !important; margin: 0 !important; }
body.wcbr-wk tr.cart_item > td.product-name .ast-product-name a { font-weight: 600; color: var(--wk-bx); text-decoration: none; }
body.wcbr-wk tr.cart_item > td.product-name .units-info { margin: 4px 0 0 !important; font-size: 12.5px; color: var(--wk-grau); }
body.wcbr-wk form.woocommerce-cart-form tr.cart_item > td.product-price { display: none !important; }
body.wcbr-wk tr.cart_item > td.product-quantity { grid-area: menge; }
body.wcbr-wk tr.cart_item > td.product-subtotal { grid-area: summe; font-weight: 700; font-size: 17px; text-align: right !important; white-space: nowrap; }
body.wcbr-wk tr.cart_item > td.product-remove { grid-area: weg; }
body.wcbr-wk tr.cart_item > td.product-remove a.remove {
    width: 44px !important; height: 44px !important; display: flex !important; align-items: center; justify-content: center;
    border: 0 !important; border-radius: 10px !important; background: transparent !important; color: var(--wk-grau) !important; font-size: 20px; line-height: 1;
}
body.wcbr-wk tr.cart_item > td.product-remove a.remove:hover, body.wcbr-wk tr.cart_item > td.product-remove a.remove:focus-visible { background: var(--wk-creme) !important; color: var(--wk-bx) !important; }
/* Germanized zeigt „Inhalt“ doppelt (Absatz + Variationsliste) – Liste nur ausblenden, wenn sie nichts anderes enthält */
body.wcbr-wk dl.variation:not(:has(dt:not([class*="variation-gzd-"]))) { display: none !important; }

/* Einzelpreis + Grundpreis */
body.wcbr-wk .wcbr-wk-preise { margin: 4px 0 0 !important; font-size: 12.5px; color: var(--wk-grau); display: flex; flex-wrap: wrap; gap: 0 6px; }
body.wcbr-wk .wcbr-wk-preise .wcbr-wk-gp::before { content: "· "; }
body.wcbr-wk .wcbr-wk-preise .amount { color: inherit; font-weight: 400; }

/* Pflichtangaben (LMIV) */
body.wcbr-wk .wcbr-lmiv { margin: 10px 0 0; border-top: 1px solid var(--wk-rand2); padding-top: 8px; }
body.wcbr-wk .wcbr-lmiv > summary {
    list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 8px;
    min-height: 32px; font-size: 13px; font-weight: 600; color: var(--wk-bx);
}
body.wcbr-wk .wcbr-lmiv > summary::-webkit-details-marker { display: none; }
body.wcbr-wk .wcbr-lmiv[open] .wcbr-lmiv__pfeil { transform: rotate(180deg); }
body.wcbr-wk .wcbr-lmiv__inhalt { font-size: 13px; line-height: 1.5; padding: 8px 0 4px; display: flex; flex-direction: column; gap: 10px; max-width: 560px; }
body.wcbr-wk .wcbr-lmiv__text { margin: 0 !important; font-style: normal; }
body.wcbr-wk .wcbr-lmiv__text strong { font-weight: 600; }
body.wcbr-wk table.wcbr-lmiv__naehr { width: 100%; max-width: 360px; margin: 0 !important; border: 0 !important; border-collapse: collapse; font-size: 12.5px; background: none !important; }
body.wcbr-wk table.wcbr-lmiv__naehr > tbody { display: table-row-group !important; }
body.wcbr-wk table.wcbr-lmiv__naehr tr { display: table-row !important; }
body.wcbr-wk table.wcbr-lmiv__naehr caption { caption-side: top; text-align: left; font-weight: 600; font-size: 13px; padding: 0 0 4px; color: var(--wk-ink); }
body.wcbr-wk table.wcbr-lmiv__naehr th,
body.wcbr-wk table.wcbr-lmiv__naehr td {
    padding: 3px 0 !important; border: 0 !important; border-bottom: 1px solid var(--wk-rand2) !important; background: none !important;
    font-style: normal !important; font-weight: 400 !important; vertical-align: top; width: auto !important; line-height: 1.4;
}
body.wcbr-wk table.wcbr-lmiv__naehr th { text-align: left !important; color: var(--wk-ink); padding-right: 12px !important; width: 100% !important; }
body.wcbr-wk table.wcbr-lmiv__naehr td { text-align: right !important; white-space: nowrap; color: var(--wk-ink); }
body.wcbr-wk table.wcbr-lmiv__naehr tr.wcbr-lmiv__davon th { padding-left: 12px !important; color: var(--wk-grau); }
body.wcbr-wk .wcbr-lmiv__hersteller { margin: 0 !important; font-size: 12.5px; color: var(--wk-grau); }
body.wcbr-wk .wcbr-lmiv__hersteller strong { color: var(--wk-ink); font-weight: 600; }

/* Ein Gutscheinfeld statt zwei (inc/warenkorb.php ein_gutscheinfeld()) */
body.wcbr-wk-ein-gutscheinfeld.woocommerce-cart .ywgc_have_code,
body.wcbr-wk-ein-gutscheinfeld.woocommerce-cart .ywgc_enter_code { display: none !important; }
/* Sonst: Geschenkgutschein als dezenter Link direkt unter dem Gutscheinfeld (Reihenfolge per order) */
body.wcbr-wk.woocommerce-cart .woocommerce:has(> form.woocommerce-cart-form) > form.woocommerce-cart-form { order: 1; }
body.wcbr-wk.woocommerce-cart .woocommerce:has(> form.woocommerce-cart-form) > .ywgc_have_code { order: 2; }
body.wcbr-wk.woocommerce-cart .woocommerce:has(> form.woocommerce-cart-form) > .ywgc_enter_code { order: 3; }
body.wcbr-wk.woocommerce-cart .woocommerce:has(> form.woocommerce-cart-form) > .cart-collaterals,
body.wcbr-wk.woocommerce-cart .woocommerce:has(> form.woocommerce-cart-form) > wc-order-attribution-inputs { order: 4; }
body.wcbr-wk.woocommerce-cart .ywgc_have_code { background: none !important; border: 0 !important; padding: 0 16px !important; margin: -6px 0 16px !important; font-size: 13px !important; color: var(--wk-grau); }
body.wcbr-wk.woocommerce-cart .ywgc_enter_code .form-row { margin: 8px 0 0 !important; padding: 0 !important; float: none !important; width: auto !important; display: inline-block; vertical-align: middle; }
body.wcbr-wk.woocommerce-cart .ywgc_enter_code input.input-text { height: 44px; padding: 0 12px !important; border: 1px solid var(--wk-rand) !important; border-radius: 10px !important; font-size: 16px; background: #fff; }
body.wcbr-wk.woocommerce-cart .ywgc_enter_code button.button {
    height: 44px; padding: 0 16px !important; border-radius: 10px !important; background: #fff !important; color: var(--wk-bx) !important;
    border: 1px solid var(--wk-bx) !important; font-weight: 600; line-height: 1; margin-left: 8px !important;
}
@media (max-width: 921px) {
    body.wcbr-wk.woocommerce-cart .woocommerce:has(> form.woocommerce-cart-form) { display: flex; flex-direction: column; }
}

/* Gutschein + Aktualisieren */
body.wcbr-wk form.woocommerce-cart-form tr:has(> td.actions) { display: block !important; }
body.wcbr-wk form.woocommerce-cart-form td.actions {
    display: flex !important; flex-wrap: wrap; gap: 8px; align-items: center; padding: 14px !important;
    background: #fff !important; border: 1px solid var(--wk-rand) !important; border-radius: 14px; text-align: left !important;
}
body.wcbr-wk td.actions .coupon { display: flex !important; gap: 8px; flex: 1 1 280px; float: none !important; margin: 0 !important; }
body.wcbr-wk td.actions .coupon input.input-text {
    flex: 1 1 auto; width: auto !important; min-width: 0; height: 44px; margin: 0 !important; padding: 0 12px !important;
    border: 1px solid var(--wk-rand) !important; border-radius: 10px !important; font-size: 16px; background: #fff;
}
body.wcbr-wk td.actions .button {
    height: 44px; padding: 0 16px !important; margin: 0 !important; border-radius: 10px !important; float: none !important;
    background: #fff !important; color: var(--wk-bx) !important; border: 1px solid var(--wk-bx) !important; font-weight: 600; line-height: 1;
}
body.wcbr-wk td.actions .button[name="update_cart"][disabled] { opacity: .45; }

/* Summen-Karte */
body.wcbr-wk.woocommerce-cart .cart-collaterals { float: none !important; width: 100% !important; }
body.wcbr-wk.woocommerce-cart .cart-collaterals .cart_totals {
    float: none !important; width: 100% !important; margin: 0 !important; box-sizing: border-box;
    background: #fff; border: 1px solid var(--wk-rand); border-radius: 14px; padding: 20px; color: var(--wk-ink);
}
body.wcbr-wk.woocommerce-cart .cart_totals > h2 {
    margin: 0 0 8px !important; padding: 0 !important; border: 0 !important; background: none !important;
    font-family: 'Amatic SC', cursive; font-size: 30px !important; line-height: 1; color: var(--wk-bx) !important; text-transform: none !important; letter-spacing: 0 !important;
}
body.wcbr-wk.woocommerce-cart .cart_totals table.shop_table { border: 0 !important; margin: 0 0 12px !important; border-radius: 0 !important; }
body.wcbr-wk.woocommerce-cart .cart_totals table.shop_table tr { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 12px; border: 0 !important; padding: 8px 0; border-top: 1px solid var(--wk-rand2) !important; }
body.wcbr-wk.woocommerce-cart .cart_totals table.shop_table tr:first-child { border-top: 0 !important; }
body.wcbr-wk.woocommerce-cart .cart_totals table.shop_table th,
body.wcbr-wk.woocommerce-cart .cart_totals table.shop_table td { display: block !important; padding: 0 !important; border: 0 !important; background: none !important; font-weight: 400; text-align: right; }
body.wcbr-wk.woocommerce-cart .cart_totals table.shop_table th { text-align: left; white-space: nowrap; }
body.wcbr-wk.woocommerce-cart .cart_totals table.shop_table th,
body.wcbr-wk.woocommerce-cart .cart_totals table.shop_table td { width: auto !important; }
body.wcbr-wk.woocommerce-cart .cart_totals table.shop_table td::before { display: none !important; }
body.wcbr-wk.woocommerce-cart .cart_totals table.shop_table tr.woocommerce-shipping-totals { grid-template-columns: 1fr !important; }
body.wcbr-wk.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals th { font-weight: 600; }
body.wcbr-wk.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals td { text-align: left; }
body.wcbr-wk.woocommerce-cart .cart_totals #shipping_method { margin: 4px 0 0 !important; padding: 0 !important; list-style: none; display: flex; flex-direction: column; gap: 8px; }
body.wcbr-wk.woocommerce-cart .cart_totals #shipping_method > li {
    display: flex !important; align-items: center; gap: 10px; min-height: 44px; margin: 0 !important; padding: 0 12px !important;
    border: 1px solid var(--wk-rand); border-radius: 10px; text-align: left; box-sizing: border-box; text-indent: 0 !important;
}
body.wcbr-wk.woocommerce-cart .cart_totals #shipping_method > li:has(input:checked) { border-color: var(--wk-bx); background: var(--wk-panel); }
body.wcbr-wk.woocommerce-cart .cart_totals #shipping_method > li input { position: static !important; opacity: 1 !important; margin: 0 !important; accent-color: var(--wk-bx); width: 18px; height: 18px; flex: 0 0 auto; }
body.wcbr-wk.woocommerce-cart .cart_totals #shipping_method > li label { flex: 1 1 auto; margin: 0 !important; padding: 8px 0 !important; position: static !important; text-indent: 0 !important; cursor: pointer; }
body.wcbr-wk.woocommerce-cart .cart_totals .woocommerce-shipping-destination,
body.wcbr-wk.woocommerce-cart .cart_totals .woocommerce-shipping-calculator { font-size: 12.5px; color: var(--wk-grau); text-align: left; margin: 6px 0 0; }
body.wcbr-wk.woocommerce-cart .cart_totals tr.order-total th,
body.wcbr-wk.woocommerce-cart .cart_totals tr.order-total td { font-weight: 700 !important; font-size: 17px; }
body.wcbr-wk.woocommerce-cart .cart_totals tr.order-total td .amount,
body.wcbr-wk.woocommerce-cart .cart_totals tr.order-total td .amount bdi { font-size: 22px; font-weight: 700 !important; color: var(--wk-ink); }
body.wcbr-wk.woocommerce-cart .cart_totals tr.order-tax { border-top: 0 !important; padding-top: 0; }
body.wcbr-wk.woocommerce-cart .cart_totals tr.order-tax th,
body.wcbr-wk.woocommerce-cart .cart_totals tr.order-tax td { font-size: 12.5px; color: var(--wk-grau); }

/* Zur Kasse zuerst, darunter die Express-Knöpfe (PayPal, Google/Apple Pay) */
body.wcbr-wk.woocommerce-cart .wc-proceed-to-checkout { display: flex !important; flex-direction: column; gap: 8px; padding: 0 !important; }
body.wcbr-wk.woocommerce-cart .wc-proceed-to-checkout > * { flex: 0 0 auto; width: 100% !important; min-width: 0; margin: 0 !important; }
body.wcbr-wk.woocommerce-cart .wc-proceed-to-checkout > a.checkout-button {
    order: -1; display: flex !important; align-items: center; justify-content: center; min-height: 52px !important; line-height: 1.2 !important; padding: 0 16px !important;
    background: var(--wk-gruen) !important; color: #fff !important; border: 0 !important; border-radius: 10px !important; font-size: 16px !important; font-weight: 700; line-height: 1;
}
body.wcbr-wk.woocommerce-cart .wc-proceed-to-checkout > a.checkout-button:hover { filter: brightness(.94); }
/* Trenner über den Express-Knöpfen (Pseudo-Element als Flex-Eintrag zwischen Kasse und Express) */
body.wcbr-wk.woocommerce-cart .wc-proceed-to-checkout::before {
    content: "oder schnell bezahlen mit"; order: 0; display: flex; align-items: center; justify-content: center; margin: 4px 0 0;
    font-size: 12px; color: var(--wk-grau);
    background: linear-gradient(var(--wk-rand2), var(--wk-rand2)) left center / 18% 1px no-repeat,
                linear-gradient(var(--wk-rand2), var(--wk-rand2)) right center / 18% 1px no-repeat;
}

/* Desktop: Liste links, Summe rechts mitlaufend */
@media (min-width: 922px) {
    body.wcbr-wk.woocommerce-cart .entry-content > .woocommerce:has(> form.woocommerce-cart-form),
    body.wcbr-wk.woocommerce-cart .woocommerce:has(> form.woocommerce-cart-form) {
        display: grid; grid-template-columns: minmax(0, 1fr) 380px; column-gap: 32px; align-items: start;
    }
    body.wcbr-wk.woocommerce-cart .woocommerce:has(> form.woocommerce-cart-form) > * { grid-column: 1; min-width: 0; }
    body.wcbr-wk.woocommerce-cart .woocommerce:has(> form.woocommerce-cart-form) > .cart-collaterals {
        grid-column: 2; grid-row: 1 / span 8; position: sticky; top: 120px;
    }
    body.wcbr-wk form.woocommerce-cart-form tr.cart_item {
        grid-template-columns: 72px minmax(0, 1fr) auto 44px; grid-template-areas: "bild name name name" "bild menge summe weg";
        padding: 16px 20px !important;
    }
    body.wcbr-wk tr.cart_item > td.product-thumbnail img { width: 72px !important; height: 72px !important; }
    body.wcbr-wk tr.cart_item > td.product-name { font-size: 14.5px; align-self: center; }
}
/* Breite Bildschirme: alles in einer Zeile wie im Entwurf */
@media (min-width: 1200px) {
    body.wcbr-wk form.woocommerce-cart-form tr.cart_item { grid-template-columns: 72px minmax(0, 1fr) 136px 110px 44px; grid-template-areas: "bild name menge summe weg"; }
}

/* Artikel ohne Mengenwahl (Einzelstück, nicht lieferbar): kein leerer Rahmen (F19-Regel greift sonst) */
body.wcbr-wk .woocommerce-cart-form .quantity:has(input.qty[type="hidden"]) { border: 0 !important; background: none !important; width: auto !important; height: auto !important; min-height: 0 !important; }

/* Mengenwähler im Warenkorb auf allen Breiten wie F19 am Handy (44 px, Creme-Knöpfe) – nur echte Wähler */
body.wcbr-wk .woocommerce-cart-form .quantity:has(input.qty:not([type="hidden"])) {
    display: inline-flex !important; align-items: stretch !important; width: 136px !important; height: 44px !important; min-height: 44px !important;
    border: 1px solid #e6dbd2 !important; border-radius: 10px !important; overflow: hidden !important; background: #fff !important;
    box-shadow: none !important; padding: 0 !important; margin: 0 !important; max-width: none !important; justify-content: flex-start !important;
}
body.wcbr-wk .woocommerce-cart-form .quantity a.minus,
body.wcbr-wk .woocommerce-cart-form .quantity a.plus,
body.wcbr-wk .woocommerce-cart-form .quantity .ast-qty-placeholder {
    flex: 0 0 44px !important; width: 44px !important; height: 44px !important; min-width: 44px !important;
    display: flex !important; align-items: center !important; justify-content: center !important; margin: 0 !important; padding: 0 !important;
    border: 0 !important; border-radius: 0 !important; background: #f7f0e9 !important; color: #3a2b2b !important; font-size: 22px !important;
    line-height: 1 !important; text-decoration: none !important; box-shadow: none !important;
}
body.wcbr-wk .woocommerce-cart-form .quantity input.qty:not([type="hidden"]) {
    flex: 1 1 auto !important; width: auto !important; min-width: 2.5rem !important; height: 44px !important; margin: 0 !important; padding: 0 !important;
    border: 0 !important; border-left: 1px solid #e6dbd2 !important; border-right: 1px solid #e6dbd2 !important; border-radius: 0 !important;
    background: #fff !important; color: #3a2b2b !important; box-shadow: none !important; font-size: 16px !important; font-weight: 600 !important;
    text-align: center !important; -moz-appearance: textfield;
}

/* Handy/Tablet: feste Summen-Leiste unten, die Liste scrollt darüber (Wunsch Marcel 19.10.).
   Die Leiste ist ein eigenes Element (assets/js/warenkorb.js liest die Werte aus der Summen-Karte).
   Die Karte selbst mit Versandwahl und Express-Knöpfen (PayPal, Stripe) bleibt unverändert am Ende
   der Liste – deren Knöpfe werden nicht verschoben (iframes), die Leiste springt nur dorthin. */
.wcbr-wk-leiste { display: none; }
@media (max-width: 921px) {
    body.wcbr-wk.woocommerce-cart { padding-bottom: var(--wcbr-wk-leiste, 0px); }
    body.wcbr-wk.woocommerce-cart .cart-collaterals { margin-top: 16px; scroll-margin-top: 120px; }
    body.wcbr-wk.woocommerce-cart .wcbr-wk-leiste {
        display: flex; flex-direction: column; gap: 6px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 9990;
        background: #fff; color: var(--wk-ink); border-top: 1px solid var(--wk-rand); border-radius: 16px 16px 0 0;
        box-shadow: 0 -8px 20px rgba(58, 43, 43, .12); padding: 10px 16px calc(12px + env(safe-area-inset-bottom)); font-size: 13.5px;
    }
    .wcbr-wk-leiste__gv { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; font-size: 13px; padding-bottom: 6px; border-bottom: 1px solid var(--wk-rand2); }
    .wcbr-wk-leiste__gv strong { color: var(--wk-bx); }
    .wcbr-wk-leiste__balken { flex: 1 1 100%; display: block; height: 6px; background: var(--wk-rand2); border-radius: 99px; overflow: hidden; }
    .wcbr-wk-leiste__balken > span { display: block; height: 100%; background: var(--wk-bx); border-radius: 99px; }
    .wcbr-wk-leiste__zeile { display: flex; justify-content: space-between; gap: 12px; }
    .wcbr-wk-leiste__zeile span:last-child { text-align: right; }
    .wcbr-wk-leiste__gesamt { border-top: 1px solid var(--wk-rand2); padding-top: 6px; align-items: baseline; }
    .wcbr-wk-leiste__gesamt strong { font-size: 16px; }
    .wcbr-wk-leiste__gesamt .wcbr-wk-leiste__summe { font-size: 20px; font-weight: 700; }
    .wcbr-wk-leiste__steuer { font-size: 12px; color: var(--wk-grau); margin-top: -4px; }
    .wcbr-wk-leiste__kasse {
        display: flex; align-items: center; justify-content: center; min-height: 50px; margin-top: 2px; border-radius: 10px;
        background: var(--wk-gruen); color: #fff !important; font-size: 16px; font-weight: 700; text-decoration: none !important;
    }
    .wcbr-wk-leiste__express {
        align-self: center; background: none; border: 0; padding: 4px 8px; min-height: 32px; color: var(--wk-bx);
        font-size: 12.5px; font-weight: 600; text-decoration: underline; cursor: pointer;
    }
    body.wcbr-wk.woocommerce-cart #ast-scroll-top { display: none !important; }
}

/* ---------- Mini-Warenkorb (Astra-Flyout am Desktop) ---------- */
.wcbr-wk .astra-cart-drawer { background: var(--wk-panel) !important; color: var(--wk-ink); }
.wcbr-wk .astra-cart-drawer .astra-cart-drawer-header { background: var(--wk-bx) !important; color: #fff !important; border: 0 !important; min-height: 64px; display: flex; align-items: center; }
/* Kopf ist absolut positioniert und 64 px hoch – Astra rückt den Inhalt nur um ~3em (48–52 px) ein */
.wcbr-wk .astra-cart-drawer .astra-cart-drawer-content { padding-top: 64px !important; }
.wcbr-wk .astra-cart-drawer .astra-cart-drawer-title { font-family: 'Amatic SC', cursive; font-size: 30px !important; font-weight: 700; color: #fff !important; }
.wcbr-wk .astra-cart-drawer .astra-cart-drawer-close { color: #fff !important; min-width: 44px; min-height: 44px; }
.wcbr-wk .astra-cart-drawer .astra-cart-drawer-close svg { fill: #fff !important; }
.wcbr-wk .astra-cart-drawer .wcbr-gv--mini { margin: 16px 0 8px; min-height: 0; padding: 12px 14px; font-size: 14px; }
.wcbr-wk .astra-cart-drawer .wcbr-gv--mini .wcbr-gv__hinweis { display: none; }
.wcbr-wk .astra-cart-drawer .wcbr-gv--mini.wcbr-gv--erreicht { min-height: 56px; }
.wcbr-wk .astra-cart-drawer ul.woocommerce-mini-cart { padding: 0 16px !important; margin: 0 !important; display: flex !important; flex-direction: column; gap: 8px; }
.wcbr-wk .astra-cart-drawer .wcbr-gv--mini { margin: 16px !important; }
/* flex-shrink 0: Die Liste ist eine Flex-Spalte in einem Bereich mit fester Höhe. Ab ~3 Artikeln stauchte der Browser sonst
   jede Position unter ihre Inhaltshöhe – Mengenwahl und Preis lagen dann über der nächsten Karte (Marcel 21.10.2026, alle Browser). */
.wcbr-wk .astra-cart-drawer li.woocommerce-mini-cart-item {
    flex-shrink: 0 !important;
    display: grid !important; grid-template-columns: 56px minmax(0, 1fr) 32px; column-gap: 12px; row-gap: 4px; align-items: center;
    padding: 12px !important; margin: 0 !important; background: #fff !important; border: 1px solid var(--wk-rand2) !important;
    border-radius: 12px !important; box-shadow: none !important; position: relative;
}
/* Astra zeichnet um den Entfernen-Knopf einen Kreis (::before, absolut) – im Raster wird er zum Oval über der Karte */
.wcbr-wk .astra-cart-drawer li.woocommerce-mini-cart-item > a.remove::before,
.wcbr-wk .astra-cart-drawer li.woocommerce-mini-cart-item > a.remove::after { display: none !important; }
.wcbr-wk .astra-cart-drawer li.woocommerce-mini-cart-item > a.remove:hover,
.wcbr-wk .astra-cart-drawer li.woocommerce-mini-cart-item > a.remove:focus-visible { background: var(--wk-creme) !important; border-radius: 8px !important; color: var(--wk-bx) !important; }
.wcbr-wk .astra-cart-drawer li.woocommerce-mini-cart-item::before,
.wcbr-wk .astra-cart-drawer li.woocommerce-mini-cart-item::after { display: none !important; }
.wcbr-wk .astra-cart-drawer li.woocommerce-mini-cart-item > a:not(.remove) { display: contents !important; }
.wcbr-wk .astra-cart-drawer li.woocommerce-mini-cart-item img {
    grid-column: 1; grid-row: 1 / span 4; align-self: start; width: 56px !important; height: 56px !important; max-width: none !important;
    object-fit: contain; margin: 0 !important; border: 1px solid var(--wk-rand2); border-radius: 8px; background: #fff; float: none !important; position: static !important; transform: none !important; left: auto !important; top: auto !important;
}
.wcbr-wk .astra-cart-drawer li.woocommerce-mini-cart-item .ast-product-image { grid-column: 2; grid-row: 1; margin: 0 !important; display: block !important; }
.wcbr-wk .astra-cart-drawer li.woocommerce-mini-cart-item .ast-product-name { font-size: 13px; font-weight: 600; line-height: 1.3; color: var(--wk-bx); }
.wcbr-wk .astra-cart-drawer li.woocommerce-mini-cart-item .units-info { grid-column: 2; grid-row: 2; margin: 0 !important; font-size: 12px; color: var(--wk-grau); }
/* Grundpreis: steht (durch display:contents am Link) als eigenes Rasterfeld – feste Zeile unter „Inhalt“ */
.wcbr-wk .astra-cart-drawer .wcbr-wk-gp--mini { grid-column: 2; grid-row: 3; display: block; font-size: 12px; font-weight: 400; color: var(--wk-grau); margin: 0; }
.wcbr-wk .astra-cart-drawer li.woocommerce-mini-cart-item > a.remove {
    grid-column: 3; grid-row: 1; align-self: start; position: static !important; width: 32px !important; height: 32px !important;
    display: flex !important; align-items: center; justify-content: center; margin: -4px 0 0 !important; color: var(--wk-grau) !important; background: none !important; border: 0 !important;
}
.wcbr-wk .astra-cart-drawer li.woocommerce-mini-cart-item .quantity { grid-column: 2; grid-row: 4; justify-self: start; margin: 0 !important; }
.wcbr-wk .astra-cart-drawer li.woocommerce-mini-cart-item .ast-mini-cart-price-wrap { grid-column: 2 / 4; grid-row: 4; justify-self: end; font-weight: 700; font-size: 15px; margin: 0 !important; float: none !important; position: static !important; }
.wcbr-wk .astra-cart-drawer .woocommerce-mini-cart__total {
    display: flex !important; justify-content: space-between; align-items: baseline; margin: 0 !important; padding: 16px 0 0 !important; border: 0 !important;
}
.wcbr-wk .astra-cart-drawer .woocommerce-mini-cart__total .amount { font-size: 20px; font-weight: 700; }
.wcbr-wk .astra-cart-drawer .wc-gzd-total-mini-cart { font-size: 12px; color: var(--wk-grau); margin: 2px 0 0 !important; padding: 0 !important; border: 0 !important; text-align: left; }
.wcbr-wk .astra-cart-drawer .woocommerce-mini-cart__buttons { display: flex !important; flex-direction: column; gap: 8px; margin: 12px 0 16px !important; padding: 0 !important; }
.wcbr-wk .astra-cart-drawer .woocommerce-mini-cart__buttons .button {
    display: flex !important; align-items: center; justify-content: center; width: 100% !important; height: 44px; margin: 0 !important; padding: 0 16px !important;
    background: #fff !important; color: var(--wk-bx) !important; border: 1px solid var(--wk-bx) !important; border-radius: 10px !important; font-weight: 600;
}
.wcbr-wk .astra-cart-drawer .woocommerce-mini-cart__buttons .button.checkout { order: -1; height: 50px; background: var(--wk-gruen) !important; color: #fff !important; border: 0 !important; font-weight: 700; }
.wcbr-wk .astra-cart-drawer .woocommerce-mini-cart__total,
.wcbr-wk .astra-cart-drawer .wc-gzd-total-mini-cart,
.wcbr-wk .astra-cart-drawer .woocommerce-mini-cart__buttons { padding-left: 16px !important; padding-right: 16px !important; box-sizing: border-box; }
/* Handy: „Warenkorb anzeigen“ und „Kasse“ nebeneinander, 48 px – mehr Platz für die Positionen (Mockup F05 „Handy kompakt“, 22.10.2026) */
@media (max-width: 767px) {
    .wcbr-wk .astra-cart-drawer .woocommerce-mini-cart__buttons { flex-direction: row; }
    .wcbr-wk .astra-cart-drawer .woocommerce-mini-cart__buttons .button { height: 48px; flex: 1 1 0; min-width: 0; letter-spacing: 0 !important; font-size: 14px !important; padding: 0 10px !important; white-space: nowrap; }
    .wcbr-wk .astra-cart-drawer .woocommerce-mini-cart__buttons .button.checkout { order: 2; flex-grow: 1.3; height: 48px; }
}
/* Mengenwähler im Mini-Warenkorb wie überall (Creme-Knöpfe), etwas kleiner: 40 px */
.wcbr-wk .astra-cart-drawer .quantity:has(input.qty:not([type="hidden"])) {
    display: inline-flex !important; align-items: stretch !important; width: 120px !important; height: 40px !important; min-height: 40px !important;
    border: 1px solid #e6dbd2 !important; border-radius: 10px !important; overflow: hidden !important; background: #fff !important;
    box-shadow: none !important; padding: 0 !important; max-width: none !important;
}
.wcbr-wk .astra-cart-drawer .quantity a.minus,
.wcbr-wk .astra-cart-drawer .quantity a.plus {
    flex: 0 0 40px !important; width: 40px !important; height: 40px !important; min-width: 40px !important; display: flex !important;
    align-items: center !important; justify-content: center !important; margin: 0 !important; padding: 0 !important; border: 0 !important;
    border-radius: 0 !important; background: #f7f0e9 !important; color: #3a2b2b !important; font-size: 20px !important; line-height: 1 !important; text-decoration: none !important;
}
.wcbr-wk .astra-cart-drawer .quantity input.qty:not([type="hidden"]) {
    flex: 1 1 auto !important; width: auto !important; min-width: 2rem !important; height: 40px !important; margin: 0 !important; padding: 0 !important;
    border: 0 !important; border-left: 1px solid #e6dbd2 !important; border-right: 1px solid #e6dbd2 !important; border-radius: 0 !important;
    background: #fff !important; color: #3a2b2b !important; box-shadow: none !important; font-size: 15px !important; font-weight: 600 !important; text-align: center !important;
}

/* ---------- Mini-Warenkorb kompakt (Marcel 21.10.2026) ----------
   Kleineres Bild, Titel max. 3 Zeilen, Grundpreis klein unter dem Namen (Pflicht), „Inhalt“ ausgeblendet (steht im Namen,
   an der Kasse weiter sichtbar), Mengenwahl als schlanke Pille wie auf der Produktkarte, Preis rechts fett. */
.wcbr-wk .astra-cart-drawer li.woocommerce-mini-cart-item {
    grid-template-columns: 48px minmax(0, 1fr) 28px !important; column-gap: 10px !important; row-gap: 2px !important; padding: 10px 10px 10px 12px !important;
}
.wcbr-wk .astra-cart-drawer li.woocommerce-mini-cart-item img { width: 48px !important; height: 48px !important; grid-row: 1 / span 3 !important; }
.wcbr-wk .astra-cart-drawer li.woocommerce-mini-cart-item .ast-product-name {
    font-size: 13px !important; line-height: 1.3 !important; color: #3a2b2b !important;
    display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden;
}
.wcbr-wk .astra-cart-drawer li.woocommerce-mini-cart-item .units-info { display: none !important; }
.wcbr-wk .astra-cart-drawer .wcbr-wk-gp--mini { grid-row: 2 !important; font-size: 11px !important; line-height: 1.3; color: #6b5e58 !important; }
.wcbr-wk .astra-cart-drawer li.woocommerce-mini-cart-item > a.remove { width: 28px !important; height: 28px !important; margin: -4px -2px 0 0 !important; }
.wcbr-wk .astra-cart-drawer li.woocommerce-mini-cart-item .quantity { grid-row: 3 !important; margin-top: 6px !important; }
.wcbr-wk .astra-cart-drawer li.woocommerce-mini-cart-item .ast-mini-cart-price-wrap { grid-row: 3 !important; align-self: center !important; margin-top: 6px !important; font-size: 15px !important; font-weight: 700 !important; color: #3a2b2b; }
.wcbr-wk .astra-cart-drawer li.woocommerce-mini-cart-item .ast-mini-cart-price-wrap .amount { font-weight: 700 !important; }
/* Mengen-Pille: − 1 + */
.wcbr-wk .astra-cart-drawer .quantity:has(input.qty:not([type="hidden"])) {
    width: auto !important; height: 36px !important; min-height: 36px !important;
    border: 1px solid #e3d7cc !important; border-radius: 999px !important; background: #fdfaf7 !important;
}
.wcbr-wk .astra-cart-drawer .quantity a.minus,
.wcbr-wk .astra-cart-drawer .quantity a.plus {
    flex: 0 0 32px !important; width: 32px !important; min-width: 32px !important; height: 34px !important;
    background: transparent !important; color: #8e153c !important; font-size: 17px !important; font-weight: 600 !important;
}
.wcbr-wk .astra-cart-drawer .quantity a.minus:hover,
.wcbr-wk .astra-cart-drawer .quantity a.plus:hover { background: #f1e8df !important; }
.wcbr-wk .astra-cart-drawer .quantity input.qty:not([type="hidden"]) {
    flex: 0 0 26px !important; width: 26px !important; min-width: 26px !important; height: 34px !important;
    border: 0 !important; background: transparent !important; font-size: 14px !important; font-weight: 700 !important;
}

/* Mini-Warenkorb noch kompakter (Marcel 21.10.2026): Titel 2 Zeilen, Pille 32 px, weniger Abstände */
.wcbr-wk .astra-cart-drawer ul.woocommerce-mini-cart { gap: 6px !important; }
.wcbr-wk .astra-cart-drawer li.woocommerce-mini-cart-item { padding: 8px 8px 8px 10px !important; row-gap: 1px !important; min-height: 0 !important; }
.wcbr-wk .astra-cart-drawer li.woocommerce-mini-cart-item .ast-product-name { -webkit-line-clamp: 2 !important; line-clamp: 2 !important; }
.wcbr-wk .astra-cart-drawer li.woocommerce-mini-cart-item .quantity,
.wcbr-wk .astra-cart-drawer li.woocommerce-mini-cart-item .ast-mini-cart-price-wrap { margin-top: 4px !important; }
.wcbr-wk .astra-cart-drawer .quantity:has(input.qty:not([type="hidden"])) { height: 32px !important; min-height: 32px !important; }
.wcbr-wk .astra-cart-drawer .quantity a.minus,
.wcbr-wk .astra-cart-drawer .quantity a.plus,
.wcbr-wk .astra-cart-drawer .quantity input.qty:not([type="hidden"]) { height: 30px !important; }
.wcbr-wk .astra-cart-drawer .quantity input.qty:not([type="hidden"]) { line-height: 30px !important; padding: 0 !important; }

/* Pflichtzeile unter der Zwischensumme: „zzgl. Versandkosten“ rechtsbündig in der Zeile von „inkl. MwSt.“ (Marcel 21.10.2026).
   Der Bereich ist eine Flex-Spalte (Liste scrollt darin) – deshalb kein Umbau, sondern Hochrücken um genau eine Zeile. */
.wcbr-wk .astra-cart-drawer .wc-gzd-total-mini-cart {
    margin: 0 !important; padding-top: 0 !important; padding-bottom: 0 !important; border: 0 !important;
    font-size: 12px !important; line-height: 18px !important; color: #6b5e58 !important;
}
.wcbr-wk .astra-cart-drawer .wc-gzd-total-mini-cart.shipping-costs-cart-info {
    align-self: flex-end; margin-top: -18px !important; text-align: right; position: relative; z-index: 1;
}
.wcbr-wk .astra-cart-drawer .woocommerce-mini-cart__total { margin-bottom: 2px !important; }

/* Gesetzliche Gewährleistung: kleines Vorschaubild der amtlichen Mitteilung unter der Summen-Karte */
body.wcbr-wk.woocommerce-cart .wcbr-wk-gewaehr {
    display: flex; align-items: center; gap: 12px; margin: 12px 0 0; padding: 10px 12px; border: 1px solid var(--wk-rand2);
    border-radius: 12px; background: var(--wk-panel); color: var(--wk-ink) !important; text-decoration: none !important; font-size: 13px; line-height: 1.35;
}
body.wcbr-wk.woocommerce-cart .wcbr-wk-gewaehr img { width: 44px !important; height: auto !important; border: 1px solid var(--wk-rand2); border-radius: 4px; background: #fff; flex: 0 0 auto; }
body.wcbr-wk.woocommerce-cart .wcbr-wk-gewaehr small { display: block; color: var(--wk-bx); font-weight: 600; font-size: 12px; text-decoration: underline; }

/* Handy: Gutscheinfeld und Knopf untereinander (sonst abgeschnittener Platzhalter, zweizeiliger Knopf) */
@media (max-width: 599px) {
    body.wcbr-wk td.actions .coupon { flex-wrap: wrap; flex-basis: 100%; }
    body.wcbr-wk td.actions .coupon input.input-text,
    body.wcbr-wk td.actions .coupon .button { flex: 1 1 100% !important; width: 100% !important; }
}

/* Gutscheinfeld als aufklappbare Zeile (assets/js/warenkorb.js gutscheinZeile) – ohne JS bleibt das Feld offen */
body.wcbr-wk form.woocommerce-cart-form td.actions:has(> .wcbr-gs-kopf) { display: block !important; padding: 0 !important; }
body.wcbr-wk .wcbr-gs-kopf {
    display: flex !important; align-items: center; gap: 10px; width: 100%; min-height: 52px; margin: 0 !important; padding: 0 16px !important;
    background: none !important; border: 0 !important; box-shadow: none !important; color: var(--wk-ink) !important;
    font: inherit; font-size: 14px !important; font-weight: 600 !important; text-align: left; text-transform: none !important; letter-spacing: 0 !important; cursor: pointer;
}
body.wcbr-wk .wcbr-gs-kopf span { flex: 1 1 auto; }
body.wcbr-wk .wcbr-gs-kopf .wcbr-gs-icon { color: var(--wk-bx); flex: 0 0 auto; }
body.wcbr-wk .wcbr-gs-kopf .wcbr-gs-pfeil { color: var(--wk-bx); flex: 0 0 auto; transition: transform .2s ease; }
body.wcbr-wk .wcbr-gs-kopf[aria-expanded="true"] .wcbr-gs-pfeil { transform: rotate(180deg); }
body.wcbr-wk .wcbr-gs-kopf:focus-visible { outline: 2px solid var(--wk-bx); outline-offset: -2px; border-radius: 14px; }
body.wcbr-wk td.actions.wcbr-gs-zu .coupon { display: none !important; }
body.wcbr-wk td.actions:has(> .wcbr-gs-kopf) .coupon { padding: 0 16px 16px !important; align-items: stretch; }
body.wcbr-wk td.actions .coupon input.input-text,
body.wcbr-wk td.actions .coupon .button { height: 46px !important; min-height: 46px !important; box-sizing: border-box !important; line-height: 1.2 !important; }
body.wcbr-wk td.actions .coupon input.input-text:focus { border-color: var(--wk-bx) !important; outline: none; box-shadow: 0 0 0 3px rgba(142, 21, 60, .12) !important; }
body.wcbr-wk td.actions .coupon .button { background: var(--wk-bx) !important; color: #fff !important; border-color: var(--wk-bx) !important; padding: 0 20px !important; }
body.wcbr-wk td.actions .coupon .button:hover { background: var(--wk-bx-d) !important; }
@media (prefers-reduced-motion: reduce) { body.wcbr-wk .wcbr-gs-kopf .wcbr-gs-pfeil { transition: none; } }

/* Lebensmittelunternehmer: Name deutlich, Anschrift klein darunter */
body.wcbr-wk .wcbr-lmiv__hersteller { color: var(--wk-ink); }
body.wcbr-wk .wcbr-lmiv__anschrift { display: block; font-size: 12px; color: var(--wk-grau); }
/* Mengenwähler, Preis und Entfernen oben an der Artikelzeile – sie rutschen nicht mit, wenn die Pflichtangaben aufklappen */
body.wcbr-wk form.woocommerce-cart-form tr.cart_item { align-items: start !important; }
body.wcbr-wk tr.cart_item > td.product-subtotal,
body.wcbr-wk tr.cart_item > td.product-remove { min-height: 44px; display: flex !important; align-items: center; }
body.wcbr-wk tr.cart_item > td.product-subtotal { justify-content: flex-end; }
@media (min-width: 922px) {
    body.wcbr-wk tr.cart_item > td.product-name { align-self: start !important; }
}

/* ---------- Leerer Warenkorb (Handy + Desktop) ---------- */
.wcbr-leer { padding: 8px 0 24px; color: #3a2b2b; }
/* Leerer Warenkorb nie im zweispaltigen Warenkorb-Raster (Desktop) */
body.wcbr-wk.woocommerce-cart .woocommerce:has(.wcbr-leer) { display: block !important; }
body.wcbr-wk.woocommerce-cart .woocommerce:has(.wcbr-leer) > * { grid-column: auto !important; }
.wcbr-leer ~ .return-to-shop, .woocommerce-cart .wc-empty-cart-message:has(+ .wcbr-leer) { display: none !important; }
.wcbr-leer__kopf { text-align: center; max-width: 720px; margin: 0 auto; padding: 32px 24px 28px; background: #fff; border: 1px solid #e6dbd2; border-radius: 14px; box-shadow: 0 2px 10px rgba(60, 20, 30, .06); }
.wcbr-leer__service { list-style: none; margin: 28px 0 0; padding: 0; display: grid; gap: 12px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.wcbr-leer__service li { margin: 0; }
.wcbr-leer__service a { display: flex; align-items: center; gap: 12px; height: 100%; padding: 14px 16px; background: #fff; border: 1px solid #e6dbd2; border-radius: 14px; color: #3a2b2b !important; text-decoration: none !important; }
.wcbr-leer__service a:hover { border-color: #8e153c; }
.wcbr-leer__service strong { display: block; font-size: 14.5px; font-weight: 600; line-height: 1.3; }
.wcbr-leer__service small { display: block; font-size: 13px; color: #6b5e58; line-height: 1.4; }
.wcbr-leer__sic { flex: 0 0 44px; width: 44px; height: 44px; border-radius: 50%; background: #f7f0e9; color: #8e153c; display: flex; align-items: center; justify-content: center; }
.wcbr-leer__ic { width: 72px; height: 72px; margin: 0 auto 12px; border-radius: 50%; background: #f7f0e9; border: 0; color: #8e153c; display: flex; align-items: center; justify-content: center; }
.wcbr-leer__h { font-family: 'Amatic SC', cursive; font-weight: 700; font-size: clamp(34px, 6vw, 44px); line-height: 1.05; color: #8e153c; margin: 0 0 8px; }
.wcbr-leer__txt { font-size: 15px; line-height: 1.6; color: #6b5e58; max-width: 46ch; margin: 0 auto 18px; }
.wcbr-leer__btns { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.wcbr-leer__btn { display: inline-flex; align-items: center; min-height: 48px; padding: 0 22px; border-radius: 999px; background: #8e153c; color: #fff !important; font-weight: 600; text-decoration: none !important; border: 1.5px solid #8e153c; }
.wcbr-leer__btn:hover { background: #6d0f2e; border-color: #6d0f2e; }
.wcbr-leer__btn--2 { background: #fff; color: #8e153c !important; }
.wcbr-leer__btn--2:hover { background: #fdfaf7; color: #6d0f2e !important; }
.wcbr-leer__btn:focus-visible { outline: 3px solid #6d0f2e; outline-offset: 2px; }
.wcbr-leer__h3 { font-family: 'Amatic SC', cursive; font-weight: 700; font-size: 30px; line-height: 1.1; color: #8e153c; margin: 32px 0 12px; }
.wcbr-leer__welten { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.wcbr-leer__welten li { margin: 0; }
.wcbr-leer__welten a { display: flex; align-items: center; gap: 10px; min-height: 60px; padding: 10px 12px; background: #fff; border: 1px solid #e6dbd2; border-radius: 14px; color: #3a2b2b !important; font-size: 14px; font-weight: 600; line-height: 1.3; text-decoration: none !important; }
.wcbr-leer__welten a:hover { border-color: #8e153c; }
.wcbr-leer__welten img, .wcbr-leer__ph { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; flex: 0 0 40px; background: #f7f0e9; }
.wcbr-leer__last { text-align: center; margin: 16px 0 0; font-size: 14px; }
.wcbr-leer__last a { color: #8e153c !important; text-decoration: underline; }
@media (max-width: 767px) {
    .wcbr-leer__welten { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .wcbr-leer__welten a { font-size: 13px; padding: 8px 10px; }
    .wcbr-leer__service { grid-template-columns: 1fr; gap: 8px; }
    .wcbr-leer__kopf { padding: 24px 16px 22px; }
    .wcbr-leer { padding-left: 9px; padding-right: 9px; }   /* + 7 px Seitenrand = 16 px */
}

/* ---------- 404-Seite (inc/fehlerseite.php) – nutzt die Bausteine des leeren Warenkorbs ---------- */
.wcbr-404-seite #primary { width: 100%; margin: 0; padding: 32px 0 48px; }
.wcbr-404 .wcbr-leer__h { font-size: clamp(34px, 6vw, 48px); }
.wcbr-404__suche { display: flex; align-items: center; gap: 8px; max-width: 520px; margin: 0 auto 16px; padding: 5px 5px 5px 18px; background: #fff; border: 1.5px solid #8e153c; border-radius: 999px; }
.wcbr-404__suche input[type="search"] { flex: 1 1 auto; min-width: 0; border: 0 !important; background: transparent !important; box-shadow: none !important; padding: 8px 0 !important; font-size: 16px; color: #3a2b2b; outline: none; }
.wcbr-404__suche button { flex: 0 0 auto; min-height: 44px; padding: 0 20px; border: 0; border-radius: 999px; background: #8e153c; color: #fff; font-weight: 600; cursor: pointer; }
.wcbr-404__suche button:hover { background: #6d0f2e; }
.wcbr-404__suche:focus-within { box-shadow: 0 0 0 3px rgba(142, 21, 60, .2); }
@media (max-width: 767px) {
    .wcbr-404-seite #primary { padding: 16px 0 32px; }
    .wcbr-404 { padding-left: 9px; padding-right: 9px; }
}

/* F03: Bestellschluss in der festen Handy-Leiste, direkt über „Zur Kasse“ (max. 2 Zeilen) */
.wcbr-wk-leiste__frist { margin: 6px 0 2px; font-size: 12.5px; line-height: 1.35; font-weight: 600; color: #6d0f2e;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* ---------- Leerer Mini-Warenkorb (Astra-Seitenleiste) ---------- */
.widget_shopping_cart_content:has(.wcbr-mleer) .woocommerce-mini-cart__empty-message { display: none !important; }
.wcbr-mleer { padding: 20px 4px 8px; text-align: center; color: #3a2b2b; }
.wcbr-mleer__h { font-family: 'Amatic SC', cursive; font-weight: 700; font-size: 34px; line-height: 1.05; color: #8e153c; margin: 0 0 6px; }
.wcbr-mleer__txt { font-size: 14px; line-height: 1.5; color: #6b5e58; margin: 0 0 14px; }
.wcbr-mleer__btns { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; margin: 0 0 20px; }
.wcbr-mleer__btns .wcbr-leer__btn { min-height: 44px; padding: 0 18px; font-size: 14px; }
.wcbr-mleer__h2 { font-family: 'Amatic SC', cursive; font-weight: 700; font-size: 26px; color: #8e153c; margin: 0 0 8px; text-align: left; }
.wcbr-mleer__welten { grid-template-columns: 1fr !important; gap: 8px !important; text-align: left; }
/* Genusswelten im leeren Mini-Warenkorb: Positions-Karten-Stile des Mini-Warenkorbs (li) nicht übernehmen */
.widget_shopping_cart_content .wcbr-mleer__welten li,
.widget_shopping_cart_content .wcbr-mleer__welten li:hover {
    background: none !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; margin: 0 !important;
    min-height: 0 !important; display: block !important; position: static !important; transform: none !important;
}
.widget_shopping_cart_content .wcbr-mleer__welten li::before,
.widget_shopping_cart_content .wcbr-mleer__welten li::after { display: none !important; content: none !important; }
.widget_shopping_cart_content .wcbr-mleer__welten a { width: 100%; box-sizing: border-box; }
body.wcbr-wk.woocommerce-cart .wc-proceed-to-checkout > .wcbr-fristen { order: -2; }   /* F03: Bestellschluss über „Zur Kasse“ */

/* Mengenfelder exakt mittig (Marcel 21.10.2026): Versalziffern statt Raleways Mediävalziffern; „−“/„+“ im Mini-Warenkorb als
   gezeichnete Striche statt Schriftzeichen (die saßen schriftbedingt zu hoch); Zahl um die Schriftunwucht angehoben */
.wcbr-wk .astra-cart-drawer .quantity input.qty,
.wcbr-wk .quantity input.qty { font-variant-numeric: lining-nums tabular-nums !important; font-feature-settings: "lnum" 1, "tnum" 1 !important; }
.wcbr-wk .astra-cart-drawer .quantity input.qty:not([type="hidden"]) { line-height: 28px !important; padding: 0 0 2px !important; }
.wcbr-wk .astra-cart-drawer .quantity a.minus,
.wcbr-wk .astra-cart-drawer .quantity a.plus { font-size: 0 !important; position: relative !important; }
.wcbr-wk .astra-cart-drawer .quantity a.minus::before,
.wcbr-wk .astra-cart-drawer .quantity a.plus::before,
.wcbr-wk .astra-cart-drawer .quantity a.plus::after {
    content: ""; position: absolute; left: 50%; top: 50%; width: 11px; height: 2px; border-radius: 1px; background: currentColor; transform: translate(-50%, -50%);
}
.wcbr-wk .astra-cart-drawer .quantity a.plus::after { width: 2px; height: 11px; }

/* ---------- Handy: schmale Leiste (Schalter wcbr_wk_sheet_mode, body.wcbr-wk-sheet) – 21.10.2026 ----------
   Links Gesamt, darunter Versand und MwSt. je Satz; rechts „Zur Kasse“. Immer sichtbar. Die Summen-Karte (Versandart, MwSt., Express) bleibt im Fluss. */
.wcbr-wk-schmal { display: none; }
@media (max-width: 921px) {
    html:has(body.wcbr-wk-sheet.woocommerce-cart), body.wcbr-wk-sheet.woocommerce-cart { overflow-x: clip; }
    body.wcbr-wk-sheet.woocommerce-cart .wcbr-wk-schmal {
        display: flex; align-items: center; gap: 12px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 9990; box-sizing: border-box;
        background: #fff; border-top: 1px solid var(--wk-rand); box-shadow: 0 -6px 18px rgba(58, 43, 43, .10);
        padding: 9px 16px calc(9px + env(safe-area-inset-bottom));
    }
    .wcbr-wk-schmal__summe {
        flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 1px; text-align: left;
        background: none !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; margin: 0; cursor: pointer;
        color: var(--wk-ink) !important; text-transform: none !important; letter-spacing: 0 !important; font: inherit !important;
    }
    .wcbr-wk-schmal__zeile { display: flex; align-items: baseline; gap: 6px; }
    .wcbr-wk-schmal__zeile span { font-size: 13px; color: var(--wk-grau); letter-spacing: 0 !important; }
    .wcbr-wk-schmal__zeile strong { font-size: 19px; font-weight: 700; font-variant-numeric: lining-nums; }
    .wcbr-wk-schmal__info { font-size: 11.5px; line-height: 1.4; color: var(--wk-grau); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; letter-spacing: 0 !important; font-weight: 500; font-variant-numeric: lining-nums; }
    .wcbr-wk-schmal__kasse {
        flex: none; display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 22px; border-radius: 10px;
        background: var(--wk-gruen); color: #fff !important; font-weight: 700; font-size: 16px; text-decoration: none !important;
    }
    body.wcbr-wk-sheet.woocommerce-cart #ast-scroll-top { display: none !important; }
}

/* Bestand erreicht (assets/js/warenkorb.js bestandHinweis): Plus grau, kleiner Hinweis darunter */
body.wcbr-wk .woocommerce-cart-form .quantity.wcbr-qty-max .plus,
body.wcbr-wk .widget_shopping_cart_content .quantity.wcbr-qty-max .plus { opacity: .35; pointer-events: none; }
body.wcbr-wk .wcbr-qty-hinweis { display: block; flex-basis: 100%; margin-top: 4px; font-size: 12px; font-weight: 600; color: #8e153c; }

/* WordPress-Admin-Leiste am Handy breiter als der Bildschirm → Seite ließ sich für eingeloggte Admins seitlich scrollen
   (Kunden nicht betroffen, geprüft in iPhone-WebKit 21.10.2026) */
@media (max-width: 782px) { #wpadminbar { max-width: 100vw; overflow: hidden; } }
