/*
 * JBCchild custom.css
 * Wird als letzte CSS-Datei geladen und ueberschreibt andere Styles.
 */

/* ==========================================================================
   1. Klarna-Fix
   ========================================================================== */

.checkout-payment-method[id*="klarna"] .klarna-title {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin-bottom: 0;
}

.checkout-payment-method[id*="klarna"] .klarna_badge img {
    max-height: 22px;
    width: auto;
    object-fit: contain;
}

.checkout-payment-method[id*="klarna"] .custom-radio {
    display: flex;
    align-items: center;
    width: 100%;
}

.checkout-payment-method[id*="klarna"] .klarna_combined_payment .klarna_combined_input[type="radio"] {
    margin-left: 0;
    position: relative;
    margin-right: 0.5rem;
}

.checkout-payment-method[id*="klarna"] .klarna_combined_payment {
    padding-bottom: 0.5rem;
}

/* Klarna: Alle Radio-Kreise ausblenden */
.checkout-payment-method[id*="klarna"] input[type="radio"] {
    appearance: none;
    -webkit-appearance: none;
    width: 0;
    height: 0;
    margin: 0;
    padding: 0;
    position: absolute;
    opacity: 0;
}

.checkout-payment-method[id*="klarna"] .custom-control-label::before,
.checkout-payment-method[id*="klarna"] .custom-control-label::after {
    display: none !important;
}

.checkout-payment-method[id*="klarna"] .custom-control-label {
    padding-left: 0 !important;
}

/* Klarna: Gleicher Abstand wie alle anderen Zahlungsarten */
.checkout-payment-method[id*="klarna"] {
    padding: 0 !important;
    margin-bottom: 0.3rem;
}

.checkout-payment-method[id*="klarna"] .klarna_combined_payment {
    padding-bottom: 0;
    margin-bottom: 0;
}

.checkout-payment-method[id*="klarna"] .s360-klarna-payment-combined {
    padding: 0;
    margin: 0;
}

/* ==========================================================================
   2. DHL-Wunschzustellung dezenter
   ========================================================================== */

#jtl_pack_optionen {
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    border-left: 2px solid #ced4da;
    border-radius: 0.4rem;
    padding: 0.5rem 0.75rem;
    margin-top: 0.4rem;
    margin-bottom: 0.4rem;
}

#jtl_pack_optionen legend {
    font-size: 0.75rem;
    font-weight: 600;
    color: #6c757d;
    margin-bottom: 0.35rem;
    gap: 0.25rem;
}

#jtl_pack_optionen legend::before {
    display: none;
}

#jtl_pack_optionen .button-wrap {
    gap: 0.25rem;
    margin-bottom: 0.4rem;
}

#jtl_pack_optionen .button-label {
    min-width: 68px;
    padding: 0.2rem 0.4rem;
    font-size: 0.68rem;
    border-width: 1px;
    border-radius: 0.3rem;
}

#jtl_pack_optionen label[for="jtl_pack_wunschtag"],
#jtl_pack_optionen label[for="jtl_pack_wunschort"],
#jtl_pack_optionen #wunschpaket_options > div > label,
#jtl_pack_optionen .form-group > label {
    font-size: 0.68rem;
    font-weight: 500;
    color: #868e96;
    margin-bottom: 0.2rem;
}

#jtl_pack_optionen .well,
#jtl_pack_optionen .alert {
    font-size: 0.65rem;
    padding: 0.25rem 0.5rem;
    margin-top: 0.25rem;
}

#jtl_pack_optionen #jtl_pack_wunschort {
    font-size: 0.75rem;
    padding: 0.3rem 0.5rem;
    max-width: 300px;
}

/* ==========================================================================
   Zahlungsarten: Mehrfach-Border-Bug fixen
   Die _checkout.scss setzt blaue Border per :has(input:checked),
   aber nach Seitenladen koennen mehrere checked sein.
   Loesung: Border-Highlight entfernen, nur Hintergrund als Indikator.
   ========================================================================== */

.checkout-payment-options .checkout-payment-method .custom-radio.custom-control:has(input:checked),
.checkout-payment-options .checkout-payment-method .custom-radio.custom-control-inline:has(input:checked) {
    border-color: #e8e8e8;
    box-shadow: none;
}

/* ==========================================================================
   5. Hover-Effekte auf Karten
   ========================================================================== */

.checkout-shipping-form-options .custom-radio.custom-control:hover,
.checkout-shipping-form-options .custom-radio.custom-control-inline:hover,
.checkout-payment-options .checkout-payment-method .custom-radio.custom-control:hover,
.checkout-payment-options .checkout-payment-method .custom-radio.custom-control-inline:hover {
    border-color: rgba(0, 51, 102, 0.5);
    box-shadow: 0 2px 8px rgba(0, 51, 102, 0.1);
    transform: translateY(-1px);
    transition: all 0.2s ease;
}

.checkout-shipping-form-options .custom-radio.custom-control:has(input:checked):hover,
.checkout-shipping-form-options .custom-radio.custom-control-inline:has(input:checked):hover,
.checkout-payment-options .checkout-payment-method .custom-radio.custom-control:has(input:checked):hover,
.checkout-payment-options .checkout-payment-method .custom-radio.custom-control-inline:has(input:checked):hover {
    transform: none;
}

/* ==========================================================================
   6. Responsive
   ========================================================================== */

@media (max-width: 767px) {
    .checkout-shipping-form-options .custom-radio.custom-control:hover,
    .checkout-shipping-form-options .custom-radio.custom-control-inline:hover,
    .checkout-payment-options .checkout-payment-method .custom-radio.custom-control:hover,
    .checkout-payment-options .checkout-payment-method .custom-radio.custom-control-inline:hover {
        transform: none;
    }

    #jtl_pack_optionen {
        padding: 0.4rem 0.6rem;
    }

    #jtl_pack_optionen legend {
        font-size: 0.7rem;
    }

    #jtl_pack_optionen .button-label {
        min-width: 60px;
        padding: 0.2rem 0.35rem;
        font-size: 0.62rem;
    }
}

/* Merkmalwert-Badges auf der Produktseite nicht klickbar (Zielseiten liefern 410) - 2026-07-09 */
.attr-characteristic a.badge-primary {
    pointer-events: none;
    cursor: default;
}

/* ==========================================================================
   7. Shop-Schrift: Manrope ueberall (BM-Freigabe 26.08.2026)
   - Manrope-Dateien liegen lokal unter themes/base/fonts/ -> DSGVO-konform,
     es gibt keinerlei externe Font-Requests.
   - Alias-Technik: Diese @font-face-Definitionen laden NACH my-nova.css und
     ueberschreiben dort "Space Grotesk" (33+ Regeln) und "Inter" (Slider) --
     alle bestehenden Selektoren liefern damit Manrope, ohne sie anzufassen.
   - html/body hatte bisher KEINE font-family (= Browser-Default-Sans!),
     Open Sans wurde geladen, aber nie verwendet -> Basis jetzt explizit.
   - Rollback: diesen Abschnitt entfernen (Backup: custom.css.bak-20260826).
   ========================================================================== */

@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:400;src:url("../base/fonts/manrope-v19-latin-regular.woff2") format("woff2");font-display:swap}
@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:600;src:url("../base/fonts/manrope-v19-latin-600.woff2") format("woff2");font-display:swap}
@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:700;src:url("../base/fonts/manrope-v19-latin-700.woff2") format("woff2");font-display:swap}
@font-face{font-family:"Inter";font-style:normal;font-weight:400;src:url("../base/fonts/manrope-v19-latin-regular.woff2") format("woff2");font-display:swap}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;src:url("../base/fonts/manrope-v19-latin-600.woff2") format("woff2");font-display:swap}
@font-face{font-family:"Inter";font-style:normal;font-weight:700;src:url("../base/fonts/manrope-v19-latin-700.woff2") format("woff2");font-display:swap}

html, body {
    font-family: "Manrope", "Helvetica Neue", Arial, sans-serif;
}

button, input, optgroup, select, textarea {
    font-family: inherit;
}

/* ==========================================================================
   8. "In den Warenkorb gelegt"-Modal — Redesign-Linie Warenkorb (26.08.2026)
   Scope ueber :has(#pushed-success): andere Modals bleiben unberuehrt.
   Rollback: diesen Abschnitt entfernen (Backup: custom.css.bak-20260826-2).
   ========================================================================== */

