/**
 * Darkmode (inc/theme-mode.php setzt data-ptm-theme am <html>).
 * Kontrast nach WCAG 2.1 AA (BFSG / EN 301 549):
 *   Text ≥ 4,5:1 · großer Text ≥ 3:1 · Rahmen von Feldern, Bedienelemente und Fokus ≥ 3:1.
 * Gemessen auf --d-bg / --d-surface / --d-surface-2:
 *   --d-text 17,0 / 15,7 / 14,1 · --d-muted 10,9 / 10,1 / 9,0 · --d-link 9,5 / 8,8 / 7,9
 *   --d-line 5,0 / 4,6 / 4,2 · --d-focus 11,8 / 10,9 / 9,8 · --d-error 8,5 / 7,8 / 7,0
 */

[data-ptm-theme=dark] {
	color-scheme: dark;
	--d-bg: #120c17;
	--d-surface: #1d1426;
	--d-surface-2: #281d33;
	--d-text: #f4eff7;
	--d-muted: #c9bfd2;
	--d-line: #8a7d96;
	--d-line-soft: rgba(255, 255, 255, .12);
	--d-link: var(--pt-rosa);
	--d-focus: var(--pt-gold);
	--d-ok: #7fdcaa;
	--d-error: #ff8a8a;
	--d-photo: #f6f2f8; /* helle Bildfläche für Produktfotos mit weißem Grund */

	/* Shop-Variablen (assets/css/shop.css) */
	--ptm-ink: var(--d-text);
	--ptm-muted: var(--d-muted);
	--ptm-surface: var(--d-surface);
	--ptm-accent-text: var(--d-link);
	--ptm-shadow: 0 10px 30px -12px rgba(0, 0, 0, .7);
	--ptm-shadow-lg: 0 24px 50px -18px rgba(0, 0, 0, .85);
	background: var(--d-bg) !important;
}

/* ---------- Grundlage (Salient) ---------- */

[data-ptm-theme=dark] body,
[data-ptm-theme=dark] #ajax-content-wrap,
[data-ptm-theme=dark] .container-wrap,
[data-ptm-theme=dark] .ocm-effect-wrap,
[data-ptm-theme=dark] .ocm-effect-wrap-inner,
[data-ptm-theme=dark] #boxed {
	background-color: var(--d-bg) !important;
	color: var(--d-muted);
}
[data-ptm-theme=dark] h1, [data-ptm-theme=dark] h2, [data-ptm-theme=dark] h3,
[data-ptm-theme=dark] h4, [data-ptm-theme=dark] h5, [data-ptm-theme=dark] h6,
[data-ptm-theme=dark] .row .col h1, [data-ptm-theme=dark] .row .col h2,
[data-ptm-theme=dark] .row .col h3, [data-ptm-theme=dark] .row .col h4 {
	color: var(--d-text);
}
/* Inline-Farben aus dem Editor (z. B. dunkelgrauer Text) */
[data-ptm-theme=dark] .container-wrap [style*="color: #000"],
[data-ptm-theme=dark] .container-wrap [style*="color:#000"],
[data-ptm-theme=dark] .container-wrap [style*="color: rgb(0"],
[data-ptm-theme=dark] .container-wrap [style*="color: #333"],
[data-ptm-theme=dark] .container-wrap [style*="color: #444"],
[data-ptm-theme=dark] .container-wrap [style*="color: #555"],
[data-ptm-theme=dark] .container-wrap [style*="color: #666"] {
	color: var(--d-muted) !important;
}
[data-ptm-theme=dark] .container-wrap a:not([class]),
[data-ptm-theme=dark] .woocommerce-privacy-policy-text a,
[data-ptm-theme=dark] a[class^="wgm-"],
[data-ptm-theme=dark] .wp-block-woocommerce-cart p a,
[data-ptm-theme=dark] .woocommerce-checkout p a,
[data-ptm-theme=dark] .woocommerce-terms-and-conditions-checkbox-text a,
[data-ptm-theme=dark] .wpb_text_column a,
[data-ptm-theme=dark] .entry-content a:not([class]) {
	color: var(--d-link) !important;
	text-decoration: underline;
	text-underline-offset: 3px;
}
[data-ptm-theme=dark] hr,
[data-ptm-theme=dark] .divider-border {
	border-color: var(--d-line-soft) !important;
	background-color: var(--d-line-soft) !important;
}
[data-ptm-theme=dark] table,
[data-ptm-theme=dark] table th,
[data-ptm-theme=dark] table td {
	border-color: var(--d-line-soft) !important;
}
[data-ptm-theme=dark] .row-bg.using-bg-color[style*="background-color: #fff"],
[data-ptm-theme=dark] .row-bg.using-bg-color[style*="background-color: #ffffff"],
[data-ptm-theme=dark] .row-bg.using-bg-color[style*="background-color: #f"] {
	background-color: var(--d-bg) !important;
}

