/* Kasse und Warenkorb: Das Elementor-Widget bringt feste Farben mit, hier gelten die Farben der Website (hell und dunkel). */
html body :is(.elementor-widget-woocommerce-checkout-page, .elementor-widget-woocommerce-cart) :is(h2, h3, td, td *, strong, bdi, .woocommerce-Price-amount, .woocommerce-Price-currencySymbol, .product-name, .product-quantity, .woocommerce-input-wrapper strong) { color: var(--nm-text) !important; }
html body :is(.elementor-widget-woocommerce-checkout-page, .elementor-widget-woocommerce-cart) :is(label, th, th *, small, small *, p, .optional, .woocommerce-terms-and-conditions-checkbox-text, .e-checkout-secondary-title, .e-cart-secondary-title) { color: var(--nm-text-2) !important; }
html body :is(.elementor-widget-woocommerce-checkout-page, .elementor-widget-woocommerce-cart) :is(a:not(.button):not(.checkout-button), p a, label a) { color: var(--nm-brand) !important; }
html body :is(.elementor-widget-woocommerce-checkout-page, .elementor-widget-woocommerce-cart) :is(.required, abbr.required) { color: var(--nm-danger) !important; }
html body :is(.elementor-widget-woocommerce-checkout-page, .elementor-widget-woocommerce-cart) :is(input.input-text, select, textarea, .select2-selection, .select2-selection__rendered) { background-color: var(--nm-surface) !important; color: var(--nm-text) !important; border-color: var(--nm-line-strong) !important; }
html body :is(.elementor-widget-woocommerce-checkout-page, .elementor-widget-woocommerce-cart) :is(input.input-text, textarea)::placeholder { color: var(--nm-text-3) !important; opacity: 1; }
html body .elementor-widget-woocommerce-checkout-page .woocommerce-input-wrapper:has(> strong) { background: transparent !important; }
html body .elementor-widget-woocommerce-checkout-page .payment_box, html body .elementor-widget-woocommerce-checkout-page .payment_box p { background-color: var(--nm-surface-2) !important; color: var(--nm-text) !important; }
html body :is(.elementor-widget-woocommerce-checkout-page, .elementor-widget-woocommerce-cart) .wc-empty-cart-message, html body .woocommerce-checkout .woocommerce > p { color: var(--nm-text-2) !important; }
html body .elementor-widget-woocommerce-checkout-page #ship-to-different-address span { color: var(--nm-text-2) !important; }

/* Felder von Stripe und PayPal laufen in iframes: Ohne das füllt der Browser sie im Dunkelmodus weiß, während Stripe die Schrift hell setzt. */
html body :is(.elementor-widget-woocommerce-checkout-page, .elementor-widget-woocommerce-cart) iframe { color-scheme: light; }
html body .elementor-widget-woocommerce-checkout-page :is(.woocommerce-form__label span, .woocommerce-account-fields label span) { color: var(--nm-text-2) !important; }
html body :is(.elementor-widget-woocommerce-checkout-page, .elementor-widget-woocommerce-cart) :is(.e-apply-coupon, button[name="apply_coupon"]) { color: var(--nm-text) !important; border-color: var(--nm-line-strong) !important; }
html body .return-to-shop a.button { background: var(--nm-brand) !important; border-color: var(--nm-brand) !important; color: var(--nm-on-brand) !important; }