/* Titel: dunkel statt blau, Haekchen als gruener Kreis */
.modal-content:has(#pushed-success) .modal-title {
    color: #1a1a1a;
    font-size: 16px;
    display: flex;
    align-items: center;
}
.modal-content:has(#pushed-success) .modal-title::before {
    font-weight: 900;
    background: #1c871e;
    color: #fff;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    flex-shrink: 0;
}

/* Preis: dunkel statt rot (Rot bleibt Fehlern vorbehalten) */
#pushed-success .preis_success {
    color: #1a1a1a !important;
}

/* Produktbild ohne grauen Rahmen */
#pushed-success .jbc-pushed-image img,
#pushed-success .pushed-success-image-wrapper img,
#pushed-success .productbox-inner img.image {
    border: none !important;
    padding: 0 !important;
}

/* --- Popup-Umbau auf Mockup-Struktur (26.08., Teil 2: Template + Balken) --- */
#pushed-success .jbc-pushed-price{margin-left:auto;text-align:right;white-space:nowrap;flex-shrink:0}
#pushed-success .jbc-pushed-price .anzahl_success{display:block;font-size:12px;color:#999}
#pushed-success .jbc-pushed-avail .status{color:#1c871e;font-weight:600;font-size:12.5px}
#pushed-success .jbc-pushed-avail .status::before{content:"\2713 ";font-weight:700}
#pushed-success .jbc-pushed-avail .status-icon,
#pushed-success .jbc-pushed-avail svg{display:none}
#pushed-success .jbc-shipping-progress{background:#eef4fb;border-radius:5px;padding:10px 12px;margin:2px 0 14px;font-size:12.5px}
#pushed-success .jbc-shipping-progress .jbc-shipping-progress-bar{background:#d6e3f3;height:7px;border-radius:4px}
#pushed-success .jbc-shipping-progress .jbc-shipping-progress-fill{background:#1c871e}
#pushed-success .jbc-shipping-progress.jbc-shipfree-done .jbc-shipping-progress-text b{color:#1c871e}
#pushed-success .jbc-pushed-duo{display:flex;gap:10px}
#pushed-success .jbc-pushed-duo .btn{flex:1;font-weight:700;font-size:15px;border-radius:.3rem;padding:12px}
#pushed-success .jbc-pushed-kasse{text-align:center;padding-top:10px}
#pushed-success .jbc-kasse-link{font-size:13px;color:#525252}
#pushed-success .jbc-kasse-link:hover{color:#004e9e}
@media(max-width:576px){#pushed-success .jbc-pushed-duo{flex-direction:column}}

/* ==========================================================================
   9. Warenkorb-Redesign (26.08.2026, Mockup warenkorb.html v5.1)
   Rollback: Abschnitt entfernen + basket/*.tpl.bak-20260826 zurueckspielen.
   ========================================================================== */

/* Kopf */
.jbc-cart-h1 { margin-bottom: 2px; }
.jbc-cart-sub { color: #525252; font-size: 13.5px; margin-bottom: 14px; }
.jbc-cart-sub .jbc-cart-back { font-weight: 600; }

/* Artikelzeilen: offene Liste */
.basket-items .cart-items-body { padding: 24px 0; border-bottom: 1px solid #ececec; }
.basket-items .cart-items-body:last-child { border-bottom: 0; }
.basket-items .cart-items-image img { width: 100%; max-width: 130px; height: auto; }
.basket-items .cart-items-name { font-weight: 600; font-size: 15px; color: #1a1a1a; display: inline-block; margin-bottom: 2px; }
.basket-items .cart-items-name:hover { color: #004e9e; text-decoration: none; }
.jbc-cart-avail { color: #1c871e; font-size: 12.5px; font-weight: 600; }
.jbc-cart-avail::before { content: "\2713  "; font-weight: 700; }
.jbc-cart-scarce { color: #b45309; font-size: 12.5px; font-weight: 600; margin-top: 1px; }
.jbc-cart-scarce::before { content: "\26A0  "; font-weight: 400; }
.jbc-cart-controls { display: flex; align-items: center; gap: 16px; margin-top: 12px; flex-wrap: wrap; }
.jbc-cart-controls .jbc-cart-del { color: #525252 !important; font-size: 12.5px; padding: 0; text-decoration: none; border: 0; background: none; }
.jbc-cart-controls .jbc-cart-del:hover { color: #b90000 !important; }
.jbc-cart-controls .form-counter { max-width: 120px; margin: 0; }
.jbc-cart-wl .wishlist-button { font-size: 12.5px; color: #525252; padding: 0; }
.jbc-cart-wl .wishlist-button svg { width: 16px; height: 15px; vertical-align: -2px; }
.jbc-cart-pricecol { text-align: right; }
.jbc-cart-uvp { display: block; font-size: 12.5px; color: #525252; }
.jbc-cart-pricecol .price_overall { font-size: 19px; font-weight: 700; color: #1a1a1a !important; font-family: 'Manrope', sans-serif; }
.jbc-cart-pricecol .cart-items-price-text { display: none; }
.jbc-cart-unit { display: block; font-size: 11.5px; color: #525252; font-weight: 400; }

/* Summary-Karte */
.cart-summary .basket-summary { border: 1px solid #e2e2e2; border-radius: 6px; }
.jbc-cart-shipfree { background: #eef4fb; border-radius: 5px; padding: 10px 12px; margin-bottom: 14px; font-size: 12.5px; color: #1a1a1a; }
.jbc-cart-shipfree.jbc-done .jbc-cart-shipfree-text b { color: #1c871e; }
.jbc-cart-shipfree-bar { height: 7px; background: #d6e3f3; border-radius: 4px; margin-top: 8px; overflow: hidden; }
.jbc-cart-shipfree-bar i { display: block; height: 100%; background: #1c871e; border-radius: 4px; }
.jbc-sum-row { font-size: 14px; margin-bottom: 4px; }
.jbc-free { color: #1c871e; font-weight: 700; }
.cart-summary .basket-summary .basket-summary-total { border-top: 2px solid #1a1a1a; margin-top: 10px; padding-top: 10px; }
.jbc-sum-mwst { font-size: 11.5px; color: #525252; text-align: right; margin: 2px 0 12px; }
.cart-summary #cart-checkout-btn { font-weight: 700; font-size: 16px; padding: 13px; }
.jbc-express-label { text-align: center; font-size: 11.5px; color: #525252; margin: 12px 0 2px; }
.cart-summary #ppc-paypal-button-custom-cart-wrapper img { max-height: 30px; width: auto; }
.cart-summary #ppc-paypal-button-custom-cart-wrapper { text-align: center; }

/* Unter der Karte */
.jbc-cart-usps { list-style: none; margin: 14px 0 0; padding: 0; }
.jbc-cart-usps li { font-size: 12.5px; padding: 3px 0; color: #1a1a1a; }
.jbc-cart-usps li::before { content: "\2713"; color: #1c871e; font-weight: 700; margin-right: 8px; }
.jbc-cart-payh { font-weight: 700; font-size: 12.5px; margin: 16px 0 8px; color: #1a1a1a; }
.jbc-cart-paylogos { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.jbc-cart-paylogos img { height: 16px; width: auto; display: block; }
.jbc-cart-paylogos span { font-size: 11.5px; font-weight: 700; color: #525252; }
.jbc-cart-coupon { margin-top: 14px; font-size: 13px; }
.jbc-cart-coupon .jbc-coupon-toggle { color: #525252; font-size: 13px; text-decoration: none; }
.jbc-cart-coupon .jbc-coupon-toggle:hover { color: #004e9e; }
.jbc-cart-service { display: flex; gap: 10px; align-items: center; margin-top: 16px; padding: 12px; background: #f5f7fa; border-radius: 5px; font-size: 12px; line-height: 1.45; color: #525252; }
.jbc-cart-service b { color: #1a1a1a; font-size: 12.5px; }
.jbc-cart-service svg { flex-shrink: 0; }

/* Countdown im Slot kompakt */
#jbc-countdown-slot .jbc-shipping-badge { margin: 0 0 12px; }

/* Responsive */
@media (max-width: 767px) {
    .basket-items .cart-items-body { padding: 18px 0; }
    .jbc-cart-pricecol { text-align: left; margin-top: 6px; }
    .jbc-cart-uvp, .jbc-cart-unit { display: inline-block; margin-right: 8px; }
    .jbc-cart-controls { gap: 12px; }
}

/* Abschnitt 9 — Feinschliff (Runde 2) */
.cart-summary .jbc-sum-row .price_label,
.cart-summary .basket-summary-total .price_label { white-space: nowrap; font-size: 13.5px; }
.cart-summary .jbc-sum-row [class*="col-7"],
.cart-summary .basket-summary-total [class*="col-7"] { flex: 0 0 55%; max-width: 55%; }
.cart-summary .jbc-sum-row [class*="col-5"],
.cart-summary .basket-summary-total [class*="col-5"] { flex: 0 0 45%; max-width: 45%; }
.jbc-cart-wl .wishlist-button::after { content: "Merken"; font-size: 12.5px; margin-left: 4px; }
.jbc-cart-wl .wishlist-button .wishlist-button-inner svg { width: 15px; height: 14px; }

/* Abschnitt 9 — Runde 3: Express-Reihenfolge rein visuell per Flex-Order (kein DOM-Move!) */
.cart-summary .basket-summary .card-body { display: flex; flex-direction: column; }
.cart-summary .basket-summary .card-body > .jbc-express-label { order: 1; }
.cart-summary .basket-summary .card-body > #ppc-paypal-button-custom-cart-wrapper { order: 2; margin-top: 0 !important; }
.cart-summary .basket-summary .card-body > #paypal-button-cart-container { order: 3; margin-top: .5rem !important; }
.cart-summary .basket-summary .card-body > .lpa-button { order: 4; }
.cart-summary .basket-summary .card-body > .savings-display { order: 5; }
.jbc-cart-wl .wishlist-button { display: inline-flex; align-items: center; gap: 4px; }

/* Abschnitt 9 — Runde 4 (BM-Feedback): Stepper kompakt, Logos, Umbrueche */
.jbc-cart-controls .form-counter .btn-decrement,
.jbc-cart-controls .form-counter .btn-increment {
    width: 30px; height: 32px; padding: 0; background: #fff;
    border: 1px solid #c9c9c9; color: #004e9e; font-size: 11px;
}
.jbc-cart-controls .form-counter .btn-decrement { border-radius: 5px 0 0 5px; border-right: 0; }
.jbc-cart-controls .form-counter .btn-increment { border-radius: 0 5px 5px 0; border-left: 0; }
.jbc-cart-controls .form-counter input.quantity {
    width: 40px; height: 32px; border: 1px solid #c9c9c9; text-align: center;
    font-size: 14px; color: #1a1a1a; box-shadow: none;
}
.jbc-cart-controls .form-counter .fas { font-size: 10px; }
.jbc-cart-paylogos img { height: 17px; }
.jbc-cart-paylogos img[alt="Amazon Pay"] { height: 15px; }

/* Abschnitt 9 — Countdown im Summary-Slot: dezente Textzeile statt Badge-Kasten */
#jbc-countdown-slot .jbc-shipping-badge,
#jbc-countdown-slot .jbc-shipping-badge-inner {
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 0 10px !important;
    font-size: 12.5px !important;
    color: #1a1a1a !important;
    text-align: left !important;
    display: flex !important;
    align-items: center;
    gap: 6px;
}
#jbc-countdown-slot .jbc-shipping-badge svg,
#jbc-countdown-slot .jbc-shipping-badge i,
#jbc-countdown-slot .jbc-shipping-badge img {
    width: 14px !important; height: 14px !important; vertical-align: -2px;
}
#jbc-countdown-slot .jbc-badge-timer { color: #004e9e; }
#jbc-countdown-slot .jbc-has-pulse, #jbc-countdown-slot [data-state=urgent] { animation: none !important; }

/* Abschnitt 9 — Runde 5: Pixel-Angleichung ans Mockup (26.08.) */
.basket-items .cart-items-body { padding: 28px 0 !important; }
.basket-items .cart-items-image img { width: 100% !important; max-width: 130px !important; height: auto !important; }
.basket-items .cart-items-name { font-size: 15px !important; }
.cart-summary .basket-summary .total-sum { font-size: 17px !important; font-family: 'Manrope', sans-serif !important; color: #1a1a1a !important; }
.cart-summary .basket-summary .basket-summary-total { border-top: 2px solid #1a1a1a !important; margin-top: 10px; padding-top: 12px; }
.cart-summary .basket-summary .basket-summary-total .price_label { font-size: 15px !important; font-weight: 700; color: #1a1a1a; }
.cart-summary .jbc-sum-shipping small { font-size: 11.5px; line-height: 1.4; display: inline-block; }
/* In-Karte-Elemente: nach den Express-Buttons ordnen (flex-order) */
.cart-summary .basket-summary .card-body > .jbc-cart-usps { order: 6; margin-top: 16px; padding-top: 14px; border-top: 1px solid #ececec; }
.cart-summary .basket-summary .card-body > .jbc-cart-payh { order: 7; }
.cart-summary .basket-summary .card-body > .jbc-cart-paylogos { order: 8; }
.cart-summary .basket-summary .card-body > .jbc-cart-coupon { order: 9; }
.cart-summary .basket-summary .card-body > .jbc-cart-service { order: 10; }
/* Express-Buttons nebeneinander (PayPal links, Amazon rechts) */
.cart-summary .basket-summary .card-body { flex-direction: row; flex-wrap: wrap; }
.cart-summary .basket-summary .card-body > * { width: 100%; }
.cart-summary .basket-summary .card-body > #ppc-paypal-button-custom-cart-wrapper { width: calc(50% - 5px); margin-right: 5px; }
.cart-summary .basket-summary .card-body > .lpa-button { width: calc(50% - 5px); margin-left: 5px; align-self: center; }
.cart-summary .basket-summary .card-body > #paypal-button-cart-container { width: 100%; }
@media (max-width: 480px) {
    .cart-summary .basket-summary .card-body > #ppc-paypal-button-custom-cart-wrapper,
    .cart-summary .basket-summary .card-body > .lpa-button { width: 100%; margin: 0; }
}

/* Runde 5b: Theme pinnt Warenkorb-Bilder auf 80px (hohe Spezifitaet) — Konter */
.basket-items .cart-items-body .cart-items-image picture img,
.basket-items .cart-items-body .cart-items-image img {
    width: 100% !important;
    max-width: 130px !important;
    height: auto !important;
}

/* Abschnitt 9 — Runde 6: Doppelrahmen + Luecken (BM-Feedback) */
.sticky-top.cart-summary {
    box-shadow: none !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}
#jbc-countdown-slot { min-height: 0; }
#jbc-countdown-slot * { margin: 0 !important; padding: 0 !important; min-height: 0 !important; line-height: 1.45 !important; }
#jbc-countdown-slot .jbc-shipping-badge { margin-bottom: 10px !important; }
.cart-summary #cart-checkout-btn { margin-top: 4px !important; }
.cart-summary .basket-summary .card-body > .lpa-button { margin-bottom: 0 !important; }
.cart-summary .basket-summary .card-body > #ppc-paypal-button-custom-cart-wrapper { margin-top: 4px !important; }

/* Abschnitt 9 — Runde 7: eckiger, Express gelb + nebeneinander (BM-Feedback) */
.cart-summary .basket-summary,
.cart-summary .basket-summary .card-body { border-radius: 6px !important; }
/* Express: PayPal gelb (Plugin-Custom-Button), Amazon daneben */
.cart-summary .basket-summary .card-body > #ppc-paypal-button-custom-cart-wrapper {
    width: calc(50% - 5px) !important; margin: 4px 5px 0 0 !important; order: 2;
}
.cart-summary .basket-summary .card-body > .lpa-button {
    width: calc(50% - 5px) !important; margin: 4px 0 0 5px !important; order: 3; align-self: stretch;
}
.cart-summary .basket-summary .card-body > #paypal-button-cart-container { order: 4; margin: 0 !important; }
#ppc-paypal-button-cart.ppc-paypal-button-custom {
    background: #ffc439 !important; border: none !important; border-radius: 5px !important;
    height: 52px; padding: 8px !important; margin: 0 !important;
}
#ppc-paypal-button-cart .ppc-paypal-button-custom-img { max-height: 24px; }
/* Amazon-Container: Rahmen weg, buendig; Innenleben rendert Amazon (Shadow-DOM) */
.basket-summary .lpa-button-wrapper { border: none !important; background: none !important; padding: 0 !important; }
.basket-summary .lpa-button-content { margin: 0 !important; }
.basket-summary .lpa-button-content [class*="col"] { padding: 0 !important; flex: 0 0 100%; max-width: 100%; }
/* "auch per Lastschrift"-Subtext ausblenden */
.basket-summary .lpa-button .lpa-button-content-cols ~ * ,
.basket-summary .lpa-button [class*="lastschrift"] { display: none !important; }
/* USPs ohne Trennlinie (wie Mockup) */
.cart-summary .basket-summary .card-body > .jbc-cart-usps { border-top: none; padding-top: 0; margin-top: 14px; }

/* Abschnitt 9 — Runde 7b: Express gestapelt, PayPal VOR Amazon, volle Breite */
.cart-summary .basket-summary .card-body > #ppc-paypal-button-custom-cart-wrapper {
    width: 100% !important; margin: 2px 0 0 !important; order: 2;
}
.cart-summary .basket-summary .card-body > #paypal-button-cart-container {
    width: 100% !important; margin: 2px 0 0 !important; order: 3;
}
.cart-summary .basket-summary .card-body > .lpa-button {
    width: 100% !important; margin: 8px 0 0 !important; order: 4;
}
.basket-summary .lpa-button-content-cols { flex: 0 0 100%; max-width: 100%; }

/* Abschnitt 9 — Runde 8: Trennbalken buendig + Express 50/50 (BM-Feedback) */
/* Summen-Zeilen: Bootstrap-Negativmargins neutralisieren -> Linie exakt Inhaltsbreite */
.cart-summary .basket-summary .jbc-sum-row,
.cart-summary .basket-summary .basket-summary-total,
.cart-summary .basket-summary .row.total-net,
.cart-summary .basket-summary .row.tax {
    margin-left: 0 !important; margin-right: 0 !important; width: 100%;
}
.cart-summary .basket-summary .jbc-sum-row > [class*="col"],
.cart-summary .basket-summary .basket-summary-total > [class*="col"],
.cart-summary .basket-summary .row.total-net > [class*="col"],
.cart-summary .basket-summary .row.tax > [class*="col"] {
    padding-left: 0 !important; padding-right: 0 !important;
}
/* Innenabstaende des PayPal-Horizontal-Containers weg + Hoehen angleichen */
.basket-summary .ppc-ecs-horizontal-container { padding: 0 !important; margin: 0 !important; }
.basket-summary .ppc-ecs-horizontal-container [class*="col"] { padding: 0 !important; }
.basket-summary .lpa-button-container { min-height: 44px !important; height: 44px !important; }
.basket-summary .paypal-buttons { vertical-align: middle; }

/* Abschnitt 9 — Runde 8b: Express gleich gross untereinander + Balken ohne Kasten */
.cart-summary .basket-summary .card-body > #paypal-button-cart-container,
.cart-summary .basket-summary .card-body > .lpa-button {
    width: 100% !important; margin: 6px 0 0 !important;
}
.basket-summary .paypal-buttons { width: 100% !important; }
/* Gratisversand-Anzeige: schlichte Zeile + duenner Balken (kein blauer Kasten) */
.jbc-cart-shipfree {
    background: none !important; border-radius: 0; padding: 0 0 2px !important;
    margin-bottom: 16px; font-size: 12.5px; color: #1a1a1a;
}
.jbc-cart-shipfree-bar { background: #ececec !important; height: 6px; margin-top: 6px; }
#pushed-success .jbc-shipping-progress {
    background: none !important; border-radius: 0; padding: 0 !important;
    margin: 2px 0 14px !important; font-size: 12.5px;
}
#pushed-success .jbc-shipping-progress .jbc-shipping-progress-bar {
    background: #ececec !important; height: 6px; margin-top: 6px;
}

/* Abschnitt 9 — Runde 9: Erfolgsbalken + Versanddatum-Zeile (BM-Feedback) */
/* Balken mit Belohnungs-Charakter: dicker, Gruenverlauf, runde Kappen, Track mit Tiefe */
.jbc-cart-shipfree { font-size: 13px; color: #1a1a1a; }
.jbc-cart-shipfree-bar {
    height: 9px !important; background: #edf0f3 !important; border-radius: 5px;
    box-shadow: inset 0 1px 2px rgba(0,0,0,.07); margin-top: 7px; overflow: hidden;
}
.jbc-cart-shipfree-bar i {
    background: linear-gradient(90deg, #1c871e, #35b83a) !important; border-radius: 5px;
}
.jbc-cart-shipfree.jbc-done .jbc-cart-shipfree-text b { color: #1c871e; }
#pushed-success .jbc-shipping-progress { font-size: 13px; color: #1a1a1a; }
#pushed-success .jbc-shipping-progress .jbc-shipping-progress-bar {
    height: 9px !important; background: #edf0f3 !important; border-radius: 5px;
    box-shadow: inset 0 1px 2px rgba(0,0,0,.07); margin-top: 7px; overflow: hidden;
}
#pushed-success .jbc-shipping-progress .jbc-shipping-progress-fill {
    background: linear-gradient(90deg, #1c871e, #35b83a) !important; border-radius: 5px;
}
/* Versanddatum/Countdown-Zeile: wie Mockup-Countdown — dunkel, praesent, blaues Icon */
#jbc-countdown-slot .jbc-shipping-badge,
#jbc-countdown-slot .jbc-shipping-badge-inner {
    font-size: 13px !important; color: #1a1a1a !important; font-weight: 600 !important;
}
#jbc-countdown-slot .jbc-shipping-badge svg,
#jbc-countdown-slot .jbc-shipping-badge i {
    color: #004e9e !important; width: 16px !important; height: 16px !important;
}
#jbc-countdown-slot .jbc-shipping-badge { margin: 2px 0 14px !important; }

/* Abschnitt 9 — Runde 10: Express-Slots 50/50 (Plugins injizieren in eigene Slots) */
.jbc-express-row { display: flex; gap: 10px; width: 100%; margin-top: 6px; }
.jbc-express-slot { flex: 1 1 0; min-width: 0; }
.jbc-express-slot > * { width: 100% !important; margin: 0 !important; }
.jbc-express-slot .lpa-button-wrapper { padding: 0 !important; border: none !important; }
.jbc-express-slot .lpa-button-content { margin: 0 !important; }
.jbc-express-slot .lpa-button-content [class*="col"] { padding: 0 !important; flex: 0 0 100%; max-width: 100%; }
@media (max-width: 520px) { .jbc-express-row { flex-direction: column; } }
/* Countdown/Versanddatum nach Cutoff ausblenden (Timer-los = statische Variante) */
#jbc-countdown-slot .jbc-shipping-badge:not(:has(.jbc-badge-timer)) { display: none !important; }
/* Slot-Reihe hinter das Label ordnen */
.cart-summary .basket-summary .card-body > .jbc-express-row { order: 2; }

/* ==========================================================================
   10. MiniCart-Dropdown auf Designlinie (26.08.)
   ========================================================================== */
header .cart-icon-dropdown .dropdown-menu { border-radius: 6px; border: 1px solid #e2e2e2; }
.cart-dropdown-total-item { font-size: 13px; color: #525252; }
.jbc-dd-total { display: flex; justify-content: space-between; font-size: 15px; color: #1a1a1a;
    border-top: 2px solid #1a1a1a; padding-top: 10px; margin-top: 6px; }
.jbc-dd-total .cart-dropdown-total-item-price { font-family: 'Manrope', sans-serif; }
.jbc-dd-mwst { font-size: 11.5px; color: #525252; text-align: right; }
.jbc-dd-versand { font-size: 13px; color: #1a1a1a; margin-top: 2px; }
.jbc-dd-versand .jbc-free { color: #1c871e; font-weight: 700; }
.cart-dropdown-buttons { margin-top: 10px; }

/* Abschnitt 10 — Runde 2: MiniCart-Feinschliff (BM-Feedback) */
header .cart-icon-dropdown .dropdown-menu { padding: 16px 18px !important; min-width: 480px; }
/* Grauer Summen-Kasten -> offene Liste mit klarer Total-Linie */
.cart-icon-dropdown .dropdown-body ul.list-unstyled {
    background: none !important; border: none !important; padding: 0 !important; margin-bottom: 10px;
}
.cart-icon-dropdown .jbc-dd-total {
    border-top: 2px solid #1a1a1a !important; padding-top: 10px !important; margin-top: 10px !important;
    font-size: 15px !important;
}
.cart-icon-dropdown .jbc-dd-mwst { margin-top: 1px; }
/* Artikelzeilen: Stueck-Angabe dezent + Luft zum Rand */
.cart-icon-dropdown .basket-amount { font-size: 12px !important; color: #525252 !important; white-space: nowrap; }
.cart-icon-dropdown .dropdown-body { padding-top: 2px; }
.cart-icon-dropdown .cart-dropdown-buttons { margin-top: 12px; }
/* Express-Buttons im Dropdown kompakt buendig */
.cart-icon-dropdown [id*="ppc-paypal"] , .cart-icon-dropdown .lpa-button { margin-top: 8px !important; }

/* Abschnitt 10 — Runde 3: Preis/Menge untereinander + Progress-Bar im MiniCart */
.cart-icon-dropdown .jbc-dd-price { font-weight: 700; font-size: 14px; color: #1a1a1a; }
.cart-icon-dropdown .jbc-dd-qty { font-size: 12px; color: #525252; }
.cart-icon-dropdown .jbc-dd-shipprog { font-size: 12.5px; color: #1a1a1a; margin: 2px 0 12px; }
.cart-icon-dropdown .jbc-dd-shipprog .jbc-shipping-progress-bar {
    height: 8px; background: #edf0f3; border-radius: 4px; margin-top: 6px;
    box-shadow: inset 0 1px 2px rgba(0,0,0,.07); overflow: hidden;
}
.cart-icon-dropdown .jbc-dd-shipprog .jbc-shipping-progress-fill {
    height: 100%; background: linear-gradient(90deg, #1c871e, #35b83a); border-radius: 4px;
}
.cart-icon-dropdown .jbc-dd-shipprog.jbc-shipfree-done .jbc-shipping-progress-text b { color: #1c871e; }

/* Abschnitt 10 — Runde 4: Doppel-Versandinfo raus (Template) + erste Trennlinie weg */
.cart-icon-dropdown .dropdown-menu table tr:first-child,
.cart-icon-dropdown .dropdown-menu table tr:first-child td { border-top: none !important; }
.cart-icon-dropdown .dropdown-menu table { border-top: none !important; }
.cart-icon-dropdown .dropdown-menu > hr:first-child,
.cart-icon-dropdown .dropdown-header + hr { display: none; }
.cart-icon-dropdown .dropdown-menu table tr td { border-bottom: 1px solid #ececec; padding-top: 10px; padding-bottom: 10px; }
.cart-icon-dropdown .dropdown-menu table tr:last-child td { border-bottom: none; }

/* ============================================================
   11) CHECKOUT-REDESIGN Runde 1 (26.08.2026) — Scope: body.is-checkout
   Designlinie = Warenkorb-Freeze: ruhige Karten 6px, dunkle Titel
   ohne Blaubalken, Ablenkung raus, Stepper dezent.
   ============================================================ */

/* --- Ablenkung raus: Hersteller-Band + Logo-Streifen im Footer --- */
.is-checkout .partnerwelt-section,
.is-checkout .footer-image-rows { display: none !important; }

/* --- Schlanker Checkout-Footer: nur Spalte mit Rechtslinks, horizontal ---
   Spalten liegen in footer > .container.d-print-none > .row > .col;
   #copyright hat eine eigene Spalte und bleibt unberuehrt.
   (Browser ohne :has zeigen einfach den vollen Footer — unkritisch) */
.is-checkout footer > .container.d-print-none > .row > .col:not(:has(a[href*="mpressum"])) { display: none; }
.is-checkout footer > .container.d-print-none > .row > .col:has(a[href*="mpressum"]) { flex: 0 0 100%; max-width: 100%; }
.is-checkout footer > .container.d-print-none > .row > .col:has(a[href*="mpressum"]) .productlist-filter-headline { display: none; }
.is-checkout footer > .container.d-print-none [class*="crd-cllps"] { display: block !important; height: auto !important; }
.is-checkout footer > .container.d-print-none .nav.flex-column {
  flex-direction: row !important; flex-wrap: wrap; justify-content: center; gap: 2px 14px;
}
.is-checkout footer > .container.d-print-none .nav.flex-column .nav-link { font-size: 12.5px; color: #525252; }
.is-checkout footer { border-top: 1px solid #ececec; margin-top: 24px; padding-top: 4px; }
.is-checkout footer #copyright { text-align: center; font-size: 12px; color: #525252; }

/* --- Stepper: aktiver Schritt blau, restliche dezent --- */
.is-checkout .checkout-steps { margin: 20px 0 8px; }
.is-checkout .checkout-steps .badge-pill { background: #004e9e; }
.is-checkout .checkout-steps .step:not(.step-active) .badge-pill { background: #ececec; color: #9a9a9a; }
.is-checkout .checkout-steps .step-text { font-weight: 600; }
.is-checkout .checkout-steps .step:not(.step-active) .step-text { color: #9a9a9a; }
.is-checkout .checkout-steps .step-check { color: #1c871e; }

/* --- Karten + Sektionstitel auf Freeze-Linie (kein Blaubalken) --- */
.is-checkout .card { border: 1px solid #e2e2e2; border-radius: 6px; box-shadow: none; }
.is-checkout .h2::before,
.is-checkout .h3::before,
.is-checkout .card-title::before,
.is-checkout .checkout-confirmation-heading::before { content: none !important; }
.is-checkout .h2, .is-checkout .h3,
.is-checkout .card-title, .is-checkout .checkout-confirmation-heading { color: #1a1a1a; font-weight: 700; }
.is-checkout fieldset hr { border-top-color: #ececec; }

/* --- Options-Karten (Versand/Zahlung): Radius 6, ruhige Grundlinie --- */
.is-checkout .checkout-shipping-form-options .custom-radio,
.is-checkout .checkout-payment-options .custom-radio { border-radius: 6px; background: #fff; }
.is-checkout .checkout-shipping-form-options .price-col { color: #1a1a1a; font-weight: 700; }

/* --- "Versand nach:"-Infozeile ruhig --- */
.is-checkout .checkout-shipping-form-change { background: #f5f7fa; border-radius: 5px; padding: 9px 12px; font-size: 13px; }

/* ============================================================
   12) CHECKOUT-REDESIGN Runde 2 (26.08.2026) — Formular auf Mockup-Linie
   ============================================================ */

/* Footer-Ueberschrift "Informationen" (gegen Bootstrap d-md-flex !important) */
.is-checkout footer > .container.d-print-none .productlist-filter-headline { display: none !important; }

/* Formular einspaltig: Sektions-Ueberschriften-Spalten + hr-Trenner raus, Feldspalte voll breit */
.is-checkout fieldset > .row > [class*="col-md-4"]:has(.h3) { display: none; }
.is-checkout fieldset > .row > [class*="col-md-8"] { flex: 0 0 100%; max-width: 100%; }
.is-checkout fieldset > .row > .col-12:has(> hr) { display: none; }
.is-checkout .required-info { display: none; }
.is-checkout #order-proceed-as-guest, .is-checkout #customer { max-width: 860px; }
.is-checkout .form-group label .optional { color: #9a9a9a; font-weight: 400; }

/* Gruener Live-Haken an gueltigen Feldern (Klasse via jbc-checkout.js) */
.is-checkout .form-group { position: relative; }
.is-checkout .form-group.jbc-valid::after {
  content: "\2713"; position: absolute; right: 14px; top: 13px;
  color: #1c871e; font-weight: 700; pointer-events: none;
}
.is-checkout .form-group.jbc-valid input { padding-right: 34px; }

/* Hinweise: E-Mail-Tippfehler + fehlende Hausnummer (via jbc-checkout.js) */
.jbc-mailhint { font-size: 12.5px; color: #525252; margin-top: 4px; }
.jbc-mailhint a { font-weight: 700; }
.jbc-nr-hint { font-size: 12px; color: #b45309; margin-top: 4px; }

/* Runde 2b: Pflicht-Sternchen raus (Optionales ist als "optionale Angabe" markiert),
   Weiter-Button einzeilig */
.is-checkout .form-group label::after { content: none !important; }
.is-checkout .checkout-button-row-submit { flex: 0 0 auto; width: auto; min-width: 280px; }
.is-checkout .checkout-button-row-submit .btn { white-space: nowrap; }

/* ============================================================
   13) CHECKOUT-REDESIGN Runde 3 (26.08.2026) — Mockup-Look:
   Grid mit Bestelluebersicht-Sidebar + Akkordeon-Schrittkarten
   ============================================================ */

/* Zweispalter: Hauptspalte + sticky Sidebar */
.is-checkout .jbc-checkout-grid { display: flex; gap: 44px; align-items: flex-start; }
.is-checkout .jbc-checkout-main { flex: 1 1 auto; min-width: 0; }
.is-checkout .jbc-checkout-side { flex: 0 0 350px; position: sticky; top: 16px; }
@media (max-width: 900px) {
  .is-checkout .jbc-checkout-grid { display: block; }
  .is-checkout .jbc-checkout-side { position: static; max-width: 520px; margin-top: 16px; }
}

/* Sidebar-Karte */
.jbc-sum-card { background: #fff; border: 1px solid #e2e2e2; border-radius: 6px; padding: 24px; }
.jbc-sum-title { font-weight: 700; font-size: 16px; color: #1a1a1a; margin-bottom: 6px; }
.jbc-sum-item { display: flex; gap: 10px; align-items: baseline; padding: 10px 0; border-bottom: 1px solid #ececec; font-size: 12.5px; color: #1a1a1a; }
.jbc-si-n { flex: 1; min-width: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.jbc-si-q { color: #525252; white-space: nowrap; }
.jbc-si-p { font-weight: 700; white-space: nowrap; }
.jbc-sum-rows { margin-top: 8px; }
.jbc-sum-card .jbc-sum-row { display: flex; justify-content: space-between; gap: 10px; font-size: 14px; margin-top: 8px; color: #1a1a1a; }
.jbc-free { color: #1c871e; font-weight: 700; }
.jbc-sum-card .jbc-sum-total { border-top: 2px solid #1a1a1a; margin-top: 12px; padding-top: 12px; font-size: 16.5px; font-weight: 700; }
.jbc-sum-card .jbc-sum-mwst { color: #525252; font-size: 11.5px; text-align: right; }
.jbc-sum-usps { list-style: none; margin: 16px 0 0; padding: 0; }
.jbc-sum-usps li { font-size: 12.5px; padding: 3px 0 3px 19px; position: relative; color: #1a1a1a; }
.jbc-sum-usps li::before { content: "\2713"; color: #1c871e; font-weight: 700; position: absolute; left: 0; }
.jbc-sum-service { margin-top: 16px; padding: 12px; background: #f5f7fa; border-radius: 5px; font-size: 12px; line-height: 1.5; }

/* Kasse-Kopf; JTL-Stepper + Original-H1s der Schritte raus */
.is-checkout .checkout-steps { display: none; }
.is-checkout .jbc-checkout-main h1 { display: none; }
.is-checkout h1.jbc-kasse { display: block; color: #004e9e; font-size: 28px; font-weight: 700; margin: 24px 0 2px; }
.jbc-kasse-sub { color: #525252; font-size: 13.5px; margin: 0 0 16px; }

/* Schritt-Karten (Header + Body) */
.jbc-step-h { display: flex; width: 100%; align-items: center; gap: 14px; background: #fff; border: 1px solid #e2e2e2; border-radius: 6px; padding: 16px 20px; margin: 0 0 12px; }
.jbc-step-h.active { border-bottom-left-radius: 0; border-bottom-right-radius: 0; border-bottom: 0; margin-bottom: 0; }
.jbc-num { width: 27px; height: 27px; border-radius: 50%; background: #004e9e; color: #fff; font-size: 13px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; flex: none; }
.jbc-step-h.done .jbc-num { background: #1c871e; }
.jbc-step-h.locked .jbc-num { background: #ececec; color: #9a9a9a; }
.jbc-step-t { flex: 1; min-width: 0; }
.jbc-step-t b { font-size: 15.5px; color: #1a1a1a; display: block; }
.jbc-step-h.locked .jbc-step-t b { color: #9a9a9a; }
.jbc-step-sub { display: block; font-size: 12.5px; color: #525252; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.jbc-edit { font-size: 13px; font-weight: 600; flex: none; }
.jbc-step-body { background: #fff; border: 1px solid #e2e2e2; border-top: 0; border-radius: 0 0 6px 6px; padding: 10px 20px 20px; margin-bottom: 12px; }

/* Innenleben der Schritt-Karten beruhigen */
.is-checkout .jbc-hidden, .is-checkout .checkout-shipping-form-change.jbc-hidden { display: none !important; }
.is-checkout #checkout-shipping-payment > .h2, .is-checkout #fieldset-payment > .h2 { display: none; }
.is-checkout .inc-billing-address-form > h1 { display: none; }
.jbc-login-line { font-size: 13px; color: #525252; margin: 4px 0 14px; }
.jbc-login-line a { font-weight: 600; }
.is-checkout #existing-customer.jbc-login-collapsed { display: none; }
.is-checkout .checkout-existing-customer-hr { display: none; }
.is-checkout #register-customer > #customer { flex: 0 0 100%; max-width: 100%; }

/* Zusammenfassung: vorhandene Karten als "erledigt" kennzeichnen */
.is-checkout .checkout-confirmation-heading::before { content: "\2713  "; color: #1c871e; font-weight: 700; }

/* Runde 3b: Sidebar-Bilder, Optional-Toggle, Zahlarten-Hinweis */
.jbc-sum-item { align-items: center; }
.jbc-si-img { flex: 0 0 44px; width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; }
.jbc-si-img img { max-width: 44px; max-height: 44px; object-fit: contain; }
.jbc-si-mid { flex: 1; min-width: 0; }
.jbc-si-n { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.jbc-si-q { color: #525252; display: block; }
.jbc-opt-toggle { background: none; border: 0; color: #004e9e; font-weight: 600; font-size: 13px; padding: 0; margin: 2px 0 8px; cursor: pointer; text-align: left; }
.jbc-opt-toggle:hover { text-decoration: underline; }
.jbc-pay-note { font-size: 13px; color: #525252; margin: 6px 0 0; }

/* my-nova.css versteckt '#checkout > h1' — unser Kasse-Kopf braucht hoehere Spezifitaet */
.is-checkout #checkout > h1.jbc-kasse { display: block; }
.is-checkout #checkout > .jbc-kasse-sub { display: block; }

/* Zusammenfassungs-Karten: Haken muss die content:none-Regel aus Runde 1 schlagen */
.is-checkout .checkout-confirmation-heading::before { content: "\2713  " !important; color: #1c871e; font-weight: 700; }
.is-checkout .checkout-shipping-form-options .price-col.jbc-free { color: #1c871e !important; }

/* ============================================================
   14) HOTFIX 27.08. — Hersteller-Logo in der Produkt-Titelzeile
   JTL liefert fuer Hersteller OHNE eigenes Logo die Platzhalter-URL
   (gfx/jb-placeholder.webp) als cHerstellerBildURLKlein -> rendert
   1254px gross und sprengt den Kopf der Artikeldetailseite.
   a) Platzhalter niemals als "Logo" zeigen  b) echte Logos begrenzen
   ============================================================ */
.product-manufacturer img[src*="jb-placeholder"] { display: none !important; }
.product-headline .product-manufacturer img { max-height: 48px; max-width: 160px; width: auto; height: auto; }

/* ============================================================
   15) CHECKOUT Runde 4 (27.08.) — Login prominent, Zahlarten im
   Lieferarten-Look mit sichtbarer Auswahl, Recap auf Bestaetigung
   ============================================================ */

/* Login-Hinweis-Karte (prominenter als die alte Textzeile) */
.jbc-login-card { display: flex; align-items: center; gap: 14px; background: #eef4fb; border: 1px solid #d6e3f3; border-radius: 6px; padding: 14px 18px; margin: 0 0 14px; width: 100%; }
.jbc-login-ico { width: 30px; height: 30px; flex: none; }
.jbc-login-txt { flex: 1; font-size: 13.5px; color: #1a1a1a; line-height: 1.45; }
.jbc-login-btn { border: 1px solid #004e9e; background: #fff; color: #004e9e; border-radius: 5px; padding: 10px 26px; font-weight: 700; font-size: 14px; cursor: pointer; white-space: nowrap; }
.jbc-login-btn:hover { background: #004e9e; color: #fff; }
@media (max-width: 640px) { .jbc-login-card { flex-wrap: wrap; } .jbc-login-btn { width: 100%; } }

/* Aufgeklappte Login-Karte: volle Breite, Formular ordentlich */
.is-checkout #existing-customer { flex: 0 0 100%; max-width: 100%; margin-bottom: 14px; }
.is-checkout #existing-customer .card { border: 1px solid #e2e2e2; border-radius: 6px; box-shadow: none; background: #fff; }
.is-checkout #existing-customer .card-title { font-size: 16px; color: #1a1a1a; }
.is-checkout #existing-customer form { max-width: 560px; }
.is-checkout #existing-customer .customer-login-buttons .btn-primary { white-space: nowrap; min-width: 180px; }
.is-checkout #existing-customer .customer-login-buttons-forgot { white-space: nowrap; }

/* Options-Karten: buendig zur Step-Karte, Trennlinien raus */
.is-checkout .jbc-step-body fieldset > hr,
.is-checkout .jbc-step-body hr { display: none; }
.is-checkout .checkout-payment-options { margin-left: 0; margin-right: 0; }
.is-checkout .checkout-payment-options .checkout-payment-method { padding-left: 0; padding-right: 0; }
.is-checkout .checkout-shipping-form-options { margin: 0; }
.is-checkout .checkout-shipping-form-options .custom-radio { border-radius: 6px !important; margin: 0 0 9px !important; width: 100%; }

/* Zahlarten wie Lieferarten: Karte mit Logo + Name, klarer Auswahlrahmen */
.is-checkout .checkout-payment-method .custom-radio { display: flex !important; align-items: center; gap: 12px; width: 100%; border: 1px solid #e2e2e2 !important; border-radius: 6px !important; background: #fff; padding: 13px 14px !important; margin: 0 0 9px !important; box-shadow: none; }
.is-checkout .checkout-payment-method .custom-radio:has(input[name="Zahlungsart"]:checked) { border: 2px solid #004e9e !important; padding: 12px 13px !important; }
.is-checkout .checkout-payment-method .custom-control-label { display: flex; align-items: center; gap: 12px; width: 100%; padding-left: 0 !important; }
.is-checkout .checkout-payment-method img { max-height: 24px; width: auto; max-width: 100px; }
.is-checkout .checkout-payment-method .title { font-weight: 600; color: #1a1a1a; font-size: 14px; }
.is-checkout .checkout-payment-method .checkout-payment-method-note small { color: #525252; }

/* Bestaetigungsseite: Recap-Zeilen (Mockup) + kompakte Artikelliste */
.jbc-recap { border: 1px solid #ececec; border-radius: 6px; margin-bottom: 14px; background: #fff; }
.jbc-recap-row { display: flex; gap: 12px; padding: 11px 14px; border-bottom: 1px solid #ececec; font-size: 13.5px; align-items: baseline; }
.jbc-recap-row:last-child { border-bottom: 0; }
.jbc-recap-k { width: 100px; flex: none; color: #525252; font-weight: 600; font-size: 12.5px; }
.jbc-recap-v { flex: 1; color: #1a1a1a; }
.is-checkout .checkout-confirmation-heading::before { content: none !important; }
.is-checkout #panel-edit-comment .card-header, .is-checkout #panel-edit-coupon .card-header { background: #fff; border-bottom: 0; padding-bottom: 0; }
.is-checkout .checkout-confirmation-heading { font-size: 14.5px; }
.is-checkout .checkout-confirmation-pre-form-hr { display: none; }
.is-checkout .card-products .checkout-items-item img { max-width: 56px; max-height: 56px; }
.is-checkout .card-products { font-size: 13px; }

/* Runde 4b: Versandpreis dunkel (Theme-Blau schlagen); Kommentar-Karte kompakt in der Pruefen-Karte */
.is-checkout .checkout-shipping-form-options .price-col { color: #1a1a1a !important; }
.is-checkout .checkout-shipping-form-options .price-col.jbc-free { color: #1c871e !important; }
.is-checkout .jbc-step-body #panel-edit-comment { margin: 0 0 14px; border: 1px solid #ececec; border-radius: 6px; }
.is-checkout .jbc-step-body #panel-edit-comment .card-header { padding: 10px 14px 0; }
.is-checkout .jbc-step-body #panel-edit-comment textarea { border: 0; font-size: 13.5px; }

/* Versand-Countdown zentriert (Warenkorb-Summary + Checkout-Sidebar) — BM-Wunsch 27.08. */
#jbc-countdown-slot { text-align: center; }
#jbc-countdown-slot .jbc-shipping-badge { display: inline-flex !important; justify-content: center; text-align: center; }

/* Runde 4c (27.08.): Versand/Zahlung-Karten volle Breite + Theme-Fieldset-Optik
   auf Freeze-Linie zwingen (Theme gab 12px-Radius, #eee-Rahmen, Schatten) */
.is-checkout .jbc-checkout-main .row:has(> [class*="col-lg-9"]) { margin-left: 0; margin-right: 0; }
.is-checkout .jbc-checkout-main [class*="col-lg-9"] { flex: 0 0 100%; max-width: 100%; padding-left: 0; padding-right: 0; }
.is-checkout #checkout-shipping-payment,
.is-checkout #fieldset-payment {
  border: 1px solid #e2e2e2 !important;
  border-top: 0 !important;
  border-radius: 0 0 6px 6px !important;
  box-shadow: none !important;
  background: #fff !important;
  margin-bottom: 12px;
}
.is-checkout .checkout-shipping-form-options .custom-radio,
.is-checkout .checkout-payment-method .custom-radio { background: #fff !important; box-shadow: none !important; }
.is-checkout .checkout-shipping-form-options .custom-radio:has(input:checked),
.is-checkout .checkout-payment-method .custom-radio:has(input[name="Zahlungsart"]:checked) { background: #fff !important; }

/* Runde 4d: Zahlarten-Dedupe — Marken-Logos tragen den Namen selbst, Textzug-Bilder umgekehrt */
.is-checkout #za_ppc_paypal:has(img) .jbc-pay-name,
.is-checkout #za_ppc_sepa:has(img) .jbc-pay-name,
.is-checkout #kPlugin_2_amazonpay:has(img) .jbc-pay-name,
.is-checkout #kPlugin_1_googlepay:has(img) .jbc-pay-name,
.is-checkout #za_ueberweisung_jtl:has(img) .jbc-pay-name,
.is-checkout #za_rechnung_jtl:has(img) .jbc-pay-name,
.is-checkout #za_lastschrift_jtl:has(img) .jbc-pay-name,
.is-checkout #za_barzahlung_jtl:has(img) .jbc-pay-name { display: none; }
.is-checkout #kPlugin_1_paypalkreditkarte img { display: none; }
.is-checkout .jbc-pay-name .title { white-space: nowrap; }

/* ============================================================
   16) CHECKOUT Runde 5 (27.08.) — Versandarten-Beschriftung geordnet,
   Mobile-Sticky-Kaufleiste, Mobile-Feinschliff
   ============================================================ */

/* Versandarten: Icon | Titel (+Beschreibung darunter) | Preis rechts */
.is-checkout .checkout-shipping-form-options .form-row.content {
  display: grid !important;
  grid-template-columns: 1fr auto;
  align-items: center;
  column-gap: 12px;
  width: 100%;
  margin: 0;
}
.is-checkout .checkout-shipping-form-options .content .title {
  grid-column: 1;
  max-width: none;
  padding: 0;
  display: grid !important;
  grid-template-columns: 44px 1fr;
  column-gap: 12px;
  align-items: center;
  font-weight: 600;
  color: #1a1a1a;
  font-size: 14px;
}
.is-checkout .checkout-shipping-form-options .content .title img {
  grid-row: 1 / span 8;
  width: 44px !important;
  max-width: 44px !important;
  height: auto !important;
}
.is-checkout .checkout-shipping-form-options .content .title > div { grid-column: 2; font-weight: 400; }
.is-checkout .checkout-shipping-form-options .content .title small { color: #525252; font-size: 12px; }
.is-checkout .checkout-shipping-form-options .content > .col:not(.title):not(.price-col) {
  grid-column: 1;
  max-width: none;
  padding: 2px 0 0 56px;
}
.is-checkout .checkout-shipping-form-options .content > .col:not(.title):not(.price-col) .desc {
  color: #525252 !important;
  font-size: 12px;
}
.is-checkout .checkout-shipping-form-options .content .price-col {
  grid-column: 2;
  grid-row: 1 / span 2;
  max-width: none;
  padding: 0;
  text-align: right;
  white-space: nowrap;
}

/* Mobile-Sticky-Kaufleiste (nur < 900px, gebaut von jbc-checkout.js) */
.jbc-stickybar { display: none; }
@media (max-width: 900px) {
  .is-checkout .jbc-stickybar {
    display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 1050;
    background: #fff; border-top: 1px solid #e2e2e2; align-items: center; gap: 14px;
    padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
    box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.07);
  }
  body.is-checkout { padding-bottom: 78px; }
}
.jbc-sb-t { line-height: 1.25; }
.jbc-sb-t small { display: block; color: #525252; font-size: 10.5px; }
.jbc-sb-t b { font-size: 16px; color: #1a1a1a; white-space: nowrap; }
.jbc-sb-btn { flex: 1; background: #004e9e; color: #fff; border: 0; border-radius: 5px; padding: 12px; font-weight: 700; font-size: 15px; cursor: pointer; }
.jbc-sb-btn:active { background: #003d7c; }

/* Mobile-Feinschliff Checkout */
@media (max-width: 640px) {
  .is-checkout .checkout-button-row-submit { min-width: 0; width: 100%; }
  .is-checkout .jbc-step-h { padding: 13px 14px; }
  .is-checkout .jbc-step-body { padding: 8px 14px 16px; }
  .is-checkout .jbc-recap-k { width: 78px; }
  .is-checkout .checkout-shipping-form-options .content .price-col { grid-row: 1; }
}

/* ============================================================
   Runde 6 (27.08.2026) — Popup-Schliessen, Login-Karte, Herstellerbild-Guard Liste
   ============================================================ */

/* Warenkorb-Popup: sofort schliessen. Waehrend des Bootstrap-Fade-Outs verliert
   das Modal die .show-Klasse und damit die Zentrierung — der Dialog stand dadurch
   ~350ms sichtbar oben links. Ohne Transition ist er sofort unsichtbar. */
.modal.fade:has(#pushed-success),
.modal.fade:has(#pushed-success) .modal-dialog { transition: none !important; }

/* Login-Karte im Checkout (Ich bin bereits Kunde) an die jbc-Kartenlinie angleichen */
.is-checkout #existing-customer .card.card-gray {
    background: #fff !important; border: 1px solid #e2e2e2 !important;
    border-radius: 6px !important; box-shadow: none !important;
}
.is-checkout #existing-customer .card-body { padding: 18px 20px; }
.is-checkout #existing-customer .card-title { font-size: 16px; font-weight: 700; color: #1a1a1a; margin-bottom: 12px; }
/* Kein PayPal-Express im Login-Block — Express-Wege gibt es im Warenkorb */
.is-checkout #existing-customer [id^="ppc-"],
.is-checkout #existing-customer .paypal-buttons,
.is-checkout #existing-customer hr { display: none !important; }

/* Herstellerbild in der Listenansicht: Platzhalter nie als "Logo" zeigen
   (Hersteller ohne Logo bekommen von JTL jb-placeholder.webp zugewiesen) */
.manufacturer-img-wrapper:has(img[src*="jb-placeholder"]),
.manufacturer-img-wrapper:has(img[data-src*="jb-placeholder"]) { display: none !important; }
.manufacturer-img-wrapper img[src*="jb-placeholder"],
.manufacturer-img-wrapper img[data-src*="jb-placeholder"] { display: none !important; }

/* ============================================================
   Runde 6b (27.08.2026) — Hoehen-Deckel fuer Produktbilder
   Ausloeser: Apple Pencil Pro mit 403x7228px-Bild (1:18) sprengte die
   Warenkorbzeile — width war gedeckelt, die Hoehe nicht.
   ============================================================ */
.basket-items .cart-items-body .cart-items-image picture img,
.basket-items .cart-items-body .cart-items-image img {
    width: auto !important; max-width: 130px !important;
    max-height: 130px !important; object-fit: contain;
    display: block; margin: 0 auto;
}
#pushed-success .jbc-pushed-image img {
    max-height: 96px !important; width: auto !important; max-width: 100% !important;
    object-fit: contain;
}
.jbc-si-img img { max-height: 56px !important; width: auto !important; max-width: 100% !important; object-fit: contain; }
.basket_row img.img-sm { max-height: 60px; width: auto; max-width: 100%; object-fit: contain; }

/* ============================================================
   Runde 6c (27.08.2026) — Login-Hinweis + Login-Karte buendig zur Schrittkante
   Die Schritt-Karten liegen in Rows mit -16px-Margins; die per JS verschobenen
   Login-Elemente lagen direkt im Container und waren dadurch 32px schmaler.
   Selektor an .jbc-login-card gekoppelt: ohne JS (JTL-Fallback) greift nichts.
   ============================================================ */
.is-checkout .jbc-login-card { width: calc(100% + 32px); margin: 0 -16px 14px; }
.is-checkout .jbc-login-card + #existing-customer {
    width: calc(100% + 32px) !important; max-width: none !important; flex: none !important;
    margin: 0 -16px 14px; padding-left: 0 !important; padding-right: 0 !important;
}

/* ═══════════ Runde 10 (27.08.2026): B-Ware ↔ Neuware Verknuepfung ═══════════ */
.jb-bware-box{border:1px solid #bfdcbf;background:#f4faf4;border-radius:6px;padding:10px 14px;font-size:13px;margin:4px 0 14px;max-width:560px}
.jb-bware-box--neuware{border-color:#bcd4ec;background:#f2f7fd}
.jb-bware-row{display:flex;align-items:center;gap:10px}
.jb-bware-ic{font-size:17px;flex:none}
.jb-bware-t{flex:1;min-width:0}
.jb-bware-t small{display:block;color:#525252;font-size:11.5px}
.jb-bware-badge{display:inline-block;background:#dcefdc;color:#166418;font-size:10.5px;font-weight:700;border-radius:3px;padding:1px 7px;vertical-align:1px;margin-left:4px}
.jb-bware-row a{font-weight:700;white-space:nowrap;color:#004e9e}
.jb-bware-zustaende{margin-top:8px;font-size:11.5px;color:#525252}
.jb-bware-zustaende--inline{border-top:1px solid #d5e8d5;padding-top:7px}
.jb-bware-zustaende summary{cursor:pointer;list-style:none;font-size:11.5px}
.jb-bware-zustaende summary::before{content:"▸ "}
.jb-bware-zustaende[open] summary::before{content:"▾ "}
.jb-bware-zlist p{margin:6px 0 0;font-size:11.5px;line-height:1.45}
.jb-bware-zlist b{color:#1a1a1a}

/* Runde 11: Zustands-Auswahlliste (mehrere lieferbare Zustaende je Basis) */
.jb-bware-head{font-size:13px;margin-bottom:8px}
.jb-bware-head .jb-bware-ic{margin-right:4px}
.jb-bware-list{display:flex;flex-direction:column}
.jb-bware-list-row{display:flex;align-items:center;gap:10px;padding:7px 10px;border:1px solid #d5e8d5;border-radius:5px;background:#fff;margin-bottom:6px;color:#1a1a1a;text-decoration:none}
.jb-bware-list-row:hover{border-color:#004e9e;text-decoration:none;color:#004e9e}
.jb-bware-list-label{flex:1;font-size:12.5px;font-weight:600}
.jb-bware-list-label small{color:#525252;font-weight:400}
.jb-bware-list-price{font-size:13.5px;font-weight:700;white-space:nowrap}
.jb-bware-list-go{color:#004e9e;font-weight:700}

/* Runde 15: Neuware-Box final (BM 27.08.) — weisse Karte, Paket-SVG im blauen Kreis, Button */
.jb-bware-box--neuware{border-color:#e2e2e2;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.05)}
.jb-nw-ic{width:34px;height:34px;border-radius:50%;background:#004e9e;display:inline-flex;align-items:center;justify-content:center;flex:none}
.jb-nw-ic svg{width:17px;height:17px;stroke:#fff;fill:none;stroke-width:1.8}
.jb-nw-btn{background:#004e9e;color:#fff!important;border-radius:5px;padding:8px 14px;font-size:12.5px;font-weight:700;white-space:nowrap;text-decoration:none!important}
.jb-nw-btn:hover{background:#003d7c}