/* Fokus überall deutlich sichtbar */
[data-ptm-theme=dark] a:focus-visible,
[data-ptm-theme=dark] button:focus-visible,
[data-ptm-theme=dark] input:focus-visible,
[data-ptm-theme=dark] select:focus-visible,
[data-ptm-theme=dark] textarea:focus-visible,
[data-ptm-theme=dark] [tabindex]:focus-visible {
	outline: 2px solid var(--d-focus) !important;
	outline-offset: 2px;
}

/* Salient-Seitenkopf ohne Bild (z. B. Rechtsseiten) */
[data-ptm-theme=dark] #page-header-bg:not([data-bg-img]),
[data-ptm-theme=dark] #page-header-wrap {
	background-color: var(--d-bg) !important;
}

/* ---------- Formulare ---------- */

[data-ptm-theme=dark] input[type="text"],
[data-ptm-theme=dark] input[type="email"],
[data-ptm-theme=dark] input[type="tel"],
[data-ptm-theme=dark] input[type="password"],
[data-ptm-theme=dark] input[type="number"],
[data-ptm-theme=dark] input[type="search"],
[data-ptm-theme=dark] input[type="url"],
[data-ptm-theme=dark] input[type="date"],
[data-ptm-theme=dark] input.input-text,
[data-ptm-theme=dark] textarea,
[data-ptm-theme=dark] select,
[data-ptm-theme=dark] .select2-container .select2-selection,
[data-ptm-theme=dark] .select2-dropdown,
[data-ptm-theme=dark] .wc-block-components-text-input input,
[data-ptm-theme=dark] .wc-block-components-combobox .components-combobox-control__input,
[data-ptm-theme=dark] .wc-block-components-select select {
	background-color: var(--d-surface) !important;
	color: var(--d-text) !important;
	border-color: var(--d-line) !important;
	-webkit-text-fill-color: var(--d-text);
}
[data-ptm-theme=dark] .select2-container .select2-selection__rendered {
	color: var(--d-text) !important;
}
[data-ptm-theme=dark] .select2-results__option {
	color: var(--d-text);
}
[data-ptm-theme=dark] .select2-results__option--highlighted,
[data-ptm-theme=dark] .select2-results__option[aria-selected="true"] {
	background: var(--d-surface-2) !important;
	color: var(--d-text) !important;
}
[data-ptm-theme=dark] ::placeholder {
	color: #a99fb3 !important; /* 6,9:1 auf --d-surface */
	-webkit-text-fill-color: #a99fb3;
	opacity: 1;
}
[data-ptm-theme=dark] input[type="checkbox"],
[data-ptm-theme=dark] input[type="radio"] {
	accent-color: var(--pt-rosa);
}
[data-ptm-theme=dark] input:-webkit-autofill {
	-webkit-box-shadow: 0 0 0 40px var(--d-surface-2) inset !important;
	-webkit-text-fill-color: var(--d-text) !important;
}

/* ---------- Shop: Kategorien, Leiste, Karten ---------- */

/* „Alle Produkte“-Kachel nutzt --ptm-ink als Fläche → wieder dunkel */
[data-ptm-theme=dark] .ptm-cat--all .ptm-cat__link {
	background:
		radial-gradient(120% 90% at 0% 0%, rgba(199, 75, 156, .9), transparent 60%),
		radial-gradient(120% 90% at 100% 100%, rgba(123, 75, 199, .9), transparent 60%),
		var(--pt-ink);
}
[data-ptm-theme=dark] .ptm-cat__link {
	box-shadow: 0 0 0 1px var(--d-line-soft), var(--ptm-shadow);
}

[data-ptm-theme=dark] .ptm-catnav::after {
	background: linear-gradient(90deg, rgba(18, 12, 23, 0), var(--d-bg));
}
[data-ptm-theme=dark] body .ptm-catnav__pill:not(.is-active) {
	background: var(--d-surface);
	color: var(--d-text);
	border-color: var(--d-line);
}
[data-ptm-theme=dark] body .ptm-catnav__pill:not(.is-active):hover {
	color: var(--d-link);
	border-color: var(--d-link);
}
[data-ptm-theme=dark] body .ptm-catnav__pill.is-active {
	color: #fff;
	border-color: transparent;
	background: linear-gradient(110deg, var(--ptm-accent), var(--ptm-accent-2));
}
[data-ptm-theme=dark] .ptm-catnav__pill--home:not(.is-active) {
	background: var(--d-surface-2);
}
[data-ptm-theme=dark] .ptm-catnav__count {
	background: rgba(255, 255, 255, .1);
}