/* Zahlungsarten: jede Art eine eigene Zeile, das Plugin-Logo rechts auf hellem Grund (dunkle Logos wären im Dunkelmodus sonst unlesbar). */
html body .elementor-widget-woocommerce-checkout-page #payment { background: transparent !important; border-radius: 0; }
html body .elementor-widget-woocommerce-checkout-page #payment ul.wc_payment_methods { display: grid; gap: 10px; margin: 0 0 24px !important; padding: 0 !important; border: 0 !important; list-style: none; }
html body .elementor-widget-woocommerce-checkout-page #payment li.wc_payment_method { position: relative; margin: 0 !important; padding: 0 !important; background: var(--nm-surface) !important; border: 1px solid var(--nm-line-strong); border-radius: 12px; line-height: 1.4; }
html body .elementor-widget-woocommerce-checkout-page #payment li.wc_payment_method:has(> input:checked) { border-color: var(--nm-brand); box-shadow: inset 0 0 0 1px var(--nm-brand); }
html body .elementor-widget-woocommerce-checkout-page #payment li.wc_payment_method > input.input-radio { position: absolute; top: 20px; left: 18px; width: 20px; height: 20px; margin: 0 !important; accent-color: var(--nm-brand); cursor: pointer; }
html body .elementor-widget-woocommerce-checkout-page #payment li.wc_payment_method > label { display: flex !important; align-items: center; gap: 12px; min-height: 60px; margin: 0 !important; padding: 12px 18px 12px 52px !important; color: var(--nm-text) !important; font-size: 1rem !important; font-weight: 560; line-height: 1.3; cursor: pointer; }
html body .elementor-widget-woocommerce-checkout-page #payment li.wc_payment_method > input[style*="none"] + label { padding-left: 18px !important; }
html body .elementor-widget-woocommerce-checkout-page #payment li.wc_payment_method > label img { float: none !important; box-sizing: border-box; flex: none; width: auto !important; height: 30px !important; max-height: 30px !important; margin: 0 0 0 auto !important; padding: 4px 7px !important; background: #fff; border: 1px solid rgba(15, 23, 48, .12) !important; border-radius: 6px; }
html body .elementor-widget-woocommerce-checkout-page #payment div.payment_box { box-sizing: border-box; width: auto !important; margin: 0 14px 14px !important; padding: 14px 16px !important; border-radius: 8px; font-size: .9375rem; line-height: 1.5; }
html body .elementor-widget-woocommerce-checkout-page #payment div.payment_box::before { display: none !important; }
html body .elementor-widget-woocommerce-checkout-page #payment div.payment_box p:last-child { margin-bottom: 0 !important; }
html body .elementor-widget-woocommerce-checkout-page #payment div.payment_box fieldset { margin: 0 !important; padding: 0 !important; border: 0 !important; }
html body .elementor-widget-woocommerce-checkout-page #payment div.payment_box .wcpay-upe-element { margin: 0 !important; padding: 0 !important; }
html body .elementor-widget-woocommerce-checkout-page #payment div.payment_box .woocommerce-SavedPaymentMethods-saveNew { display: flex; align-items: center; gap: 10px; margin: 14px 0 0 !important; padding: 0 !important; }
html body .elementor-widget-woocommerce-checkout-page #payment div.payment_box .woocommerce-SavedPaymentMethods-saveNew input { flex: none; bottom: 0 !important; width: 18px !important; height: 18px; margin: 0 !important; accent-color: var(--nm-brand); }
html body .elementor-widget-woocommerce-checkout-page #payment div.payment_box .woocommerce-SavedPaymentMethods-saveNew label { margin: 0 !important; padding: 0 !important; line-height: 1.4; color: var(--nm-text) !important; }
html body .elementor-widget-woocommerce-checkout-page #payment .place-order { margin: 0 !important; padding: 0 !important; }
html body .elementor-widget-woocommerce-checkout-page #payment .woocommerce-privacy-policy-text { margin-bottom: 16px; font-size: .875rem; line-height: 1.5; }
html body .elementor-widget-woocommerce-checkout-page #payment .woocommerce-terms-and-conditions-wrapper { margin-bottom: 18px; }
@media (max-width: 480px) {
	html body .elementor-widget-woocommerce-checkout-page #payment div.payment_box { margin: 0 10px 10px !important; padding: 12px !important; }
	html body .elementor-widget-woocommerce-checkout-page #payment li.wc_payment_method > label { padding-right: 12px !important; }
}