/* Produktkarten: dunkle Karte, Foto auf heller Fläche */
[data-ptm-theme=dark] .ptm-store ul.products li.product.minimal .background-color-expand,
[data-ptm-theme=dark] body.ptm-store ul.products li.product.minimal,
[data-ptm-theme=dark] .ptm-store ul.products li.product.minimal .product-wrap {
	background-color: var(--d-surface) !important;
}
[data-ptm-theme=dark] .ptm-store ul.products li.product.minimal .background-color-expand {
	box-shadow: 0 0 0 1px var(--d-line-soft) !important;
}
[data-ptm-theme=dark] a.nectar-skip-to-content {
	color: var(--pt-ink) !important;
	background: #fff !important;
}
[data-ptm-theme=dark] .ptm-store ul.products li.product .product-image-wrap {
	background: var(--d-photo);
}
[data-ptm-theme=dark] body.ptm-store #ajax-content-wrap ul.products li.product.minimal .product-add-to-cart a {
	color: var(--pt-ink) !important;
	background: rgba(255, 255, 255, .94) !important;
}
[data-ptm-theme=dark] body.ptm-store #ajax-content-wrap ul.products li.product.minimal .product-add-to-cart a:hover {
	color: #fff !important;
}
[data-ptm-theme=dark] .ptm-store ul.products li.product .price,
[data-ptm-theme=dark] .ptm-store ul.products li.product .price * {
	color: var(--d-text);
}
[data-ptm-theme=dark] .ptm-store ul.products li.product .price del,
[data-ptm-theme=dark] .ptm-store ul.products li.product .price del * {
	color: var(--d-muted) !important;
}

/* Preise überall hell – auch dort, wo Salient/Plugins eigene Farben setzen (Safari inklusive) */
[data-ptm-theme=dark] .price,
[data-ptm-theme=dark] .price ins,
[data-ptm-theme=dark] .woocommerce-Price-amount,
[data-ptm-theme=dark] .woocommerce-Price-amount bdi,
[data-ptm-theme=dark] .woocommerce-Price-currencySymbol,
[data-ptm-theme=dark] .german-market-salient-price,
[data-ptm-theme=dark] .woocommerce-variation-price .price {
	color: #fff !important;
	-webkit-text-fill-color: #fff;
	opacity: 1 !important;
}
[data-ptm-theme=dark] .price del,
[data-ptm-theme=dark] .price del .woocommerce-Price-amount,
[data-ptm-theme=dark] .price del bdi,
[data-ptm-theme=dark] .price del .woocommerce-Price-currencySymbol {
	color: var(--d-muted) !important;
	-webkit-text-fill-color: var(--d-muted);
}
/* Steuer-/Versandhinweise neben dem Preis bleiben gedämpft */
[data-ptm-theme=dark] .wgm-info .woocommerce-Price-amount,
[data-ptm-theme=dark] .wgm-info .woocommerce-Price-amount *,
[data-ptm-theme=dark] .wgm-tax .woocommerce-Price-amount,
[data-ptm-theme=dark] .wgm-tax .woocommerce-Price-amount * {
	color: var(--d-muted) !important;
	-webkit-text-fill-color: var(--d-muted);
}

/* Filter-Seitenleiste (Salient + WooCommerce-Widgets) */
[data-ptm-theme=dark] #sidebar h4,
[data-ptm-theme=dark] #sidebar .widget-title,
[data-ptm-theme=dark] .nectar-shop-filters,
[data-ptm-theme=dark] .nectar-shop-filters .nectar-shop-filter-trigger,
[data-ptm-theme=dark] .nectar-shop-filters .text-wrap {
	color: var(--d-text) !important;
}
[data-ptm-theme=dark] .nectar-shop-filters .toggle-icon .top-line,
[data-ptm-theme=dark] .nectar-shop-filters .toggle-icon .bottom-line,
[data-ptm-theme=dark] .nectar-shop-filters .toggle-icon .top-line::before,
[data-ptm-theme=dark] .nectar-shop-filters .toggle-icon .top-line::after,
[data-ptm-theme=dark] .nectar-shop-filters .toggle-icon .bottom-line::before,
[data-ptm-theme=dark] .nectar-shop-filters .toggle-icon .bottom-line::after {
	background-color: var(--d-text) !important;
	border-color: var(--d-text) !important;
}
[data-ptm-theme=dark] #sidebar,
[data-ptm-theme=dark] #sidebar .price_label,
[data-ptm-theme=dark] #sidebar .post_count,
[data-ptm-theme=dark] #sidebar .count {
	color: var(--d-muted) !important;
}
[data-ptm-theme=dark] #sidebar .price_label .from,
[data-ptm-theme=dark] #sidebar .price_label .to {
	color: var(--d-text) !important;
}
[data-ptm-theme=dark] #sidebar .widget_product_categories a,
[data-ptm-theme=dark] #sidebar .widget a:not(.button) {
	color: var(--d-text) !important;
}
[data-ptm-theme=dark] #sidebar .widget_product_categories a:hover,
[data-ptm-theme=dark] #sidebar .current-cat > a {
	color: var(--d-link) !important;
}
[data-ptm-theme=dark] #sidebar .price_slider {
	background: var(--d-surface-2) !important;
	box-shadow: inset 0 0 0 1px var(--d-line);
}
[data-ptm-theme=dark] #sidebar .current-cat > .count,
[data-ptm-theme=dark] #sidebar .current-cat > .count .post_count {
	color: #fff !important;
}

/* German Market: Pflichtangaben gut lesbar */
[data-ptm-theme=dark] .wgm-info,
[data-ptm-theme=dark] .wgm-info *,
[data-ptm-theme=dark] .woocommerce-de_price_taxrate,
[data-ptm-theme=dark] .woocommerce_de_versandkosten,
[data-ptm-theme=dark] .woocommerce_de_versandkosten a,
[data-ptm-theme=dark] .shipping_de,
[data-ptm-theme=dark] .shipping_de *,
[data-ptm-theme=dark] .price-per-unit,
[data-ptm-theme=dark] .price-per-unit *,
[data-ptm-theme=dark] .wgm-kleinunternehmerregelung,
[data-ptm-theme=dark] .delivery-time-info,
[data-ptm-theme=dark] .gm-delivery-time,
[data-ptm-theme=dark] .german-market-legal-information-for-product-reviews {
	color: var(--d-muted) !important;
}
[data-ptm-theme=dark] .woocommerce_de_versandkosten a,
[data-ptm-theme=dark] .shipping_de a {
	text-decoration: underline;
}

/* ---------- Produktseite ---------- */

[data-ptm-theme=dark] .ptm-product .summary .product_title,
[data-ptm-theme=dark] .ptm-product .summary .price,
[data-ptm-theme=dark] .ptm-product .summary .price * {
	color: var(--d-text) !important;
}
[data-ptm-theme=dark] .ptm-product .summary .price del,
[data-ptm-theme=dark] .ptm-product .summary .price del * {
	color: var(--d-muted) !important;
}
[data-ptm-theme=dark] .ptm-swatch {
	background: var(--d-surface);
	color: var(--d-text);
	border-color: var(--d-line);
}
[data-ptm-theme=dark] .ptm-swatch[aria-pressed="true"] {
	color: #fff;
	border-color: transparent;
}
[data-ptm-theme=dark] .ptm-swatch:disabled,
[data-ptm-theme=dark] .ptm-swatch[aria-disabled="true"] {
	color: var(--d-muted);
	background: var(--d-bg);
}
[data-ptm-theme=dark] .ptm-product .summary p.stock.in-stock {
	color: var(--d-ok);
	background: rgba(127, 220, 170, .12);
}
[data-ptm-theme=dark] .ptm-product .summary p.stock.available-on-backorder {
	color: var(--d-focus);
	background: rgba(245, 196, 81, .14);
}
[data-ptm-theme=dark] .ptm-product .summary p.stock.out-of-stock {
	color: var(--d-error);
	background: rgba(255, 138, 138, .12);
}
[data-ptm-theme=dark] .ptm-product .summary form.cart .quantity {
	background: var(--d-surface);
	border-color: var(--d-line);
}
[data-ptm-theme=dark] .ptm-product .summary form.cart .quantity input,
[data-ptm-theme=dark] .ptm-product .summary form.cart .quantity .plus,
[data-ptm-theme=dark] .ptm-product .summary form.cart .quantity .minus {
	background: transparent !important;
	color: var(--d-text) !important;
	border: 0 !important;
}
[data-ptm-theme=dark] .ptm-product .summary .product_meta,
[data-ptm-theme=dark] .ptm-product .summary .product_meta * {
	color: var(--d-muted);
}
[data-ptm-theme=dark] .ptm-product .summary .product_meta a {
	color: var(--d-link) !important;
}
[data-ptm-theme=dark] .ptm-product .single-product-main-image .product-slider .slide,
[data-ptm-theme=dark] .ptm-product .single-product-main-image .flickity-viewport,
[data-ptm-theme=dark] .ptm-product .product-thumbs .thumb-inner {
	background: var(--d-photo);
}
[data-ptm-theme=dark] body.ptm-product #ajax-content-wrap .woocommerce-tabs ul.tabs li:not(.active) a {
	color: var(--d-text) !important;
	background: var(--d-surface);
}
[data-ptm-theme=dark] body.ptm-product #ajax-content-wrap .woocommerce-tabs ul.tabs li.active a {
	color: #fff !important;
}
[data-ptm-theme=dark] .woocommerce-tabs .panel,
[data-ptm-theme=dark] .woocommerce-tabs .panel * {
	color: var(--d-muted);
}
/* „Zusätzliche Informationen“ (Attribut-Tabelle) */
[data-ptm-theme=dark] table.shop_attributes,
[data-ptm-theme=dark] table.woocommerce-product-attributes {
	background: var(--d-surface) !important;
	border-color: var(--d-line-soft) !important;
}
[data-ptm-theme=dark] table.shop_attributes tr,
[data-ptm-theme=dark] table.shop_attributes th,
[data-ptm-theme=dark] table.shop_attributes td {
	background: transparent !important;
	border-color: var(--d-line-soft) !important;
}
[data-ptm-theme=dark] table.shop_attributes tr:nth-child(even) {
	background: var(--d-surface-2) !important;
}
[data-ptm-theme=dark] table.shop_attributes th {
	color: var(--d-text) !important;
}
[data-ptm-theme=dark] table.shop_attributes td,
[data-ptm-theme=dark] table.shop_attributes td p,
[data-ptm-theme=dark] table.shop_attributes td a {
	color: var(--d-muted) !important;
}
[data-ptm-theme=dark] .woocommerce-tabs .panel h2,
[data-ptm-theme=dark] .woocommerce-tabs .panel th {
	color: var(--d-text);
}
[data-ptm-theme=dark] .ptm-btn--ghost,
[data-ptm-theme=dark] body .ptm-btn--ghost {
	box-shadow: inset 0 0 0 1.5px var(--d-line);
}
[data-ptm-theme=dark] .ptm-group__head,
[data-ptm-theme=dark] .ptm-product .summary .ptm-gm {
	border-color: var(--d-line-soft);
}
[data-ptm-theme=dark] .star-rating,
[data-ptm-theme=dark] .star-rating span::before {
	color: var(--d-focus);
}