/* Bestellbestätigung */
html body.woocommerce-order-received .elementor-widget-heading:has(h1), html body.woocommerce-order-received .nm-breadcrumb, html body.woocommerce-order-received nav[aria-label="Brotkrümel"], html body.woocommerce-order-received .elementor-widget-html:has(nav) { display: none; }
html body .nmk-thanks { display: grid; gap: 24px; max-width: 760px; }
html body .nmk-thanks-head h1 { margin: 12px 0 10px; font-size: clamp(2.25rem, 6vw, 3.5rem); line-height: 1.05; color: var(--nm-text) !important; }
html body .nmk-thanks-head .nm-lead { margin: 0; color: var(--nm-text-2) !important; }
html body .nmk-thanks-head .nm-lead strong { color: var(--nm-text) !important; }
html body .nmk-thanks-badge { display: inline-block; margin: 0; padding: 6px 14px; border-radius: 999px; background: var(--nm-success-bg); color: var(--nm-success) !important; font-size: .875rem; font-weight: 650; }
html body .nmk-thanks-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 16px; margin: 0; padding: 22px 24px; border: 1px solid var(--nm-line); border-radius: var(--nm-r-md, 12px); background: var(--nm-surface); }
html body .nmk-thanks-facts div { display: grid; gap: 2px; }
html body .nmk-thanks-facts dt { font-size: .875rem; color: var(--nm-text-2) !important; }
html body .nmk-thanks-facts dd { margin: 0; font-weight: 650; color: var(--nm-text) !important; }
html body .nmk-thanks-facts dd * { color: var(--nm-text) !important; }
html body .nmk-thanks > p { margin: 0; color: var(--nm-text-2) !important; }
html body .nmk-thanks :is(.woocommerce-order-details, .woocommerce-customer-details) { margin: 0; padding: 24px; border: 1px solid var(--nm-line); border-radius: var(--nm-r-md, 12px); background: var(--nm-surface); }
html body .nmk-thanks :is(.woocommerce-order-details__title, .woocommerce-column__title) { margin: 0 0 14px; font-size: 1.25rem; line-height: 1.3; color: var(--nm-text) !important; }
html body .nmk-thanks table.shop_table { width: 100%; margin: 0; border: 0; border-collapse: collapse; }
html body .nmk-thanks table.shop_table :is(th, td) { padding: 12px 0; border: 0; border-top: 1px solid var(--nm-line); background: transparent !important; color: var(--nm-text) !important; font-weight: 400; text-align: left; vertical-align: top; }
html body .nmk-thanks table.shop_table thead th { border-top: 0; color: var(--nm-text-2) !important; font-size: .875rem; }
html body .nmk-thanks table.shop_table :is(th, td):last-child { text-align: right; }
html body .nmk-thanks table.shop_table tfoot tr:last-child :is(th, td) { font-weight: 650; }
html body .nmk-thanks table.shop_table tfoot tr:nth-last-child(2) :is(th, td) { font-weight: 650; }
html body .nmk-thanks table.shop_table a { color: var(--nm-brand) !important; text-decoration: none; font-weight: 600; }
html body .nmk-thanks table.shop_table small { color: var(--nm-text-2) !important; }
html body .nmk-thanks .woocommerce-customer-details address { margin: 0; padding: 0; border: 0; font-style: normal; line-height: 1.6; color: var(--nm-text) !important; }
html body .nmk-thanks .woocommerce-customer-details :is(p, address p) { margin: 6px 0 0; color: var(--nm-text-2) !important; }
html body .nmk-thanks .woocommerce-columns--addresses { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 24px; }
html body .nmk-thanks .woocommerce-columns--addresses::before, html body .nmk-thanks .woocommerce-columns--addresses::after { display: none; }
html body .nmk-thanks .woocommerce-columns--addresses .woocommerce-column { float: none; width: auto; margin: 0; }
html body .nmk-thanks-actions { display: flex; flex-wrap: wrap; gap: 12px; }
html body .nmk-thanks-actions a.button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 24px; border: 1.5px solid var(--nm-brand); border-radius: 999px; background: var(--nm-brand); color: var(--nm-on-brand) !important; font-weight: 650; text-decoration: none; }
html body .nmk-thanks-actions a.button.nmk-secondary { background: transparent; color: var(--nm-text) !important; border-color: var(--nm-line-strong); }
html body .nmk-extra { display: grid; gap: 12px; margin: 0 0 20px; padding: 18px 20px; border-radius: var(--nm-r-md, 12px); background: var(--nm-surface-2); }
html body .nmk-extra-nr { display: grid; gap: 2px; margin: 0; }
html body .nmk-extra-nr span { font-size: .875rem; color: var(--nm-text-2) !important; }
html body .nmk-extra-nr strong { color: var(--nm-text) !important; }
html body .nmk-extra-links { display: flex; flex-wrap: wrap; gap: 10px; }
html body .nmk-extra-links a.button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 20px; border: 1.5px solid var(--nm-brand); border-radius: 999px; background: var(--nm-brand); color: var(--nm-on-brand) !important; font-weight: 650; text-decoration: none; }