/* Hero-Produktkarten (header.css) und Warenkorb-Pille (cart-pill.css) */
[data-ptm-theme=dark] .ptmk-card {
	background: var(--d-surface);
	color: var(--d-text);
	box-shadow: 0 0 0 1px var(--d-line-soft), 0 30px 60px -24px rgba(0, 0, 0, .8);
}
[data-ptm-theme=dark] .ptmk-card img {
	background: var(--d-photo);
}
[data-ptm-theme=dark] .ptmk-card strong {
	color: var(--d-text);
}
[data-ptm-theme=dark] .ptmk-card span {
	color: #fff;
}
[data-ptm-theme=dark] .ptm-cart-item__img {
	background: var(--d-photo);
}

/* ---------- WooCommerce: Hinweise ---------- */

[data-ptm-theme=dark] .woocommerce-message,
[data-ptm-theme=dark] .woocommerce-info,
[data-ptm-theme=dark] .woocommerce-error,
[data-ptm-theme=dark] .woocommerce-noreviews,
[data-ptm-theme=dark] .wc-block-components-notice-banner,
[data-ptm-theme=dark] .cart-empty {
	background: var(--d-surface-2) !important;
	color: var(--d-text) !important;
	border-color: var(--d-line) !important;
}
[data-ptm-theme=dark] .woocommerce-message a,
[data-ptm-theme=dark] .woocommerce-info a,
[data-ptm-theme=dark] .woocommerce-error a,
[data-ptm-theme=dark] .wc-block-components-notice-banner a {
	color: var(--d-link) !important;
}
[data-ptm-theme=dark] .woocommerce-error,
[data-ptm-theme=dark] .wc-block-components-notice-banner.is-error {
	border-color: var(--d-error) !important;
}
[data-ptm-theme=dark] .woocommerce-error li,
[data-ptm-theme=dark] .woocommerce-invalid label,
[data-ptm-theme=dark] .woocommerce-form-row .required,
[data-ptm-theme=dark] abbr.required {
	color: var(--d-error) !important;
}

/* ---------- Warenkorb (Block) ---------- */

[data-ptm-theme=dark] .wp-block-woocommerce-cart,
[data-ptm-theme=dark] .wc-block-cart,
[data-ptm-theme=dark] .wc-block-components-sidebar,
[data-ptm-theme=dark] .wc-block-components-totals-wrapper,
[data-ptm-theme=dark] .wc-block-cart-items,
[data-ptm-theme=dark] .wc-block-components-panel {
	color: var(--d-muted);
	border-color: var(--d-line-soft) !important;
}
[data-ptm-theme=dark] .wc-block-cart-items td,
[data-ptm-theme=dark] .wc-block-cart-items th,
[data-ptm-theme=dark] .wc-block-cart-items__header,
[data-ptm-theme=dark] .wc-block-components-totals-wrapper,
[data-ptm-theme=dark] .wc-block-components-totals-item,
[data-ptm-theme=dark] .wc-block-cart__totals-title {
	border-color: var(--d-line-soft) !important;
	color: var(--d-muted);
}
[data-ptm-theme=dark] .wc-block-components-product-name,
[data-ptm-theme=dark] .wc-block-components-totals-item__label,
[data-ptm-theme=dark] .wc-block-components-totals-item__value,
[data-ptm-theme=dark] .wc-block-components-totals-footer-item,
[data-ptm-theme=dark] .wc-block-components-product-price,
[data-ptm-theme=dark] .wc-block-formatted-money-amount,
[data-ptm-theme=dark] .wc-block-components-panel__button,
[data-ptm-theme=dark] .wc-block-cart__totals-title,
[data-ptm-theme=dark] .wc-block-cart-items__header span {
	color: var(--d-text) !important;
}
[data-ptm-theme=dark] .wc-block-components-product-metadata,
[data-ptm-theme=dark] .wc-block-components-product-metadata *,
[data-ptm-theme=dark] .wc-block-components-totals-item__description,
[data-ptm-theme=dark] .wc-block-components-product-low-stock-badge,
[data-ptm-theme=dark] .wc-block-components-product-price del {
	color: var(--d-muted) !important;
}
[data-ptm-theme=dark] .wc-block-cart-item__image img,
[data-ptm-theme=dark] .wc-block-components-order-summary-item__image img {
	background: var(--d-photo);
	border-radius: 8px;
}
[data-ptm-theme=dark] .wc-block-components-quantity-selector {
	border-color: var(--d-line) !important;
	background: var(--d-surface);
}
[data-ptm-theme=dark] .wc-block-components-quantity-selector input,
[data-ptm-theme=dark] .wc-block-components-quantity-selector button {
	color: var(--d-text) !important;
	background: transparent !important;
}
[data-ptm-theme=dark] .wc-block-cart-item__remove-link,
[data-ptm-theme=dark] .wc-block-components-panel__button,
[data-ptm-theme=dark] .wc-block-components-totals-coupon-link,
[data-ptm-theme=dark] .wc-block-components-chip {
	color: var(--d-link) !important;
}
[data-ptm-theme=dark] .wc-block-components-chip {
	background: var(--d-surface-2) !important;
	border-color: var(--d-line) !important;
}
[data-ptm-theme=dark] .wc-block-components-sale-badge {
	background: var(--d-surface-2) !important;
	color: var(--d-text) !important;
	border-color: var(--d-line) !important;
}
[data-ptm-theme=dark] .wc-block-components-text-input label,
[data-ptm-theme=dark] .wc-block-components-combobox label {
	color: var(--d-muted) !important;
}
[data-ptm-theme=dark] .wc-block-components-button:not(.is-link),
[data-ptm-theme=dark] .wc-block-cart__submit-button,
[data-ptm-theme=dark] .wp-block-button__link {
	background: var(--pt-grad) !important;
	color: #fff !important;
	border-color: transparent !important;
}
[data-ptm-theme=dark] .wc-block-grid__product,
[data-ptm-theme=dark] .wc-block-grid__product-title,
[data-ptm-theme=dark] .wc-block-grid__product-price {
	color: var(--d-text) !important;
}
[data-ptm-theme=dark] .wc-block-grid__product-image img {
	background: var(--d-photo);
}

/* ---------- Klassische WooCommerce-Tabellen & Mein Konto ---------- */

[data-ptm-theme=dark] .shop_table,
[data-ptm-theme=dark] .woocommerce table.shop_table,
[data-ptm-theme=dark] .woocommerce-checkout-review-order-table,
[data-ptm-theme=dark] .cart_totals,
[data-ptm-theme=dark] .woocommerce-MyAccount-content,
[data-ptm-theme=dark] form.woocommerce-form-login,
[data-ptm-theme=dark] form.woocommerce-form-register,
[data-ptm-theme=dark] form.woocommerce-ResetPassword,
[data-ptm-theme=dark] .woocommerce-Address,
[data-ptm-theme=dark] .woocommerce-order-details,
[data-ptm-theme=dark] .woocommerce-customer-details {
	background: var(--d-surface) !important;
	color: var(--d-muted);
	border-color: var(--d-line-soft) !important;
}
[data-ptm-theme=dark] form.woocommerce-form-login,
[data-ptm-theme=dark] form.woocommerce-form-register,
[data-ptm-theme=dark] form.woocommerce-ResetPassword {
	padding: 24px !important;
	border-radius: 16px;
}
[data-ptm-theme=dark] .woocommerce form .required {
	color: var(--d-error) !important;
}
[data-ptm-theme=dark] .shop_table th,
[data-ptm-theme=dark] .shop_table td,
[data-ptm-theme=dark] .shop_table tr {
	background: transparent !important;
	border-color: var(--d-line-soft) !important;
}
[data-ptm-theme=dark] .shop_table th,
[data-ptm-theme=dark] .shop_table .amount,
[data-ptm-theme=dark] .shop_table .product-name a,
[data-ptm-theme=dark] .woocommerce-MyAccount-navigation a {
	color: var(--d-text) !important;
}
[data-ptm-theme=dark] .woocommerce-MyAccount-navigation li {
	border-color: var(--d-line-soft) !important;
}
[data-ptm-theme=dark] .woocommerce-MyAccount-navigation li.is-active a {
	color: var(--d-link) !important;
}
[data-ptm-theme=dark] .woocommerce form .form-row label,
[data-ptm-theme=dark] .woocommerce-form__label {
	color: var(--d-text) !important;
}
[data-ptm-theme=dark] .woocommerce .button:not(.ptm-btn):not(.add_to_cart_button):not(.wrb-trigger-btn),
[data-ptm-theme=dark] .woocommerce button.button,
[data-ptm-theme=dark] .woocommerce input.button {
	background: var(--pt-grad) !important;
	color: #fff !important;
	border-color: transparent !important;
}
[data-ptm-theme=dark] .woocommerce-LostPassword a,
[data-ptm-theme=dark] .lost_password a {
	color: var(--d-link) !important;
}

/* ---------- Kasse (CheckoutWC) über dessen Variablen ---------- */

/* Auch im hellen Design: CheckoutWC-Zweitbuttons (#999) hatten nur 2,9:1 → Tinte gedämpft, Weiß darauf 5,6:1 */
html body.checkout-wc {
	--cfw-buttons-secondary-background-color: var(--pt-muted);
	--cfw-buttons-secondary-hover-background-color: #4f4757;
}
html body.checkout-wc .cfw-alert-success a.button.wc-forward {
	background: var(--pt-muted) !important;
}

[data-ptm-theme=dark],
[data-ptm-theme=dark] body.checkout-wc {
	--cfw-body-background-color: #120c17;
	--cfw-body-text-color: #e7e0ec;
	--cfw-header-background-color: #120c17;
	--cfw-footer-background-color: #120c17;
	--cfw-cart-summary-background-color: #1d1426;
	--cfw-cart-summary-mobile-background-color: #1d1426;
	--cfw-cart-summary-link-color: var(--pt-rosa);
	--cfw-header-text-color: #f4eff7;
	--cfw-footer-text-color: #c9bfd2;
	--cfw-body-link-color: var(--pt-rosa);
	--cfw-buttons-primary-background-color: var(--pt-pink);
	--cfw-buttons-primary-text-color: #ffffff;
	--cfw-buttons-primary-hover-background-color: #9f3c7d;
	--cfw-buttons-primary-hover-text-color: #ffffff;
	--cfw-buttons-secondary-background-color: #4a3d57;
	--cfw-buttons-secondary-text-color: #ffffff;
	--cfw-buttons-secondary-hover-background-color: #5c4d6b;
	--cfw-buttons-secondary-hover-text-color: #ffffff;
	--cfw-cart-summary-item-quantity-background-color: #6d5f7a;
	--cfw-cart-summary-item-quantity-text-color: #ffffff;
	--cfw-breadcrumb-completed-text-color: #c9bfd2;
	--cfw-breadcrumb-current-text-color: #f4eff7;
	--cfw-breadcrumb-next-text-color: #c9bfd2;
	--cfw-breadcrumb-completed-accent-color: #f4eff7;
	--cfw-breadcrumb-current-accent-color: #f4eff7;
	--cfw-breadcrumb-next-accent-color: #8a7d96;
}

[data-ptm-theme=dark] body.checkout-wc h1,
[data-ptm-theme=dark] body.checkout-wc h2,
[data-ptm-theme=dark] body.checkout-wc h3,
[data-ptm-theme=dark] body.checkout-wc h4,
[data-ptm-theme=dark] body.checkout-wc .cfw-panel-heading {
	color: var(--d-text) !important;
}
[data-ptm-theme=dark] body.checkout-wc .cfw-small,
[data-ptm-theme=dark] .cfw-cart-item-data,
[data-ptm-theme=dark] .cfw-cart-item-data *,
[data-ptm-theme=dark] .wgm-tax,
[data-ptm-theme=dark] .wgm-tax *,
[data-ptm-theme=dark] .cfw-floatable-label .optional,
[data-ptm-theme=dark] .form-row label .optional {
	color: var(--d-muted) !important;
}
[data-ptm-theme=dark] .woocommerce-terms-and-conditions-checkbox-text,
[data-ptm-theme=dark] .woocommerce-form__label-for-checkbox span {
	color: var(--d-text) !important;
}
[data-ptm-theme=dark] .payment_box,
[data-ptm-theme=dark] .cfw-radio-reveal-content,
[data-ptm-theme=dark] #payment div.payment_box {
	background-color: var(--d-surface-2) !important;
	color: var(--d-muted) !important;
	border-color: var(--d-line-soft) !important;
}
[data-ptm-theme=dark] .payment_box p {
	color: var(--d-muted) !important;
}
[data-ptm-theme=dark] .cfw-alert-success,
[data-ptm-theme=dark] .cfw-alert-info,
[data-ptm-theme=dark] .cfw-alert-error {
	background: var(--d-surface-2) !important;
	color: var(--d-text) !important;
	border: 1px solid var(--d-ok) !important;
}
[data-ptm-theme=dark] .cfw-alert-error {
	border-color: var(--d-error) !important;
}
[data-ptm-theme=dark] .cfw-alert .message,
[data-ptm-theme=dark] .cfw-alert .message * {
	color: var(--d-text) !important;
}
[data-ptm-theme=dark] .cfw-radio-reveal-title-wrap,
[data-ptm-theme=dark] .cfw-radio-reveal-li,
[data-ptm-theme=dark] .cfw-radio-reveal-group,
[data-ptm-theme=dark] .cfw-radio-reveal-content-wrap {
	background-color: var(--d-surface) !important;
	border-color: var(--d-line) !important;
}
[data-ptm-theme=dark] .cfw-radio-reveal-label,
[data-ptm-theme=dark] .cfw-radio-reveal-label * {
	color: var(--d-text) !important;
}
[data-ptm-theme=dark] body.checkout-wc .order-total,
[data-ptm-theme=dark] body.checkout-wc .order-total *,
[data-ptm-theme=dark] body.checkout-wc .cfw-totals-list .amount,
[data-ptm-theme=dark] body.checkout-wc .total.amount,
[data-ptm-theme=dark] body.checkout-wc .total.amount * {
	color: var(--d-text) !important;
}

/* Hinweis „Gesetzliche Gewährleistung“ (Plugin eugl) */
[data-ptm-theme=dark] .eugl-details,
[data-ptm-theme=dark] .eugl-card {
	background: var(--d-surface-2) !important;
	border-color: var(--d-line) !important;
}
[data-ptm-theme=dark] .eugl-card__title {
	color: var(--d-text) !important;
}
[data-ptm-theme=dark] .eugl-card__text,
[data-ptm-theme=dark] .eugl-card__text * {
	color: var(--d-muted) !important;
}
[data-ptm-theme=dark] .eugl-card a,
[data-ptm-theme=dark] .eugl-details__label {
	color: var(--d-link) !important;
}

/* ---------- Complianz-Cookiebanner ---------- */

[data-ptm-theme=dark] .cmplz-cookiebanner {
	--cmplz_banner_background_color: #1d1426;
	--cmplz_banner_border_color: #8a7d96;
	--cmplz_text_color: #e7e0ec;
	--cmplz_hyperlink_color: var(--pt-rosa);
	--cmplz_category_header_always_active_color: #7fdcaa;
	--cmplz_category_header_title_color: #f4eff7;
	--cmplz_category_header_active_color: #f4eff7;
	--cmplz_category_open_icon_color: #f4eff7;
	--cmplz_slider_inactive_color: #6d5f7a;
	--cmplz_button_settings_background_color: #281d33;
	--cmplz_button_settings_border_color: #8a7d96;
	--cmplz_button_settings_text_color: #f4eff7;
	--cmplz_button_deny_background_color: #281d33;
	--cmplz_button_deny_border_color: #8a7d96;
	--cmplz_button_deny_text_color: #f4eff7;
}
[data-ptm-theme=dark] .cmplz-cookiebanner .cmplz-category {
	background-color: #281d33 !important;
}
