/**
 * mednaht Design – einheitliche Formulare auf der ganzen Website.
 *
 * Gleiche Sprache wie Katalog, Suche und Warenkorb-Panel:
 * - Felder: 1 px Rahmen #d9dcec, 12 px Radius. Überfahren: nur heller Schein.
 *   Tippen: dunkler Rahmen plus Schein.
 * - Hauptbuttons gefüllt in Blau, Nebenbuttons als Kontur.
 * - Mengenwähler − Feld + in einem Rahmen.
 *
 * „body:not(#mn-design)" vorne zählt wie eine ID und hebt die Regeln damit
 * über die Stile von Elementor-Widgets (bis 0,5,3) und WooCommerce – ohne
 * !important. Die Reihenfolge untereinander bleibt dabei erhalten.
 */

/* Farben: alle Stellen nutzen diese Variablen (Fallback = heutiger Wert), so
   lassen sich Farbvarianten testen, ohne etwas anderes anzufassen
   (includes/farbvorschau.php, Abschnitt „Farbvorschau" unten). */
:root {
	--mn-accent-rgb: 40, 53, 131;
	--mn-secondary: #1f99cf;
	--mn-secondary-rgb: 31, 153, 207;
	--mn-hell-1: #e5f2fa;
	--mn-hell-2: #eef0fa;
	--mn-hell-3: #f5f6fc;
	--mn-seite: #f7fafe;
}

:root {
	--mn-accent: #283583;
	--mn-accent-hover: #1d2766;
	--mn-text: #2d3134;
	--mn-muted: #5b6190;
	--mn-border: #d9dcec;
	--mn-ring: 0 0 0 3px rgba(var(--mn-accent-rgb, 40, 53, 131), 0.15);
	--mn-tint: rgba(var(--mn-accent-rgb, 40, 53, 131), 0.08);
	--mn-radius: 12px;
	--mn-height: 48px;
}

/* --- Eingabefelder, Auswahllisten, Textfelder ------------------------- */

body:not(#mn-design):is(.woocommerce, .woocommerce-page) form .input-text,
body:not(#mn-design):is(.woocommerce, .woocommerce-page) form select:not(.wc-blocks-components-select__select),
body:not(#mn-design):is(.woocommerce, .woocommerce-page) form textarea,
body:not(#mn-design):is(.woocommerce, .woocommerce-page) form .input-text,
body:not(#mn-design):is(.woocommerce, .woocommerce-page) form select:not(.wc-blocks-components-select__select),
body:not(#mn-design):is(.woocommerce, .woocommerce-page) form textarea,
body:not(#mn-design):is(.woocommerce, .woocommerce-page) form .select2-container .select2-selection,
body:not(#mn-design) .wc-block-components-text-input input,
body:not(#mn-design) .wc-block-components-textarea,
body:not(#mn-design) .wc-blocks-components-select .wc-blocks-components-select__select,
body:not(#mn-design) .wc-block-components-combobox .components-combobox-control input,
body:not(#mn-design) .wc-block-components-totals-coupon__input input {
	box-sizing: border-box;
	border: 1px solid var(--mn-border);
	border-radius: var(--mn-radius);
	background-color: #fff;
	box-shadow: none;
	color: var(--mn-text);
	font-family: inherit;
	font-size: 15px;
	outline: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

/* Klassische WooCommerce-Felder (Konto, Gutschein): gleiche Höhe wie Buttons. */
body:not(#mn-design):is(.woocommerce, .woocommerce-page) form .input-text:not(textarea):not(.qty),
body:not(#mn-design):is(.woocommerce, .woocommerce-page) form .input-text:not(textarea):not(.qty),
body:not(#mn-design):is(.woocommerce, .woocommerce-page) form select:not(.wc-blocks-components-select__select),
body:not(#mn-design):is(.woocommerce, .woocommerce-page) form select:not(.wc-blocks-components-select__select) {
	min-block-size: var(--mn-height);
	padding: 0 16px;
}

body:not(#mn-design):is(.woocommerce, .woocommerce-page) form textarea,
body:not(#mn-design):is(.woocommerce, .woocommerce-page) form textarea {
	padding: 12px 16px;
}

/* Überfahren: nur der helle Schein. */
body:not(#mn-design):is(.woocommerce, .woocommerce-page) form .input-text:not(.qty):hover,
body:not(#mn-design):is(.woocommerce, .woocommerce-page) form select:not(.wc-blocks-components-select__select):hover,
body:not(#mn-design):is(.woocommerce, .woocommerce-page) form textarea:hover,
body:not(#mn-design):is(.woocommerce, .woocommerce-page) form .input-text:not(.qty):hover,
body:not(#mn-design):is(.woocommerce, .woocommerce-page) form select:not(.wc-blocks-components-select__select):hover,
body:not(#mn-design):is(.woocommerce, .woocommerce-page) form textarea:hover,
body:not(#mn-design) .wc-block-components-text-input input:hover,
body:not(#mn-design) .wc-block-components-textarea:hover,
body:not(#mn-design) .wc-blocks-components-select .wc-blocks-components-select__select:hover,
body:not(#mn-design) .wc-block-components-combobox .components-combobox-control input:hover,
body:not(#mn-design) .wc-block-components-totals-coupon__input input:hover {
	box-shadow: var(--mn-ring);
}

/* Tippen: dunkler Rahmen plus Schein. */
body:not(#mn-design):is(.woocommerce, .woocommerce-page) form .input-text:not(.qty):focus,
body:not(#mn-design):is(.woocommerce, .woocommerce-page) form select:not(.wc-blocks-components-select__select):focus,
body:not(#mn-design):is(.woocommerce, .woocommerce-page) form textarea:focus,
body:not(#mn-design):is(.woocommerce, .woocommerce-page) form .input-text:not(.qty):focus,
body:not(#mn-design):is(.woocommerce, .woocommerce-page) form select:not(.wc-blocks-components-select__select):focus,
body:not(#mn-design):is(.woocommerce, .woocommerce-page) form textarea:focus,
body:not(#mn-design) .wc-block-components-text-input input:focus,
body:not(#mn-design) .wc-block-components-textarea:focus,
body:not(#mn-design) .wc-blocks-components-select .wc-blocks-components-select__select:focus,
body:not(#mn-design) .wc-block-components-combobox .components-combobox-control input:focus,
body:not(#mn-design) .wc-block-components-totals-coupon__input input:focus {
	border-color: var(--mn-accent);
	box-shadow: var(--mn-ring);
	outline: none;
}

/* Fehlerhafte Felder an der Kasse bleiben rot erkennbar. */
body:not(#mn-design) .wc-block-components-text-input.has-error input,
body:not(#mn-design) .wc-blocks-components-select.has-error .wc-blocks-components-select__select,
body:not(#mn-design):is(.woocommerce, .woocommerce-page) form .woocommerce-invalid .input-text {
	border-color: #b3261e;
}

/* Schwebende Beschriftungen in den Kassenfeldern: ruhiger Ton. */
body:not(#mn-design) .wc-block-components-text-input label,
body:not(#mn-design) .wc-blocks-components-select .wc-blocks-components-select__label {
	color: #666c96;
}

/* Zwischenüberschriften der Kasse wie die übrigen Überschriften. */
body:not(#mn-design) .wc-block-components-checkout-step__title,
body:not(#mn-design) .wc-block-components-title.wc-block-components-title {
	color: var(--mn-accent);
	font-family: "Bricolage Grotesque", sans-serif;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.3;
}

/* --- Buttons ---------------------------------------------------------- */

/* Hauptaktionen: gefüllt in Blau. */
body:not(#mn-design):is(.woocommerce, .woocommerce-page) .single_add_to_cart_button.button,
body:not(#mn-design):is(.woocommerce, .woocommerce-page) .checkout-button.button,
body:not(#mn-design):is(.woocommerce, .woocommerce-page) a.button.alt,
body:not(#mn-design):is(.woocommerce, .woocommerce-page) button.button.alt,
body:not(#mn-design):is(.woocommerce, .woocommerce-page) input.button.alt,
body:not(#mn-design):is(.woocommerce, .woocommerce-page) #place_order,
body:not(#mn-design):is(.woocommerce, .woocommerce-page) .woocommerce-form-login__submit,
body:not(#mn-design):is(.woocommerce, .woocommerce-page) .woocommerce-form-register__submit,
body:not(#mn-design):is(.woocommerce, .woocommerce-page) .woocommerce-Button,
body:not(#mn-design) .wc-block-components-checkout-place-order-button,
body:not(#mn-design) .wc-block-cart__submit-button,
body:not(#mn-design):is(.woocommerce, .woocommerce-page) .single_add_to_cart_button.button:focus,
body:not(#mn-design):is(.woocommerce, .woocommerce-page) .checkout-button.button:focus,
body:not(#mn-design):is(.woocommerce, .woocommerce-page) a.button.alt:focus,
body:not(#mn-design):is(.woocommerce, .woocommerce-page) button.button.alt:focus,
body:not(#mn-design) .wc-block-components-checkout-place-order-button:focus {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	box-sizing: border-box;
	min-block-size: var(--mn-height);
	padding: 0 24px;
	border: 1px solid var(--mn-accent);
	border-radius: var(--mn-radius);
	background: var(--mn-accent);
	box-shadow: none;
	color: #fff;
	font-family: inherit;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0;
	text-decoration: none;
	text-transform: none;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

body:not(#mn-design):is(.woocommerce, .woocommerce-page) .single_add_to_cart_button.button:hover,
body:not(#mn-design):is(.woocommerce, .woocommerce-page) .checkout-button.button:hover,
body:not(#mn-design):is(.woocommerce, .woocommerce-page) a.button.alt:hover,
body:not(#mn-design):is(.woocommerce, .woocommerce-page) button.button.alt:hover,
body:not(#mn-design):is(.woocommerce, .woocommerce-page) input.button.alt:hover,
body:not(#mn-design):is(.woocommerce, .woocommerce-page) #place_order:hover,
body:not(#mn-design):is(.woocommerce, .woocommerce-page) .woocommerce-form-login__submit:hover,
body:not(#mn-design):is(.woocommerce, .woocommerce-page) .woocommerce-form-register__submit:hover,
body:not(#mn-design):is(.woocommerce, .woocommerce-page) .woocommerce-Button:hover,
body:not(#mn-design) .wc-block-components-checkout-place-order-button:hover,
body:not(#mn-design) .wc-block-cart__submit-button:hover {
	border-color: var(--mn-accent-hover);
	background: var(--mn-accent-hover);
	color: #fff;
}

/* Gesperrt (z. B. noch keine Ausführung gewählt): blass statt lila. */
body:not(#mn-design):is(.woocommerce, .woocommerce-page) .single_add_to_cart_button.button.disabled,
body:not(#mn-design):is(.woocommerce, .woocommerce-page) .single_add_to_cart_button.button:disabled,
body:not(#mn-design):is(.woocommerce, .woocommerce-page) button.button.alt:disabled {
	border-color: var(--mn-accent);
	background: var(--mn-accent);
	color: #fff;
	opacity: 0.4;
}

/* Nebenaktionen (Gutschein anwenden, Warenkorb aktualisieren …): Kontur. */
body:not(#mn-design):is(.woocommerce, .woocommerce-page) a.button:not(.alt):not(.checkout-button):not(.wc-forward-alt),
body:not(#mn-design):is(.woocommerce, .woocommerce-page) button.button:not(.alt):not(.single_add_to_cart_button):not(.woocommerce-form-login__submit):not(.woocommerce-form-register__submit):not(.woocommerce-Button):not(.b2b-reg__next):not(.b2b-reg__back),
body:not(#mn-design):is(.woocommerce, .woocommerce-page) input.button:not(.alt),
body:not(#mn-design) .wc-block-components-totals-coupon__button,
body:not(#mn-design):is(.woocommerce, .woocommerce-page) a.button:not(.alt):not(.checkout-button):focus,
body:not(#mn-design):is(.woocommerce, .woocommerce-page) button.button:not(.alt):not(.single_add_to_cart_button):not(.woocommerce-form-login__submit):not(.woocommerce-form-register__submit):not(.woocommerce-Button):not(.b2b-reg__next):not(.b2b-reg__back):focus {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-block-size: var(--mn-height);
	padding: 0 20px;
	border: 1px solid var(--mn-border);
	border-radius: var(--mn-radius);
	background: #fff;
	box-shadow: none;
	color: var(--mn-accent);
	font-family: inherit;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0;
	text-decoration: none;
	text-transform: none;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

body:not(#mn-design):is(.woocommerce, .woocommerce-page) a.button:not(.alt):not(.checkout-button):hover,
body:not(#mn-design):is(.woocommerce, .woocommerce-page) button.button:not(.alt):not(.single_add_to_cart_button):not(.woocommerce-form-login__submit):not(.woocommerce-form-register__submit):not(.woocommerce-Button):not(.b2b-reg__next):not(.b2b-reg__back):hover,
body:not(#mn-design):is(.woocommerce, .woocommerce-page) input.button:not(.alt):hover,
body:not(#mn-design) .wc-block-components-totals-coupon__button:hover {
	border-color: rgba(var(--mn-accent-rgb, 40, 53, 131), 0.35);
	background: var(--mn-tint);
	color: var(--mn-accent);
}

body:not(#mn-design):is(.woocommerce, .woocommerce-page) .button:focus-visible,
body:not(#mn-design) .wc-block-components-button:focus-visible {
	outline: 2px solid var(--mn-accent);
	outline-offset: 2px;
}

/* --- Mengenwähler (Produktseite, Warenkorb, Schnellbestellung, Sortiment, Anfrage) */

body:not(#mn-design) .quantity.mn-stepper {
	box-sizing: border-box;
	display: inline-flex;
	align-items: stretch;
	block-size: var(--mn-height);
	margin: 0;
	border: 1px solid var(--mn-border);
	border-radius: var(--mn-radius);
	background: #fff;
	overflow: hidden;
	vertical-align: middle;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

body:not(#mn-design) .quantity.mn-stepper:hover {
	box-shadow: var(--mn-ring);
}

body:not(#mn-design) .quantity.mn-stepper:focus-within {
	border-color: var(--mn-accent);
	box-shadow: var(--mn-ring);
}

body:not(#mn-design) .mn-stepper .mn-step,
body:not(#mn-design) .mn-stepper .mn-step:hover,
body:not(#mn-design) .mn-stepper .mn-step:focus {
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	inline-size: 40px;
	min-block-size: 0;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: var(--mn-accent);
	cursor: pointer;
	transition: background-color 0.2s ease;
}

body:not(#mn-design) .mn-stepper .mn-step:hover:not(:disabled) {
	background: var(--mn-tint);
}

body:not(#mn-design) .mn-stepper .mn-step:focus-visible {
	outline: 2px solid var(--mn-accent);
	outline-offset: -2px;
}

body:not(#mn-design) .mn-stepper .mn-step:disabled {
	color: #b9bedc;
	cursor: default;
}

body:not(#mn-design) .mn-stepper .mn-step svg {
	inline-size: 14px;
	block-size: 14px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2.2;
	stroke-linecap: round;
}

body:not(#mn-design) .mn-stepper input.qty,
body:not(#mn-design) .mn-stepper input.qty:hover,
body:not(#mn-design) .mn-stepper input.qty:focus {
	box-sizing: border-box;
	inline-size: 48px;
	block-size: calc(var(--mn-height) - 2px);
	min-block-size: 0;
	max-block-size: none; /* Elementor-Warenkorb begrenzt sonst auf 28 px */
	align-self: stretch;
	margin: 0;
	padding: 0 2px;
	border: 0;
	border-inline: 1px solid #eceef6;
	border-radius: 0;
	background: #fff;
	box-shadow: none;
	color: var(--mn-text);
	font-family: inherit;
	font-size: 15px;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	text-align: center;
	outline: none;
	-moz-appearance: textfield;
	appearance: textfield;
}

body:not(#mn-design) .mn-stepper input.qty::-webkit-outer-spin-button,
body:not(#mn-design) .mn-stepper input.qty::-webkit-inner-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

/* Produktseite: Menge und Button in einer Zeile mit Abstand. */
body:not(#mn-design) form.cart:not(.variations_form),
body:not(#mn-design) .woocommerce-variation-add-to-cart {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
}

body:not(#mn-design) form.cart .quantity.mn-stepper {
	margin: 0;
}

/* --- Checkboxen und Optionsfelder ------------------------------------ */

body:not(#mn-design):is(.woocommerce, .woocommerce-page) form input[type="checkbox"],
body:not(#mn-design):is(.woocommerce, .woocommerce-page) form input[type="radio"] {
	accent-color: var(--mn-accent);
}

/* Klassische Checkboxen (z. B. „Angemeldet bleiben"): wie im Katalog. */
body:not(#mn-design):is(.woocommerce, .woocommerce-page) form input[type="checkbox"].woocommerce-form__input-checkbox,
body:not(#mn-design):is(.woocommerce, .woocommerce-page) form input[type="checkbox"].input-checkbox {
	position: relative;
	box-sizing: border-box;
	inline-size: 22px;
	block-size: 22px;
	margin: 0 8px 0 0;
	border: 1.5px solid #b9bedc;
	border-radius: 7px;
	background: #fff;
	vertical-align: middle;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
	-webkit-appearance: none;
	appearance: none;
}

body:not(#mn-design):is(.woocommerce, .woocommerce-page) form input[type="checkbox"].woocommerce-form__input-checkbox:hover,
body:not(#mn-design):is(.woocommerce, .woocommerce-page) form input[type="checkbox"].input-checkbox:hover {
	border-color: var(--mn-accent);
	box-shadow: var(--mn-ring);
}

body:not(#mn-design):is(.woocommerce, .woocommerce-page) form input[type="checkbox"].woocommerce-form__input-checkbox:checked,
body:not(#mn-design):is(.woocommerce, .woocommerce-page) form input[type="checkbox"].input-checkbox:checked {
	border-color: var(--mn-accent);
	background: var(--mn-accent);
}

body:not(#mn-design):is(.woocommerce, .woocommerce-page) form input[type="checkbox"].woocommerce-form__input-checkbox:checked::after,
body:not(#mn-design):is(.woocommerce, .woocommerce-page) form input[type="checkbox"].input-checkbox:checked::after {
	content: "";
	position: absolute;
	inset: 2px;
	background: #fff;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / contain no-repeat;
}

body:not(#mn-design):is(.woocommerce, .woocommerce-page) form input[type="checkbox"].woocommerce-form__input-checkbox:focus-visible,
body:not(#mn-design):is(.woocommerce, .woocommerce-page) form input[type="checkbox"].input-checkbox:focus-visible {
	outline: 2px solid var(--mn-accent);
	outline-offset: 2px;
}

/* Kästen um Anmelden, Registrieren und Gutschein wie die übrigen Panels. */
body:not(#mn-design):is(.woocommerce, .woocommerce-page) form.login,
body:not(#mn-design):is(.woocommerce, .woocommerce-page) form.register,
body:not(#mn-design):is(.woocommerce, .woocommerce-page) form.checkout_coupon,
body:not(#mn-design):is(.woocommerce, .woocommerce-page) form.lost_reset_password {
	border: 1px solid var(--mn-border);
	border-radius: 16px;
	background: #fff;
}

body:not(#mn-design) .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] {
	inline-size: 22px;
	block-size: 22px;
	min-inline-size: 22px;
	border: 1.5px solid #b9bedc;
	border-radius: 7px;
	background: #fff;
	transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

body:not(#mn-design) .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:hover {
	border-color: var(--mn-accent);
	box-shadow: var(--mn-ring);
}

body:not(#mn-design) .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked {
	border-color: var(--mn-accent);
	background: var(--mn-accent);
}

body:not(#mn-design) .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:focus-visible {
	outline: 2px solid var(--mn-accent);
	outline-offset: 2px;
}

body:not(#mn-design) .wc-block-components-checkbox .wc-block-components-checkbox__mark {
	fill: #fff;
}

body:not(#mn-design) .wc-block-components-radio-control .wc-block-components-radio-control__input {
	border: 1.5px solid #b9bedc;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

body:not(#mn-design) .wc-block-components-radio-control .wc-block-components-radio-control__input:hover {
	border-color: var(--mn-accent);
	box-shadow: var(--mn-ring);
}

body:not(#mn-design) .wc-block-components-radio-control .wc-block-components-radio-control__input:checked {
	border-color: var(--mn-accent);
}

body:not(#mn-design) .wc-block-components-radio-control .wc-block-components-radio-control__input:checked::before {
	background: var(--mn-accent);
}

/* Zahlungsart-Kasten wie die übrigen Felder. */
body:not(#mn-design) .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option,
body:not(#mn-design) .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option {
	border-radius: var(--mn-radius);
}

body:not(#mn-design) .wc-block-components-radio-control--highlight-checked::after,
body:not(#mn-design) .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
body:not(#mn-design) .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted {
	border-radius: var(--mn-radius);
	box-shadow: inset 0 0 0 1px var(--mn-accent);
}

/* --- Varianten-Auswahl (Product Variation Swatches) ------------------- */

body:not(#mn-design) table.variations,
body:not(#mn-design) table.variations tr,
body:not(#mn-design) table.variations th,
body:not(#mn-design) table.variations td {
	border: 0;
	background: transparent;
}

body:not(#mn-design) table.variations th.label {
	padding: 12px 16px 12px 0;
	vertical-align: middle;
	text-align: start;
}

body:not(#mn-design) table.variations th.label label {
	color: var(--mn-text);
	font-family: inherit;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
}

body:not(#mn-design) table.variations td.value {
	padding: 6px 0;
}

body:not(#mn-design) .thwvsf-wrapper-ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
}

/* Werte als Pillen wie im Katalogfilter. */
body:not(#mn-design) .thwvsf-wrapper-ul .thwvsf-wrapper-item-li.thwvsf-label-li {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	inline-size: auto;
	min-inline-size: 0;
	block-size: auto;
	min-block-size: 40px;
	margin: 0;
	padding: 0 16px;
	border: 1px solid var(--mn-border);
	border-radius: 999px;
	background: #fff;
	box-shadow: none;
	color: var(--mn-accent);
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

body:not(#mn-design) .thwvsf-wrapper-ul .thwvsf-wrapper-item-li.thwvsf-label-li .item-span-text {
	padding: 0;
	color: inherit;
	font-family: inherit;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.2;
	white-space: nowrap;
}

body:not(#mn-design) .thwvsf-wrapper-ul .thwvsf-wrapper-item-li.thwvsf-label-li:hover {
	border-color: rgba(var(--mn-accent-rgb, 40, 53, 131), 0.35);
	background: var(--mn-tint);
	box-shadow: none;
}

body:not(#mn-design) .thwvsf-wrapper-ul .thwvsf-wrapper-item-li.thwvsf-label-li:focus-visible {
	outline: 2px solid var(--mn-accent);
	outline-offset: 2px;
}

body:not(#mn-design) .thwvsf-wrapper-ul .thwvsf-wrapper-item-li.thwvsf-label-li.thwvsf-selected,
body:not(#mn-design) .thwvsf-wrapper-ul .thwvsf-wrapper-item-li.thwvsf-label-li.thwvsf-selected:hover {
	border-color: var(--mn-accent);
	background: var(--mn-accent);
	box-shadow: none;
	color: #fff;
}

/* Nicht kombinierbar: blass und durchgestrichen. */
body:not(#mn-design) .thwvsf-wrapper-ul .thwvsf-wrapper-item-li.thwvsf-label-li.deactive {
	border-style: dashed;
	background: #fff;
	color: #b9bedc;
	opacity: 1;
}

body:not(#mn-design) .thwvsf-wrapper-ul .thwvsf-wrapper-item-li.thwvsf-label-li.deactive .item-span-text {
	text-decoration: line-through;
}

/* Tooltip doppelt nur den sichtbaren Text. */
body:not(#mn-design) .thwvsf-wrapper-ul .thwvsf-tooltip .tooltiptext {
	display: none;
}

/* Handy: Beschriftung über den Pillen, Pillen umbrechen statt herauszulaufen. */
@media (max-width: 767px) {
	body:not(#mn-design) table.variations,
	body:not(#mn-design) table.variations tbody,
	body:not(#mn-design) table.variations tr,
	body:not(#mn-design) table.variations th,
	body:not(#mn-design) table.variations td {
		display: block;
		inline-size: 100%;
		box-sizing: border-box;
	}

	body:not(#mn-design) table.variations tr {
		margin-block-end: 12px;
	}

	body:not(#mn-design) table.variations th.label {
		padding: 0 0 8px;
	}

	body:not(#mn-design) table.variations td.value {
		padding: 0;
	}

	/* Button füllt die Zeile neben dem Mengenwähler. */
	body:not(#mn-design) form.cart .single_add_to_cart_button.button {
		flex: 1 1 auto;
	}
}

body:not(#mn-design) .reset_variations {
	color: var(--mn-muted);
	font-size: 14px;
	text-decoration: underline;
}

@media (prefers-reduced-motion: reduce) {
	body:not(#mn-design) .mn-stepper,
	body:not(#mn-design) .mn-step,
	body:not(#mn-design):is(.woocommerce, .woocommerce-page) .button,
	body:not(#mn-design) .thwvsf-wrapper-item-li {
		transition: none;
	}
}

/* ===================================================================== *
 * Seiten Warenkorb und Kasse
 * ===================================================================== */

/* --- Seitentitel wie auf der Shop-Seite ------------------------------- */

body:not(#mn-design).woocommerce-cart h1,
body:not(#mn-design).woocommerce-checkout .page-header .entry-title,
body:not(#mn-design).woocommerce-account .page-header .entry-title {
	margin: 0 0 32px;
	color: var(--mn-accent);
	font-family: "Bricolage Grotesque", sans-serif;
	font-size: 48px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -0.01em;
}

@media (max-width: 1024px) {
	body:not(#mn-design).woocommerce-cart h1,
	body:not(#mn-design).woocommerce-checkout .page-header .entry-title,
	body:not(#mn-design).woocommerce-account .page-header .entry-title {
		font-size: 40px;
	}
}

@media (max-width: 767px) {
	body:not(#mn-design).woocommerce-cart h1,
	body:not(#mn-design).woocommerce-checkout .page-header .entry-title,
	body:not(#mn-design).woocommerce-account .page-header .entry-title {
		margin-bottom: 24px;
		font-size: 34px;
	}
}

/* --- Kasse und Konto: Breite wie Header und Katalog ------------------- */

body:not(#mn-design).woocommerce-checkout .site-main,
body:not(#mn-design).woocommerce-account .site-main {
	box-sizing: border-box;
	inline-size: 100%;
	max-inline-size: 1368px; /* 1320 px Inhalt + 2 × 24 px Rand, bündig mit dem Header */
	margin-inline: auto;
	padding: 32px 24px 96px;
}

body:not(#mn-design).woocommerce-checkout .page-header,
body:not(#mn-design).woocommerce-checkout .page-content,
body:not(#mn-design).woocommerce-account .page-header,
body:not(#mn-design).woocommerce-account .page-content {
	max-inline-size: none;
	margin: 0;
	padding: 0;
}

@media (max-width: 767px) {
	body:not(#mn-design).woocommerce-checkout .site-main,
	body:not(#mn-design).woocommerce-account .site-main {
		padding: 24px 16px 64px;
	}
}

/* --- Warenkorb (Elementor-Widget) ------------------------------------ */

/* Farben und Karten über die Variablen des Widgets. */
body:not(#mn-design) .elementor-widget-woocommerce-cart {
	--sections-background-color: #fff;
	--sections-border-color: var(--mn-border);
	--sections-border-type: solid;
	--sections-border-radius: 16px;
	--sections-padding: 24px;
	--sections-title-color: var(--mn-accent);
	--sections-title-spacing: 16px;
	--sections-descriptions-color: var(--mn-muted);
	--product-link-normal-color: var(--mn-accent);
	--order-summary-color: var(--mn-text);
	--order-summary-title-color: #666c96;
	--order-summary-variations-color: var(--mn-muted);
	--order-summary-items-divider-color: rgba(var(--mn-accent-rgb, 40, 53, 131), 0.09);
	--order-summary-rows-gap-top: 16px;
	--order-summary-rows-gap-bottom: 16px;
	--order-summary-remove-icon-normal-color: #666c96;
	--totals-color: var(--mn-text);
	--totals-divider-color: rgba(var(--mn-accent-rgb, 40, 53, 131), 0.12);
	--totals-rows-gap-top: 10px;
	--totals-rows-gap-bottom: 10px;
}

/* Normale Schrift statt Monospace für Preise und Summen. */
body:not(#mn-design) .elementor-widget-woocommerce-cart :is(td, td span, th, .product-name .variation, .cart_totals .shop_table td::before) {
	font-family: inherit;
	font-variant-numeric: tabular-nums;
}

body:not(#mn-design) .elementor-widget-woocommerce-cart .shop_table thead th,
body:not(#mn-design) .elementor-widget-woocommerce-cart .shop_table thead th span {
	color: #666c96;
	font-family: inherit;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-transform: none;
}

body:not(#mn-design) .elementor-widget-woocommerce-cart .cart .product-name a {
	color: var(--mn-accent);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.35;
	text-decoration: none;
}

body:not(#mn-design) .elementor-widget-woocommerce-cart .cart .product-name a:hover {
	text-decoration: underline;
}

body:not(#mn-design) .elementor-widget-woocommerce-cart .cart td:is(.product-price, .product-subtotal) {
	color: var(--mn-text);
	font-size: 15px;
	white-space: nowrap;
}

body:not(#mn-design) .elementor-widget-woocommerce-cart .cart td.product-subtotal {
	font-weight: 600;
}

body:not(#mn-design) .elementor-widget-woocommerce-cart .cart .product-thumbnail img {
	box-sizing: border-box;
	inline-size: 64px;
	max-inline-size: none;
	block-size: 64px;
	border: 1px solid var(--mn-border);
	border-radius: 12px;
	background: #fff;
	object-fit: contain;
}

/* Entfernen als ruhiges rundes Kreuz. */
body:not(#mn-design) .elementor-widget-woocommerce-cart .cart .product-remove a.remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	inline-size: 32px;
	block-size: 32px;
	border-radius: 50%;
	background: transparent;
	color: #666c96;
	font-size: 20px;
	line-height: 1;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}

body:not(#mn-design) .elementor-widget-woocommerce-cart .cart .product-remove a.remove:hover {
	background: rgba(179, 38, 30, 0.08);
	color: #b3261e;
}

/* Summen-Karte. */
body:not(#mn-design) .elementor-widget-woocommerce-cart .cart_totals h2 {
	margin-block-end: 8px;
	color: var(--mn-accent);
	font-family: "Bricolage Grotesque", sans-serif;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.3;
}

body:not(#mn-design) .elementor-widget-woocommerce-cart .cart_totals .order-total :is(th, td, td .amount) {
	color: var(--mn-text);
	font-size: 17px;
	font-weight: 700;
}

body:not(#mn-design) .elementor-widget-woocommerce-cart .cart_totals .shipping-calculator-button {
	color: var(--mn-accent);
	text-decoration: underline;
}

body:not(#mn-design) .elementor-widget-woocommerce-cart .wc-proceed-to-checkout .checkout-button {
	inline-size: 100%;
	min-block-size: 52px;
	font-size: 16px;
}

/* Gutschein-Zeile: Feld und Button nebeneinander, gleiche Höhe. */
body:not(#mn-design) .elementor-widget-woocommerce-cart .coupon {
	inline-size: 100%;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

body:not(#mn-design) .elementor-widget-woocommerce-cart .coupon .input-text {
	flex: 1 1 200px;
	inline-size: auto;
}

/* Handy: jede Position als kompakte Zeile – Bild, Name, Menge, Summe. */
@media (max-width: 767px) {
	body:not(#mn-design) .elementor-widget-woocommerce-cart .shop_table.cart thead {
		display: none;
	}

	body:not(#mn-design) .elementor-widget-woocommerce-cart .shop_table.cart tr.cart_item {
		position: relative;
		display: grid;
		grid-template-columns: 64px minmax(0, 1fr) auto;
		align-items: center;
		gap: 8px 12px;
		padding: 16px 40px 16px 0;
		border-bottom: 1px solid rgba(var(--mn-accent-rgb, 40, 53, 131), 0.09);
	}

	body:not(#mn-design) .elementor-widget-woocommerce-cart .shop_table.cart tr.cart_item:last-of-type {
		border-bottom: 0;
	}

	body:not(#mn-design) .elementor-widget-woocommerce-cart .shop_table.cart tr.cart_item td {
		display: block;
		padding: 0;
		border: 0;
		background: none;
		letter-spacing: 0;
		/* WooCommerce setzt auf dem Handy text-align: right !important. */
		text-align: start !important;
	}

	body:not(#mn-design) .elementor-widget-woocommerce-cart .shop_table.cart tr.cart_item td.product-subtotal {
		text-align: end !important;
	}

	body:not(#mn-design) .elementor-widget-woocommerce-cart .shop_table.cart tr.cart_item td::before {
		content: none;
		display: none;
	}

	body:not(#mn-design) .elementor-widget-woocommerce-cart .shop_table.cart td.product-thumbnail {
		display: block;
		grid-column: 1;
		grid-row: 1 / span 3;
		align-self: start;
	}

	body:not(#mn-design) .elementor-widget-woocommerce-cart .shop_table.cart td.product-name {
		grid-column: 2 / 4;
		grid-row: 1;
	}

	body:not(#mn-design) .elementor-widget-woocommerce-cart .shop_table.cart td.product-price {
		grid-column: 2 / 4;
		grid-row: 2;
		color: var(--mn-muted);
		font-size: 13px;
	}

	body:not(#mn-design) .elementor-widget-woocommerce-cart .shop_table.cart td.product-quantity {
		grid-column: 2;
		grid-row: 3;
	}

	body:not(#mn-design) .elementor-widget-woocommerce-cart .shop_table.cart td.product-subtotal {
		grid-column: 3;
		grid-row: 3;
		text-align: end;
	}

	body:not(#mn-design) .elementor-widget-woocommerce-cart .shop_table.cart td.product-remove {
		position: absolute;
		top: 12px;
		right: 0;
	}

	body:not(#mn-design) .elementor-widget-woocommerce-cart .shop_table.cart tr:not(.cart_item) td {
		display: block;
		padding: 0;
		border: 0;
	}
}

/* --- Kasse (WooCommerce-Block) --------------------------------------- */

/* Jeder Schritt als eigene Karte. */
body:not(#mn-design) .wc-block-checkout__main .wc-block-components-checkout-step {
	box-sizing: border-box;
	margin: 0 0 16px;
	padding: 24px;
	border: 1px solid var(--mn-border);
	border-radius: 16px;
	background: #fff;
}

body:not(#mn-design) .wc-block-checkout__main .wc-block-components-checkout-step__heading {
	margin-block-end: 16px;
}

body:not(#mn-design) .wc-block-checkout__main .wc-block-components-checkout-step__container::after {
	display: none;
}

/* Hinweis- und Bestellbereich unter den Karten. */
body:not(#mn-design) .wc-block-checkout__main .wc-block-checkout__terms {
	margin: 24px 0 16px;
	color: var(--mn-muted);
	font-size: 14px;
}

body:not(#mn-design) .wc-block-checkout__main .wc-block-checkout__terms a {
	color: var(--mn-accent);
}

body:not(#mn-design) .wc-block-checkout__actions .wc-block-components-checkout-place-order-button {
	min-block-size: 52px;
	font-size: 16px;
}

body:not(#mn-design) .wc-block-checkout__actions .wc-block-components-checkout-return-to-cart-button {
	color: var(--mn-accent);
}

/* Bestellübersicht rechts als Karte, mitlaufend. */
body:not(#mn-design) .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block {
	box-sizing: border-box;
	border: 1px solid var(--mn-border);
	border-radius: 16px;
	background: #fff;
	overflow: hidden;
}

body:not(#mn-design) .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title-text,
body:not(#mn-design) .wc-block-checkout__sidebar .wc-block-components-order-summary__button-text {
	color: var(--mn-accent);
	font-family: "Bricolage Grotesque", sans-serif;
	font-size: 20px;
	font-weight: 600;
}

body:not(#mn-design) .wc-block-components-order-summary-item__quantity {
	border-color: var(--mn-border);
	background: var(--mn-accent);
	box-shadow: none;
	color: #fff;
	font-weight: 600;
}

body:not(#mn-design) .wc-block-components-order-summary-item__image img {
	border: 1px solid var(--mn-border);
	border-radius: 10px;
	background: #fff;
}

body:not(#mn-design) .wc-block-components-order-summary-item__description .wc-block-components-product-name {
	color: var(--mn-text);
	font-weight: 600;
}

body:not(#mn-design) .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body:not(#mn-design) .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	color: var(--mn-accent);
	font-family: "Bricolage Grotesque", sans-serif;
	font-weight: 700;
}

body:not(#mn-design) .wc-block-components-panel__button {
	color: var(--mn-accent);
}

/* Express-Zahlung ohne Anbieter: kein leerer Kasten. */
body:not(#mn-design) .wc-block-checkout__main .wp-block-woocommerce-checkout-express-payment-block:empty {
	display: none;
}

@media (max-width: 767px) {
	body:not(#mn-design) .wc-block-checkout__main .wc-block-components-checkout-step {
		padding: 20px 16px;
	}
}

/* --- Schrittanzeige Warenkorb → Kasse → Bestätigt (includes/kasse.php) - *
 * Mittig über dem Inhalt: Kreise mit Nummer, Name darunter, Linie dazwischen.
 * Die Registrierung (b2b-registration) nutzt dieselbe Optik.
 */

body:not(#mn-design) .mn-steps {
	margin: 0 0 32px;
}

body:not(#mn-design) .mn-steps ol,
body:not(#mn-design) form.b2b-reg .b2b-reg__progress {
	display: flex;
	justify-content: center;
	margin: 0;
	padding: 0;
	list-style: none;
}

body:not(#mn-design) .mn-steps__step,
body:not(#mn-design) form.b2b-reg .b2b-reg__progress-step {
	position: relative;
	display: block;
	inline-size: 136px;
	margin: 0;
	color: #666c96;
	font-size: 15px;
	font-weight: 600;
	text-align: center;
}

/* Linie vom vorigen Kreis bis zu diesem, hinter den Kreisen; blau, sobald dieser Schritt erreicht ist. */
body:not(#mn-design) .mn-steps__step + .mn-steps__step::before,
body:not(#mn-design) form.b2b-reg .b2b-reg__progress-step + .b2b-reg__progress-step::before {
	content: "";
	position: absolute;
	top: 17px;
	right: 50%;
	display: block;
	inline-size: 100%;
	block-size: 2px;
	border-radius: 0;
	background: var(--mn-border);
	transition: background-color 0.3s ease;
}

body:not(#mn-design) .mn-steps__step--done::before,
body:not(#mn-design) .mn-steps__step--current::before,
body:not(#mn-design) form.b2b-reg .b2b-reg__progress-step:is(.is-current, .is-done) + .b2b-reg__progress-step:is(.is-current, .is-done)::before {
	background: var(--mn-accent);
}

body:not(#mn-design) .mn-steps__item {
	position: relative;
	z-index: 1;
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	color: inherit;
	text-decoration: none;
}

body:not(#mn-design) a.mn-steps__item:hover .mn-steps__name {
	text-decoration: underline;
}

body:not(#mn-design) .mn-steps__nr,
body:not(#mn-design) form.b2b-reg .b2b-reg__progress-no {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	inline-size: 36px;
	block-size: 36px;
	margin: 0 auto;
	border: 2px solid var(--mn-border);
	border-radius: 50%;
	background: #fff;
	color: #666c96;
	font-size: 15px;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}

body:not(#mn-design) .mn-steps__step--done,
body:not(#mn-design) .mn-steps__step--current,
body:not(#mn-design) form.b2b-reg .b2b-reg__progress-step:is(.is-current, .is-done) {
	color: var(--mn-accent);
}

body:not(#mn-design) .mn-steps__step--done .mn-steps__nr,
body:not(#mn-design) form.b2b-reg .b2b-reg__progress-step.is-done .b2b-reg__progress-no {
	border-color: transparent;
	background: #e3e6f5;
	color: var(--mn-accent);
}

body:not(#mn-design) .mn-steps__step--current .mn-steps__nr,
body:not(#mn-design) form.b2b-reg .b2b-reg__progress-step.is-current .b2b-reg__progress-no {
	border-color: var(--mn-accent);
	background: var(--mn-accent);
	box-shadow: 0 0 0 5px rgba(var(--mn-accent-rgb, 40, 53, 131), 0.12);
	color: #fff;
}

@media (max-width: 767px) {
	body:not(#mn-design) .mn-steps__step,
	body:not(#mn-design) form.b2b-reg .b2b-reg__progress-step {
		inline-size: 104px;
		font-size: 13px;
	}
}

/* --- Warenkorb: Versand, Gutschein, Leiste auf dem Handy -------------- */

/* Versandpauschale in normaler Größe statt winzig grau. */
body:not(#mn-design) .elementor-widget-woocommerce-cart .cart_totals .woocommerce-shipping-methods label {
	color: var(--mn-text);
	font-size: 14px;
	line-height: 1.45;
}

body:not(#mn-design) .elementor-widget-woocommerce-cart .cart_totals .woocommerce-shipping-destination {
	margin-block-start: 4px;
	color: var(--mn-muted);
	font-size: 13px;
}

/* Gutschein hinter einem Link (assets/js/kasse.js). */
body:not(#mn-design) .mn-coupon-toggle {
	display: inline-flex;
	margin: 4px 0 12px;
	padding: 4px 0;
	border: 0;
	background: none;
	color: var(--mn-accent);
	font: inherit;
	font-size: 15px;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}

body:not(#mn-design) .mn-coupon-toggle:hover {
	background: none;
	color: var(--mn-accent-hover);
}

body:not(#mn-design) .elementor-widget-woocommerce-cart .coupon[hidden] {
	display: none;
}

/* Handy: Gesamtsumme und „Zur Kasse" fest unten, bis die Summen-Karte im Bild ist. */
.mn-cart-bar {
	display: none;
}

@media (max-width: 767px) {
	.mn-cart-bar {
		position: fixed;
		z-index: 90;
		right: 0;
		bottom: 0;
		left: 0;
		display: flex;
		align-items: center;
		gap: 16px;
		padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
		border-top: 1px solid var(--mn-border);
		background: rgba(255, 255, 255, 0.96);
		box-shadow: 0 -8px 24px rgba(var(--mn-accent-rgb, 40, 53, 131), 0.08);
		transform: translateY(110%);
		transition: transform 0.25s ease;
	}

	.mn-cart-bar.is-visible {
		transform: none;
	}

	.mn-cart-bar__sum {
		display: flex;
		flex-direction: column;
		color: var(--mn-text);
		line-height: 1.25;
	}

	.mn-cart-bar__label {
		color: var(--mn-muted);
		font-size: 12px;
	}

	.mn-cart-bar__amount {
		font-size: 17px;
		font-variant-numeric: tabular-nums;
		white-space: nowrap;
	}

	body:not(#mn-design) .mn-cart-bar__btn {
		flex: 1;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-block-size: 48px;
		border-radius: var(--mn-radius);
		background: var(--mn-accent);
		color: #fff;
		font-size: 16px;
		font-weight: 600;
		text-decoration: none;
	}

	body:not(#mn-design) .mn-cart-bar__btn:hover,
	body:not(#mn-design) .mn-cart-bar__btn:focus {
		background: var(--mn-accent-hover);
		color: #fff;
	}

	/* „Was ist neu" und Kontakt-Knöpfe weichen der Leiste aus. */
	body:not(#mn-design):has(.mn-cart-bar.is-visible) :is(.mn-neu-karte, .mn-neu-liste, .mn-neu-pille) {
		bottom: calc(88px + env(safe-area-inset-bottom));
	}

	body:has(.mn-cart-bar.is-visible) .e-contact-buttons {
		visibility: hidden;
		opacity: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mn-cart-bar {
		transition: none;
	}
}

/* --- Leerer Warenkorb und leere Kasse (includes/kasse.php) ------------ */

body:not(#mn-design) :is(.mn-empty, .wc-block-checkout-empty) {
	display: flex;
	flex-direction: column;
	align-items: center;
	box-sizing: border-box;
	margin: 0;
	padding: 56px 24px;
	border: 1px solid var(--mn-border);
	border-radius: 16px;
	background: #fff;
	text-align: center;
}

body:not(#mn-design) .mn-empty__icon,
body:not(#mn-design) .wc-block-checkout-empty .wc-block-checkout-empty__image {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	inline-size: 64px;
	block-size: 64px;
	margin: 0 0 20px;
	border-radius: 50%;
	background: var(--mn-tint);
	color: var(--mn-accent);
}

body:not(#mn-design) .wc-block-checkout-empty .wc-block-checkout-empty__image {
	padding: 18px;
	fill: var(--mn-accent);
}

body:not(#mn-design) :is(.mn-empty__title, .wc-block-checkout-empty__title) {
	display: block;
	margin: 0 0 8px;
	color: var(--mn-accent);
	font-family: "Bricolage Grotesque", sans-serif;
	font-size: 26px;
	font-weight: 600;
	line-height: 1.25;
}

body:not(#mn-design) :is(.mn-empty__text, .wc-block-checkout-empty__description) {
	max-inline-size: 440px;
	margin: 0 0 28px;
	color: var(--mn-muted);
	font-size: 15px;
	line-height: 1.55;
}

body:not(#mn-design) .mn-empty__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
}

body:not(#mn-design) .wc-block-checkout-empty .wp-block-button {
	display: block;
	margin: 0;
}

body:not(#mn-design) .mn-empty__btn,
body:not(#mn-design) .wc-block-checkout-empty .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-block-size: var(--mn-height);
	margin: 0;
	padding: 0 24px;
	border: 1px solid var(--mn-border);
	border-radius: var(--mn-radius);
	background: #fff;
	color: var(--mn-accent);
	font-size: 15px;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	transition: background-color 0.15s ease, border-color 0.15s ease;
}

body:not(#mn-design) .mn-empty__btn:hover {
	border-color: var(--mn-accent);
	background: var(--mn-tint);
	color: var(--mn-accent);
}

body:not(#mn-design) :is(.mn-empty__btn--primary, .wc-block-checkout-empty .wp-block-button__link) {
	border-color: var(--mn-accent);
	background: var(--mn-accent);
	color: #fff;
}

body:not(#mn-design) :is(.mn-empty__btn--primary, .wc-block-checkout-empty .wp-block-button__link):hover,
body:not(#mn-design) :is(.mn-empty__btn--primary, .wc-block-checkout-empty .wp-block-button__link):focus {
	border-color: var(--mn-accent-hover);
	background: var(--mn-accent-hover);
	color: #fff;
}

body:not(#mn-design) .mn-empty__btn:focus-visible,
body:not(#mn-design) .wc-block-checkout-empty .wp-block-button__link:focus-visible {
	outline: 2px solid var(--mn-accent);
	outline-offset: 2px;
}

/* Gerade geleert: „x Artikel entfernt. Rückgängig". */
body:not(#mn-design) .mn-empty__undo {
	margin: -12px 0 24px;
	padding: 8px 14px;
	border-radius: 999px;
	background: #f5fbff;
	color: var(--mn-text);
	font-size: 14px;
}

body:not(#mn-design) .mn-empty__undo a {
	color: var(--mn-accent);
	font-weight: 600;
}

/* Im ausklappbaren Warenkorb: ohne Rahmen, mittig im Panel, Buttons untereinander. */
body:not(#mn-design) .mn-empty.mn-empty--panel {
	margin: auto 0;
	padding: 32px 8px;
	border: 0;
	background: none;
}

body:not(#mn-design) .mn-empty--panel .mn-empty__title {
	font-size: 22px;
}

body:not(#mn-design) .mn-empty--panel .mn-empty__actions {
	flex-direction: column;
	align-self: stretch;
}

/* „Warenkorb leeren" unter den Positionen. Elementor blendet die Zeile aus, wenn
 * der Warenkorb sich selbst aktualisiert – sie bleibt, nur ohne den leeren
 * „Aktualisieren"-Button (Elementor setzt ihn mit !important sichtbar). */
body:not(#mn-design) .elementor-widget-woocommerce-cart .shop_table.cart tbody tr:has(> td.actions) {
	display: table-row;
}

body:not(#mn-design) .elementor-widget-woocommerce-cart .shop_table.cart .actions button[name="update_cart"] {
	display: none !important;
}

body:not(#mn-design) .elementor-widget-woocommerce-cart .shop_table.cart td.actions {
	display: table-cell;
	padding: 16px 0 0;
	text-align: end;
}

body:not(#mn-design) .mn-cart-clear {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 10px;
	border-radius: 8px;
	color: var(--mn-muted);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	transition: background-color 0.15s ease, color 0.15s ease;
}

body:not(#mn-design) .mn-cart-clear:hover,
body:not(#mn-design) .mn-cart-clear:focus-visible {
	background: rgba(179, 38, 30, 0.08);
	color: #b3261e;
}

/* Statt Hinweis und „Zurück zum Shop" die Karte; ohne Warenkorb keine Schritte. */
body:not(#mn-design) .mn-empty ~ .return-to-shop,
body:not(#mn-design):has(.wc-block-checkout-empty) .mn-steps {
	display: none;
}

@media (max-width: 767px) {
	body:not(#mn-design) :is(.mn-empty, .wc-block-checkout-empty) {
		padding: 40px 20px;
	}

	body:not(#mn-design) .mn-empty__actions {
		flex-direction: column;
		align-self: stretch;
	}
}

/* --- Neues in der Navigation: Zahl, „+Zahl" oder „Neu" (includes/nav-neu.php) */

body:not(#mn-design) .mn-nav-neu {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-inline-size: 18px;
	font-variant-numeric: tabular-nums;
	margin-inline-start: 6px;
	padding: 2px 6px;
	border-radius: 999px;
	background: #d6246e;
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	line-height: 1.3;
	vertical-align: 1px;
}

/* Katalog: Überschrift über dem Block neuer Artikel in Pink. */
body:not(#mn-design) .wcpt-table .wcpt-group--neu th {
	color: #d61f6b;
}

body:not(#mn-design) .wcpt-table .wcpt-group--rest th {
	color: var(--mn-muted);
}

/* Katalog: Merkmale der Ausführung in zwei Zeilen – oben der Faden, darunter
 * der Rest (Nadel) –, Kategorie im Tooltip (includes/variants.php,
 * mndesign_merkmale_zeilen_html). */
body:not(#mn-design) .wcpt .mn-merkmale {
	display: flex;
	flex-direction: column;
	margin-block-start: 2px;
	color: var(--mn-text);
	font-size: 13px;
	line-height: 1.35;
}

body:not(#mn-design) .wcpt .mn-merkmale__zeile {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 14px;
}

body:not(#mn-design) .wcpt .mn-merkmale__wert {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 5px;
	min-inline-size: 0;
}

body:not(#mn-design) .wcpt .mn-merkmale__wert.is-usp {
	font-weight: 600;
}

body:not(#mn-design) .wcpt .mn-merkmale .mn-variant__sep {
	margin-inline: 0;
}

body:not(#mn-design) .wcpt .mn-merkmale .mn-variant__needle-icon {
	flex: none;
	inline-size: 16px;
	block-size: 16px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	color: var(--mn-accent);
}

body:not(#mn-design) .wcpt .mn-merkmale .mn-variant__needle-icon circle {
	fill: currentColor;
	stroke: none;
}

body:not(#mn-design) .wcpt .mn-merkmale .mn-variants__dot {
	inline-size: 10px;
	block-size: 10px;
}

/* Unsichtbar und ohne Höhe: die frühere Textzeile („Merkmal: Wert, …"). Die
 * Tabelle verteilt die Spalten nach ihr wie bisher – sonst bekäme die
 * Bildspalte mehr Platz, das Bild wüchse mit und die Zeile würde höher. */
body:not(#mn-design) .wcpt .mn-merkmale__mass {
	display: block;
	block-size: 0;
	overflow: hidden;
	visibility: hidden;
	font-size: 0.85em;
}

/* ===================================================================== *
 * Kundenstimmen als Laufband (includes/kundenstimmen.php)
 * Kopf wie bei den Produkt-Rastern, Karten wie die Produktkarten: weiß,
 * feiner Rahmen, kleiner Radius. Läuft langsam, hält beim Überfahren an,
 * blendet an den Rändern weich aus. Bei „Bewegung reduzieren": wischen.
 * ===================================================================== */

/* Noch keine veröffentlichten Stimmen: Abschnitt ganz weg, keine leere Lücke. */
body:not(#mn-design) .mn-stimmen-abschnitt:not(:has(.mn-stimmen)) {
	display: none;
}

body:not(#mn-design) .mn-stimmen {
	--mn-stimmen-abstand: 20px;
	display: grid;
	gap: 20px;
}

body:not(#mn-design) .mn-stimmen__kopf {
	display: grid;
	gap: 4px;
}

body:not(#mn-design) .mn-stimmen__titel {
	margin: 0;
	color: var(--mn-text);
	font-family: inherit;
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.35;
}

body:not(#mn-design) .mn-stimmen__schnitt {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 10px;
	margin: 0;
	color: var(--mn-muted);
	font-size: 14px;
	line-height: 1.45;
}

body:not(#mn-design) .mn-stimmen__fenster {
	--mn-stimmen-rand: 64px;
	display: flex;
	gap: var(--mn-stimmen-abstand);
	overflow: hidden;
	/* Platz für den Schatten der Karten. */
	margin-block: -6px -10px;
	padding-block: 6px 10px;
	-webkit-mask-image: linear-gradient(to right, transparent, #000 var(--mn-stimmen-rand), #000 calc(100% - var(--mn-stimmen-rand)), transparent);
	mask-image: linear-gradient(to right, transparent, #000 var(--mn-stimmen-rand), #000 calc(100% - var(--mn-stimmen-rand)), transparent);
}

body:not(#mn-design) .mn-stimmen__band {
	display: flex;
	flex: none;
	gap: var(--mn-stimmen-abstand);
	margin: 0;
	padding: 0;
	list-style: none;
	animation: mn-laufband var(--mn-stimmen-dauer, 60s) linear infinite;
}

body:not(#mn-design) .mn-stimmen__fenster:is(:hover, :focus-within) .mn-stimmen__band {
	animation-play-state: paused;
}

@keyframes mn-laufband {
	to {
		transform: translateX(calc(-100% - var(--mn-stimmen-abstand)));
	}
}

body:not(#mn-design) .mn-stimme {
	flex: none;
	inline-size: 320px;
	margin: 0;
}

body:not(#mn-design) .mn-stimme figure {
	display: flex;
	flex-direction: column;
	gap: 12px;
	box-sizing: border-box;
	block-size: 100%;
	margin: 0;
	padding: 18px 20px;
	border: 1px solid #e9eaf0;
	border-radius: 6px;
	background: #fff
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23283583' opacity='.07' d='M4 18v-5.4C4 8.8 6 6.3 10 5l.8 1.6C8.6 7.5 7.5 9 7.4 11H10v7zm9.6 0v-5.4c0-3.8 2-6.3 6-7.6l.8 1.6c-2.2.9-3.3 2.4-3.4 4.4h2.6v7z'/%3E%3C/svg%3E")
		right 14px top 12px / 40px no-repeat;
	box-shadow: 0 1px 3px rgba(20, 24, 50, 0.06);
}

body:not(#mn-design) .mn-stimme__sterne {
	display: inline-flex;
	gap: 2px;
}

body:not(#mn-design) .mn-stimme__sterne svg {
	display: block;
	inline-size: 15px;
	block-size: 15px;
}

body:not(#mn-design) .mn-stimme__sterne .is-voll {
	fill: #f0b429;
}

body:not(#mn-design) .mn-stimme__sterne .is-leer {
	fill: #e3e5ee;
}

body:not(#mn-design) .mn-stimme blockquote {
	flex: 1;
	margin: 0;
	padding: 0;
	border: 0;
}

body:not(#mn-design) .mn-stimme blockquote p {
	margin: 0;
	color: var(--mn-text);
	font-size: 15px;
	font-style: normal;
	line-height: 1.55;
}

/* „Bestellt: …" – die Produkte der bewerteten Bestellung. */
body:not(#mn-design) .mn-stimme__produkte {
	margin: 0;
	color: var(--mn-muted);
	font-size: 13px;
	line-height: 1.45;
}

body:not(#mn-design) .mn-stimme__produkte a {
	color: var(--mn-accent);
	text-decoration: none;
}

body:not(#mn-design) .mn-stimme__produkte a:hover {
	text-decoration: underline;
	text-underline-offset: 2px;
}

body:not(#mn-design) .mn-stimme figcaption {
	display: flex;
	align-items: center;
	gap: 10px;
	padding-top: 12px;
	border-top: 1px solid #eef0f5;
	font-size: 13px;
	font-style: normal;
	line-height: 1.35;
}

body:not(#mn-design) .mn-stimme figcaption > span:last-child {
	display: grid;
	min-inline-size: 0;
}

body:not(#mn-design) .mn-stimme figcaption strong {
	color: var(--mn-text);
	font-weight: 600;
}

body:not(#mn-design) .mn-stimme figcaption strong + span {
	overflow: hidden;
	color: var(--mn-muted);
	text-overflow: ellipsis;
	white-space: nowrap;
}

body:not(#mn-design) .mn-stimme__initialen {
	display: grid;
	flex: none;
	place-items: center;
	inline-size: 34px;
	block-size: 34px;
	border-radius: 50%;
	background: var(--mn-tint);
	color: var(--mn-accent);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.02em;
}

@media (max-width: 767px) {
	body:not(#mn-design) .mn-stimmen__fenster {
		--mn-stimmen-rand: 20px;
	}

	body:not(#mn-design) .mn-stimme {
		inline-size: 270px;
	}

	body:not(#mn-design) .mn-stimme blockquote p {
		font-size: 14px;
	}
}

/* Kundenkonto „Ihre Bewertung" (includes/kundenstimme-konto.php). */
body:not(#mn-design) .mn-bewertung {
	display: grid;
	gap: 20px;
	max-inline-size: 720px;
}

body:not(#mn-design) .mn-bewertung__intro {
	margin: 0;
	color: var(--mn-muted);
	font-size: 15px;
	line-height: 1.55;
}

body:not(#mn-design) :is(.mn-bewertung__hinweis, .mn-bewertung__klein) {
	margin: 0;
	color: var(--mn-muted);
	font-size: 13px;
	line-height: 1.45;
}

body:not(#mn-design) .mn-bewertung__klein {
	display: block;
	margin-top: 4px;
}

/* Liste: allgemeine Bewertung, dann je Bestellung ein Eintrag. */
body:not(#mn-design) .mn-bewertung__eintrag {
	display: grid;
	gap: 10px;
}

body:not(#mn-design) .mn-bewertung__titel {
	margin: 0;
	color: var(--mn-text);
	font-family: inherit;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.35;
}

body:not(#mn-design) .mn-bewertung__gruppe {
	margin: 12px 0 0;
	padding-top: 18px;
	border-top: 1px solid rgba(var(--mn-accent-rgb, 40, 53, 131), 0.1);
	color: var(--mn-muted);
	font-family: inherit;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
}

body:not(#mn-design) .mn-bewertung__offen {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px 20px;
	padding: 14px 18px;
	border: 1px dashed #d8dbe6;
	border-radius: 6px;
	background: #fbfcff;
}

body:not(#mn-design) .mn-bewertung__bestellung {
	display: grid;
	gap: 2px;
	margin-bottom: 12px;
	padding: 12px 16px;
	border-radius: 6px;
	background: var(--mn-tint);
	color: var(--mn-text);
	font-size: 14px;
}

body:not(#mn-design) .mn-bewertung__karte {
	display: grid;
	gap: 12px;
	padding: 20px 22px;
	border: 1px solid #e9eaf0;
	border-radius: 6px;
	background: #fff;
	box-shadow: 0 1px 3px rgba(20, 24, 50, 0.06);
}

body:not(#mn-design) .mn-bewertung__kopf {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 12px;
}

body:not(#mn-design) .mn-bewertung__status {
	padding: 4px 10px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.3;
}

body:not(#mn-design) .mn-bewertung__status.is-live {
	background: #e8f5ee;
	color: #1f7a4d;
}

body:not(#mn-design) .mn-bewertung__status.is-wartet {
	background: #fff4e0;
	color: #8a5a00;
}

body:not(#mn-design) .mn-bewertung__status.is-aus {
	background: #f1f2f8;
	color: var(--mn-muted);
}

body:not(#mn-design) .mn-bewertung__karte blockquote {
	margin: 0;
	padding: 0;
	border: 0;
}

body:not(#mn-design) .mn-bewertung__karte blockquote p {
	margin: 0;
	color: var(--mn-text);
	font-size: 16px;
	font-style: normal;
	line-height: 1.55;
}

body:not(#mn-design) .mn-bewertung__wer {
	margin: 0;
	color: var(--mn-muted);
	font-size: 14px;
}

body:not(#mn-design) .mn-bewertung__wer strong {
	color: var(--mn-text);
	font-weight: 600;
}

body:not(#mn-design) .mn-bewertung__aktionen {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 20px;
	margin: 4px 0 0;
}

body:not(#mn-design) .mn-bewertung__aktionen form {
	margin: 0;
}

body:not(#mn-design) .mn-bewertung__weg {
	padding: 0;
	border: 0;
	background: none;
	color: #b3261e;
	font: inherit;
	font-size: 14px;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}

body:not(#mn-design) .mn-bewertung__weg:hover {
	background: none;
	color: #8c1d17;
}

body:not(#mn-design) .mn-bewertung__form {
	display: grid;
	gap: 4px;
}

body:not(#mn-design) .mn-bewertung__sterne {
	margin: 0 0 12px;
	padding: 0;
	border: 0;
}

body:not(#mn-design) .mn-bewertung__sterne legend {
	margin-bottom: 8px;
	padding: 0;
	color: var(--mn-text);
	font-size: 15px;
	font-weight: 600;
}

/* Sterne wählen: Radio-Gruppe 5…1, rückwärts angezeigt, damit „bis hier" färbt. */
body:not(#mn-design) .mn-sterne-wahl {
	display: inline-flex;
	flex-direction: row-reverse;
	gap: 4px;
}

body:not(#mn-design) .mn-sterne-wahl input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

body:not(#mn-design) .mn-sterne-wahl label {
	display: grid;
	place-items: center;
	inline-size: 40px;
	block-size: 40px;
	margin: 0;
	border-radius: 8px;
	cursor: pointer;
	transition: transform 0.12s ease;
}

body:not(#mn-design) .mn-sterne-wahl svg {
	inline-size: 30px;
	block-size: 30px;
	fill: #e3e5ee;
	transition: fill 0.12s ease;
}

body:not(#mn-design) .mn-sterne-wahl input:checked ~ label svg,
body:not(#mn-design) .mn-sterne-wahl label:hover svg,
body:not(#mn-design) .mn-sterne-wahl label:hover ~ label svg {
	fill: #f0b429;
}

body:not(#mn-design) .mn-sterne-wahl:hover input:checked ~ label:not(:hover):not(:hover ~ label) svg {
	fill: #e3e5ee;
}

body:not(#mn-design) .mn-sterne-wahl label:hover {
	transform: scale(1.08);
}

body:not(#mn-design) .mn-sterne-wahl input:focus-visible + label {
	outline: 2px solid var(--mn-accent);
	outline-offset: 2px;
}

body:not(#mn-design) .mn-bewertung__ok label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 14px;
	line-height: 1.5;
}

/* Einladung in der Kontoübersicht. */
body:not(#mn-design) .mn-dash__bewerten {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 24px;
	padding: 18px 22px;
	border: 1px solid #e9eaf0;
	border-radius: 12px;
	background: #fff;
}

body:not(#mn-design) .mn-dash__bewerten .mn-dash__text {
	margin: 4px 0 0;
}

/* Ohne Bewegung: ein Band zum Wischen, ohne Kopien und ohne Ausblenden. */
@media (prefers-reduced-motion: reduce) {
	body:not(#mn-design) .mn-stimmen__fenster {
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-mask-image: none;
		mask-image: none;
	}

	body:not(#mn-design) .mn-stimmen__band {
		animation: none;
	}

	body:not(#mn-design) .mn-stimmen__band--kopie,
	body:not(#mn-design) .mn-stimmen__band .mn-stimme[aria-hidden] {
		display: none;
	}

	body:not(#mn-design) .mn-stimme {
		scroll-snap-align: start;
	}
}

/* Neue Artikel im Katalog und auf der Produktseite: zart pink abgesetzt. */
body:not(#mn-design) tr.wcpt-row:is(.is-neu, .wcpt-row--neu) > td {
	background: #fff4f8;
}

body:not(#mn-design) tr.wcpt-row:is(.is-neu, .wcpt-row--neu) > td:first-child {
	box-shadow: inset 3px 0 0 #f8438c;
}

body:not(#mn-design) form.mn-variant.is-neu {
	background: #fff4f8;
	box-shadow: inset 3px 0 0 #f8438c;
}

/* Handy: Punkt am Menü-Knopf, solange darin etwas neu ist. */
body:not(#mn-design) .mn-nav .mn-nav-burger.has-neu {
	position: relative;
}

body:not(#mn-design) .mn-nav .mn-nav-burger.has-neu::after {
	content: "";
	position: absolute;
	top: 8px;
	right: 8px;
	inline-size: 10px;
	block-size: 10px;
	border: 2px solid #fff;
	border-radius: 50%;
	background: #d6246e;
}

/* --- Header: Warenkorb- und Menü-Button ------------------------------- */

/*
 * Beim Überfahren nur etwas dunkler im selben Lila – wie die Menüpunkte, die
 * im eigenen Ton bleiben. Vorher sprang die globale Button-Farbe auf Dunkelblau.
 */
body:not(#mn-design) .elementor-menu-cart__toggle_button,
body:not(#mn-design) .mn-nav .mn-nav-burger {
	border-radius: 12px; /* wie Warenkorb, Kontoknopf und Menüpunkte */
	transition: background-color 0.15s ease, color 0.15s ease;
}

body:not(#mn-design) .elementor-menu-cart__toggle_button:hover,
body:not(#mn-design) .elementor-menu-cart__toggle_button:focus-visible,
body:not(#mn-design) .mn-nav .mn-nav-burger:hover {
	background-color: #57478a;
	color: #fff;
}

body:not(#mn-design) .elementor-menu-cart__toggle_button:hover .elementor-button-icon,
body:not(#mn-design) .elementor-menu-cart__toggle_button:hover svg {
	color: #fff;
	fill: currentColor;
}

/*
 * Warenkorb-Button: Linien-Symbol wie im leeren Warenkorb, Anzahl als weißes
 * Schild am Symbol, daneben die Zwischensumme (nur wenn etwas drin ist, am Handy
 * nie). Leer ist er ein quadratischer Knopf. Beim Hinzufügen hüpft das Schild
 * (assets/js/warenkorb-knopf.js).
 */
body:not(#mn-design) .elementor-menu-cart__toggle .elementor-menu-cart__toggle_button {
	--mn-wk-bg: #68569b;
	display: inline-flex;
	flex-direction: row-reverse; /* Symbol links, Summe rechts */
	align-items: center;
	gap: 12px;
	box-sizing: border-box;
	min-inline-size: 48px;
	block-size: 48px; /* wie Kontoknopf und Menüpunkte (mednaht-navigation) */
	padding: 0 18px 0 16px;
	border: 0;
	border-radius: 12px;
	background: var(--mn-wk-bg);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16), 0 8px 18px -10px rgba(77, 55, 138, 0.7);
	color: #fff;
	transition: background-color 0.15s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

body:not(#mn-design) .elementor-menu-cart__toggle .elementor-menu-cart__toggle_button:hover,
body:not(#mn-design) .elementor-menu-cart__toggle .elementor-menu-cart__toggle_button:focus-visible {
	--mn-wk-bg: #57478a;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16), 0 12px 22px -12px rgba(77, 55, 138, 0.8);
	transform: translateY(-1px);
}

body:not(#mn-design) .elementor-menu-cart__toggle .elementor-menu-cart__toggle_button:focus-visible {
	outline: 2px solid var(--mn-secondary, #1f99cf);
	outline-offset: 3px;
}

body:not(#mn-design) .elementor-menu-cart__toggle .elementor-menu-cart__toggle_button:active {
	transform: translateY(0) scale(0.98);
}

/* Leer: nur das Symbol, quadratisch. */
body:not(#mn-design) .elementor-menu-cart__toggle .elementor-menu-cart__toggle_button:has(.elementor-button-icon-qty[data-counter="0"]) {
	padding: 0;
	justify-content: center;
}

/* Zwischensumme (in Elementor ausgeschaltet, hier gezielt eingeblendet). */
body:not(#mn-design) .elementor-menu-cart__toggle .elementor-menu-cart__toggle_button .elementor-button-text {
	display: inline-block;
	margin: 0;
	color: #fff;
	font-family: Inter, sans-serif;
	font-size: 15px;
	font-weight: 600;
	line-height: 1;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

body:not(#mn-design) .elementor-menu-cart__toggle .elementor-menu-cart__toggle_button:has(.elementor-button-icon-qty[data-counter="0"]) .elementor-button-text {
	display: none;
}

/* Symbol: eigenes Linien-Symbol statt des Elementor-Icons. */
body:not(#mn-design) .elementor-menu-cart__toggle .elementor-button-icon {
	position: relative;
	display: block;
	inline-size: 24px;
	block-size: 24px;
	margin: 0;
	color: #fff;
}

body:not(#mn-design) .elementor-menu-cart__toggle .elementor-button-icon > svg {
	display: none;
}

body:not(#mn-design) .elementor-menu-cart__toggle .elementor-button-icon::before {
	content: "";
	position: absolute;
	inset: 0;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1.3'/%3E%3Ccircle cx='18' cy='20' r='1.3'/%3E%3Cpath d='M2.5 3.5h2.6l2.4 11.2a1.6 1.6 0 0 0 1.6 1.3h8.6a1.6 1.6 0 0 0 1.6-1.2l1.7-7.3H6'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1.3'/%3E%3Ccircle cx='18' cy='20' r='1.3'/%3E%3Cpath d='M2.5 3.5h2.6l2.4 11.2a1.6 1.6 0 0 0 1.6 1.3h8.6a1.6 1.6 0 0 0 1.6-1.2l1.7-7.3H6'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Anzahl: weißes Schild oben rechts am Symbol, mit Ring in Button-Farbe. */
body:not(#mn-design) .elementor-menu-cart__toggle .elementor-button-icon-qty[data-counter] {
	position: absolute;
	inset: -11px -15px auto auto;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-inline-size: 20px;
	block-size: 20px;
	padding: 0 5px;
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 0 0 2px var(--mn-wk-bg);
	color: #4d378a;
	font-family: Inter, sans-serif;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	font-variant-numeric: tabular-nums;
	transition: box-shadow 0.15s ease;
}

body:not(#mn-design) .elementor-menu-cart__toggle .elementor-button-icon-qty[data-counter="0"] {
	display: none;
}

@media (max-width: 767px) {
	body:not(#mn-design) .elementor-menu-cart__toggle .elementor-menu-cart__toggle_button {
		padding: 0;
		justify-content: center;
	}

	body:not(#mn-design) .elementor-menu-cart__toggle .elementor-menu-cart__toggle_button .elementor-button-text {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	body:not(#mn-design) .elementor-menu-cart__toggle .elementor-menu-cart__toggle_button {
		transition: none;
	}

	body:not(#mn-design) .elementor-menu-cart__toggle .elementor-menu-cart__toggle_button:hover {
		transform: none;
	}
}

/* --- Kasse: nur eine Versand- bzw. Zahlungsart als Info statt Auswahl - */

body:not(#mn-design) .wc-block-checkout__main .wc-block-components-radio-control > .wc-block-components-radio-control__option:only-child,
body:not(#mn-design) .wc-block-checkout__main .wc-block-components-radio-control-accordion-option:only-child .wc-block-components-radio-control__option {
	padding-inline-start: 16px;
}

body:not(#mn-design) .wc-block-checkout__main .wc-block-components-radio-control > .wc-block-components-radio-control__option:only-child .wc-block-components-radio-control__input,
body:not(#mn-design) .wc-block-checkout__main .wc-block-components-radio-control-accordion-option:only-child .wc-block-components-radio-control__input {
	display: none;
}

/* Hinweis unter „Überweisung". */
body:not(#mn-design) .wc-block-checkout__main .wc-block-components-radio-control-accordion-content {
	padding-inline-start: 16px;
	color: var(--mn-muted);
	font-size: 14px;
	line-height: 1.5;
}

/* --- Bestätigung: Adresse der Bestellbestätigung ---------------------- */

body:not(#mn-design) .mn-thanks-mail {
	display: block;
	margin-block-start: 4px;
	color: var(--mn-muted);
	font-size: 15px;
	font-weight: 400;
}

body:not(#mn-design) .mn-thanks-mail strong {
	color: var(--mn-text);
	font-weight: 600;
	overflow-wrap: anywhere;
}

/* ===================================================================== *
 * Seite „Bestellung eingegangen" (und Bestellansicht im Konto)
 * ===================================================================== */

body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

/* Überschriften der Abschnitte wie auf den übrigen Shop-Seiten. */
body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) :is(h2, .woocommerce-column__title, .woocommerce-order-details__title, .wc-bacs-bank-details-heading) {
	margin: 0 0 16px;
	color: var(--mn-accent);
	font-family: "Bricolage Grotesque", sans-serif;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.3;
}

/* Danke-Meldung: Karte mit Haken. */
body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .woocommerce-thankyou-order-received {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 0;
	padding: 20px 24px;
	border: 1px solid var(--mn-border);
	border-radius: 16px;
	background: #f5fbff;
	color: var(--mn-accent);
	font-size: 18px;
	font-weight: 600;
	line-height: 1.4;
}

body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .woocommerce-thankyou-order-received::before {
	content: "";
	flex: none;
	inline-size: 40px;
	block-size: 40px;
	border-radius: 50%;
	background: var(--mn-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center / 20px no-repeat;
}

/* Bestelldaten und Bankverbindung als Kacheln. */
body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) ul.order_details {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) ul.order_details::before,
body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) ul.order_details::after {
	content: none;
	display: none;
}

body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) ul.order_details li {
	display: flex;
	flex-direction: column;
	gap: 4px;
	float: none;
	margin: 0;
	padding: 16px 20px;
	border: 1px solid var(--mn-border);
	border-radius: 12px;
	background: #fff;
	color: #666c96;
	font-size: 13px;
	line-height: 1.3;
	text-transform: none;
}

body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) ul.order_details li strong {
	color: var(--mn-text);
	font-size: 16px;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	line-height: 1.35;
	overflow-wrap: anywhere;
	text-transform: none;
}

body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) ul.order_details li.total strong {
	color: var(--mn-accent);
}

/* Umfrage nach dem Kauf (assets/js/posthog.js): Karte wie die Bestelldetails, Antworten als Pillen wie beim Testpaket. */
body:not(#mn-design) .mn-umfrage__gruppe {
	display: grid;
	gap: 12px;
	min-inline-size: 0;
	margin: 0;
	padding: 0;
	border: 0;
}

body:not(#mn-design) .mn-umfrage__frage {
	margin: 0 0 4px;
	padding: 0;
	color: var(--mn-text);
	font-size: 15px;
	line-height: 1.5;
}

body:not(#mn-design) .mn-umfrage .mn-umfrage__wahl span {
	padding-inline: 16px;
	font-variant-numeric: normal;
}

body:not(#mn-design) .mn-umfrage__freitext {
	box-sizing: border-box;
	inline-size: 100%;
	padding: 10px 14px;
	border: 1px solid var(--mn-border);
	border-radius: var(--mn-radius);
	font: inherit;
	font-size: 14px;
}

body:not(#mn-design) .mn-umfrage__freitext[hidden],
body:not(#mn-design) .mn-umfrage__fehler:empty {
	display: none;
}

body:not(#mn-design) .mn-umfrage__fehler {
	margin: 12px 0 0;
	color: #b3261e;
	font-size: 14px;
}

body:not(#mn-design) .mn-umfrage__aktionen {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px;
	margin-top: 20px;
}

body:not(#mn-design) .mn-umfrage__schliessen {
	padding: 0;
	border: 0;
	background: none;
	color: var(--mn-muted);
	font: inherit;
	font-size: 14px;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}

body:not(#mn-design) .mn-umfrage__schliessen:hover {
	color: var(--mn-accent);
}

body:not(#mn-design) .mn-umfrage__dank {
	margin: 0;
	color: var(--mn-text);
	font-size: 15px;
	outline: none;
}

/* Karten für Bank, Bestelldetails und Adressen. */
body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) :is(.woocommerce-bacs-bank-details, .woocommerce-order-details, .woocommerce-customer-details, .mn-umfrage) {
	margin: 0;
	padding: 24px;
	border: 1px solid var(--mn-border);
	border-radius: 16px;
	background: #fff;
}

body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .wc-bacs-bank-details-account-name {
	margin: 0 0 12px;
	color: var(--mn-text);
	font-family: inherit;
	font-size: 15px;
	font-weight: 600;
}

/* Bestelldetails: ruhige Tabelle mit Trennlinien statt Gitter. */
body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .woocommerce-table--order-details {
	margin: 0;
	border: 0;
	border-collapse: collapse;
	border-radius: 0;
}

body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .woocommerce-table--order-details :is(th, td) {
	padding: 12px 0;
	border: 0;
	border-bottom: 1px solid rgba(var(--mn-accent-rgb, 40, 53, 131), 0.09);
	background: none;
	color: var(--mn-text);
	font-size: 15px;
	font-weight: 400;
	font-variant-numeric: tabular-nums;
	text-align: start;
}

body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .woocommerce-table--order-details :is(th, td):last-child {
	text-align: end;
}

body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .woocommerce-table--order-details thead th {
	padding-top: 0;
	color: #666c96;
	font-size: 13px;
	font-weight: 600;
}

/* Produktbild links, Name, Menge und Merkmale rechts daneben. Die Zelle bleibt
   eine Tabellenzelle (sonst verrutschen die Trennlinien), das Bild sitzt absolut. */
body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .woocommerce-table--order-details td.product-name {
	position: relative;
	block-size: 88px; /* wirkt in Tabellenzellen wie eine Mindesthöhe */
	padding-inline-start: 80px;
	vertical-align: middle;
}

body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .woocommerce-table--order-details .mn-order-item-thumb {
	position: absolute;
	top: 50%;
	left: 0;
	display: block;
	line-height: 0;
	transform: translateY(-50%);
}

body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .woocommerce-table--order-details .mn-order-item-thumb img {
	box-sizing: border-box;
	inline-size: 64px;
	max-inline-size: none;
	block-size: 64px;
	margin: 0;
	border: 1px solid var(--mn-border);
	border-radius: 12px;
	background: #fff;
	box-shadow: none;
	object-fit: contain;
}

@media (max-width: 767px) {
	body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .woocommerce-table--order-details td.product-name {
		block-size: 72px;
		padding-inline-start: 64px;
	}

	body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .woocommerce-table--order-details .mn-order-item-thumb img {
		inline-size: 52px;
		block-size: 52px;
		border-radius: 10px;
	}

	/* Spaltenkopf „Gesamtsumme" nicht breiter als die Beträge. */
	body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .woocommerce-table--order-details :is(th, td).product-total {
		inline-size: 1%;
		white-space: nowrap;
	}
}

body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .woocommerce-table--order-details td.product-total {
	vertical-align: middle;
}

body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .woocommerce-table--order-details .product-name a:not(.mn-order-item-thumb) {
	color: var(--mn-accent);
	font-weight: 600;
	text-decoration: none;
}

body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .woocommerce-table--order-details .product-name a:hover {
	text-decoration: underline;
}

body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .woocommerce-table--order-details .product-quantity {
	color: var(--mn-muted);
	font-weight: 500;
}

body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .woocommerce-table--order-details .mn-order-item-sku {
	display: block;
	margin-top: 4px;
	color: var(--mn-muted);
	font-size: 13px;
}

body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .woocommerce-table--order-details .mn-order-item-sku strong {
	color: var(--mn-text);
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .woocommerce-table--order-details .wc-item-meta {
	margin: 4px 0 0;
	padding: 0;
	color: var(--mn-muted);
	font-size: 13px;
	list-style: none;
}

body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .woocommerce-table--order-details .wc-item-meta :is(li, p, strong) {
	display: inline;
	float: none;
	clear: none;
	margin: 0;
	font-weight: 400;
}

/* WooCommerce lässt die Bezeichnungen floaten – hier fließen sie als „Färbung: Violett · …". */
body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .woocommerce-table--order-details .wc-item-meta li + li::before {
	content: " · ";
}

body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .woocommerce-table--order-details tfoot th {
	color: var(--mn-muted);
}

body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .woocommerce-table--order-details tfoot tr:last-child :is(th, td) {
	border-bottom: 0;
}

body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .woocommerce-table--order-details tfoot tr:nth-last-child(2) :is(th, td) {
	color: var(--mn-accent);
	font-size: 17px;
	font-weight: 700;
}

body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .woocommerce-table--order-details .shipped_via {
	color: #666c96;
	font-size: 13px;
}

/* Adressen nebeneinander, ohne eigene Rahmen in der Karte. */
body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .woocommerce-customer-details .woocommerce-columns--addresses {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 24px;
	margin: 0;
}

body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .woocommerce-customer-details .woocommerce-columns--addresses::before,
body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .woocommerce-customer-details .woocommerce-columns--addresses::after {
	content: none;
	display: none;
}

body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .woocommerce-customer-details .woocommerce-column {
	float: none;
	inline-size: auto;
	max-inline-size: none;
	margin: 0;
	padding: 0;
}

body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .woocommerce-customer-details address {
	margin: 0;
	padding: 0;
	border: 0;
	color: var(--mn-text);
	font-size: 15px;
	font-style: normal;
	line-height: 1.6;
}

body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .woocommerce-customer-details .woocommerce-column__title {
	font-size: 17px;
}

@media (max-width: 767px) {
	body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) :is(.woocommerce-bacs-bank-details, .woocommerce-order-details, .woocommerce-customer-details, .mn-umfrage) {
		padding: 20px 16px;
	}

	body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .woocommerce-thankyou-order-received {
		padding: 16px;
		font-size: 16px;
	}

	body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) ul.order_details {
		grid-template-columns: 1fr 1fr;
	}

	/* Lange Werte nicht mitten im Wort umbrechen. */
	body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) ul.order_details :is(li.email, li.iban, li.method) {
		grid-column: 1 / -1;
	}
}

/* --- Kopieren per Klick (Bankdaten, Betrag, Bestellnummer) ------------ */

body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .mn-copy-tip {
	margin: -8px 0 16px;
	color: #666c96;
	font-size: 13px;
}

body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .mn-copy {
	position: relative;
	padding-inline-end: 44px;
	cursor: pointer;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

/* Wie die Eingabefelder: Überfahren nur der helle Schein. */
body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .mn-copy:hover {
	border-color: rgba(var(--mn-accent-rgb, 40, 53, 131), 0.35);
	box-shadow: var(--mn-ring);
}

body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .mn-copy:focus-visible {
	outline: 2px solid var(--mn-accent);
	outline-offset: 2px;
}

body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .mn-copy.is-copied {
	border-color: var(--mn-accent);
	background: #f5fbff;
}

body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .mn-copy-state {
	position: absolute;
	top: 14px;
	right: 14px;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	color: #666c96;
	font-size: 12px;
	font-weight: 600;
	line-height: 1;
	transition: color 0.2s ease;
}

body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .mn-copy:hover .mn-copy-state,
body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .mn-copy.is-copied .mn-copy-state {
	color: var(--mn-accent);
}

body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .mn-copy-icon {
	inline-size: 18px;
	block-size: 18px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* „Kopiert" steht links neben dem Symbol, nur kurz sichtbar. */
body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .mn-copy-state .mn-copy-text:empty {
	display: none;
}

body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .mn-copy-state:has(.mn-copy-text:not(:empty)) {
	flex-direction: row-reverse;
}

/* Kontoinhaber als kopierbare Zeile wie die Kacheln. */
body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .wc-bacs-bank-details-account-name.mn-copy {
	display: flex;
	flex-direction: column;
	gap: 4px;
	box-sizing: border-box;
	margin: 0 0 12px;
	padding: 16px 44px 16px 20px;
	border: 1px solid var(--mn-border);
	border-radius: 12px;
	background: #fff;
	color: #666c96;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.3;
}

body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .wc-bacs-bank-details-account-name.mn-copy strong {
	color: var(--mn-text);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.35;
}

@media (prefers-reduced-motion: reduce) {
	body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .mn-copy,
	body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .mn-copy-state {
		transition: none;
	}
}

/* Bankverbindung: Kacheln breit genug für eine IBAN in einer Zeile. */
body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) ul.bacs_details {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}

body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) ul.bacs_details li :is(strong) {
	overflow-wrap: normal;
}

body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) ul.bacs_details li.iban strong {
	white-space: nowrap;
}

/* Bank über die volle Breite, IBAN und BIC (ggf. Kontonummer) darunter
   nebeneinander – so ist die Spalte etwa so hoch wie der GiroCode. */
body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) ul.bacs_details {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) ul.bacs_details li.bank_name {
	grid-column: 1 / -1;
}

/* Mit Kontonummer passt die IBAN nicht in ein Drittel der Spalte neben dem
   GiroCode und lief in die Nachbarkachel. Dann: Bank, IBAN je über die volle
   Breite, Kontonummer und BIC darunter nebeneinander. */
body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) ul.bacs_details:has(li.account_number) li.iban {
	grid-column: 1 / -1;
	grid-row: 2;
}

@media (max-width: 767px) {
	body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) ul.bacs_details {
		grid-template-columns: 1fr;
	}
}

/* --- GiroCode neben der Bankverbindung -------------------------------- */

body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .woocommerce-bacs-bank-details.has-girocode {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 232px;
	column-gap: 24px;
	align-items: start;
}

body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .woocommerce-bacs-bank-details.has-girocode > * {
	grid-column: 1;
}

body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .woocommerce-bacs-bank-details.has-girocode > .mn-girocode {
	grid-column: 2;
	grid-row: 1 / span 10;
}

body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .mn-girocode {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	padding: 16px;
	border: 1px solid var(--mn-border);
	border-radius: 12px;
	background: #fff;
	text-align: center;
}

body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .mn-girocode[hidden] {
	display: none;
}

/* Weißer Rand um den Code: Banking-Apps brauchen eine ruhige Zone. */
body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .mn-girocode-code {
	box-sizing: border-box;
	inline-size: 200px;
	padding: 10px;
	background: #fff;
	line-height: 0;
}

body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .mn-girocode-code svg {
	display: block;
	inline-size: 100%;
	block-size: auto;
	shape-rendering: crispEdges;
}

body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .mn-girocode-info {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .mn-girocode-title {
	margin: 4px 0 0;
	color: var(--mn-accent);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
}

body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .mn-girocode-text {
	margin: 0;
	color: #666c96;
	font-size: 12px;
	line-height: 1.4;
}

@media (max-width: 1024px) {
	body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .woocommerce-bacs-bank-details.has-girocode {
		grid-template-columns: minmax(0, 1fr);
	}

	body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .woocommerce-bacs-bank-details.has-girocode > .mn-girocode {
		grid-column: 1;
		grid-row: auto;
		margin-top: 12px;
		flex-direction: row;
		align-items: center;
		text-align: start;
		gap: 16px;
	}

	body:not(#mn-design) :is(.woocommerce-order, .woocommerce-MyAccount-content) .mn-girocode-code {
		flex: none;
		inline-size: 132px;
		padding: 6px;
	}
}

/* ===================================================================== *
 * Anmelden, Passwort vergessen, Hinweise
 * ===================================================================== */

/* --- Hinweise (Info, Erfolg, Fehler) als Karte mit Symbol ------------- */

body:not(#mn-design) :is(.woocommerce-info, .woocommerce-message, .woocommerce-error):not(.wc-block-components-notice-banner) {
	position: relative;
	display: block;
	box-sizing: border-box;
	margin: 0 0 24px;
	padding: 16px 20px 16px 56px;
	border: 1px solid var(--mn-border);
	border-radius: 12px;
	background: #f5fbff;
	box-shadow: none;
	color: var(--mn-text);
	font-size: 15px;
	line-height: 1.5;
	list-style: none;
}

body:not(#mn-design) :is(.woocommerce-info, .woocommerce-message, .woocommerce-error):not(.wc-block-components-notice-banner)::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 18px;
	inline-size: 24px;
	block-size: 24px;
	margin: 0;
	border-radius: 50%;
	background: var(--mn-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M12 11v6M12 7.5h.01'/%3E%3C/svg%3E") center / 16px no-repeat;
	font-family: inherit;
	transform: translateY(-50%);
}

body:not(#mn-design) .woocommerce-message:not(.wc-block-components-notice-banner)::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 12.5l3.5 3.5 7.5-8'/%3E%3C/svg%3E");
}

body:not(#mn-design) .woocommerce-error:not(.wc-block-components-notice-banner) {
	border-color: rgba(179, 38, 30, 0.3);
	background: #fdf5f4;
}

body:not(#mn-design) .woocommerce-error:not(.wc-block-components-notice-banner)::before {
	top: 18px;
	background-color: #b3261e;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M12 7v6M12 16.5h.01'/%3E%3C/svg%3E");
	transform: none;
}

body:not(#mn-design) :is(.woocommerce-info, .woocommerce-message, .woocommerce-error) a:not(.button) {
	color: var(--mn-accent);
	font-weight: 600;
	text-decoration: underline;
}

/* Button in einem Hinweis (z. B. „Warenkorb ansehen") rechts, nicht schwebend. */
body:not(#mn-design) :is(.woocommerce-info, .woocommerce-message, .woocommerce-error) .button {
	float: right;
	display: inline-flex;
	align-items: center;
	min-block-size: 36px;
	margin: -6px 0 -6px 16px;
	padding: 0 16px;
	border: 0;
	border-radius: 999px;
	background: var(--mn-accent);
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	transition: background-color 0.2s ease;
}

body:not(#mn-design) :is(.woocommerce-info, .woocommerce-message, .woocommerce-error) .button:is(:hover, :focus-visible) {
	background: var(--mn-accent-hover);
	color: #fff;
}

/* WooCommerce setzt den Fokus auf den Hinweis, damit Screenreader ihn vorlesen.
 * Der Kasten ist nicht bedienbar, also kein Fokusring. */
body:not(#mn-design) :is(.woocommerce-info, .woocommerce-message, .woocommerce-error)[tabindex="-1"]:focus {
	outline: none;
}

/* „Im Warenkorb" ohne JavaScript: Titel vor dem Text. */
body:not(#mn-design) .woocommerce-message .mn-added__title {
	color: var(--mn-accent);
	font-weight: 600;
}

/* --- Warenkorb-Hinweis als Glas-Karte unten rechts (assets/js/notices.js) --
 * Gleiches Aussehen wie die Rückmeldung im Katalog (wc-product-table). */

#mn-notices {
	position: fixed;
	inset-block-end: 104px; /* über dem WhatsApp-Button */
	inset-inline-end: 24px;
	z-index: 9999;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 10px;
	inline-size: min(400px, calc(100vw - 48px));
	pointer-events: none;
}

#mn-notices .mn-toast {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	inline-size: 100%;
	box-sizing: border-box;
	padding: 16px 12px 16px 16px;
	border: 1px solid var(--mn-border);
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.92);
	-webkit-backdrop-filter: saturate(180%) blur(16px);
	backdrop-filter: saturate(180%) blur(16px);
	box-shadow: 0 12px 32px rgba(var(--mn-accent-rgb, 40, 53, 131), 0.16), 0 2px 6px rgba(var(--mn-accent-rgb, 40, 53, 131), 0.06);
	color: var(--mn-text);
	font-size: 15px;
	line-height: 1.45;
	pointer-events: auto;
	animation: mn-toast-in 0.28s cubic-bezier(0.2, 0.8, 0.2, 1);
}

#mn-notices .mn-toast.is-leaving {
	animation: mn-toast-out 0.2s ease forwards;
}

#mn-notices .mn-toast__icon {
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	inline-size: 36px;
	block-size: 36px;
	border-radius: 50%;
	background: var(--mn-accent);
	color: #fff;
}

#mn-notices .mn-toast svg {
	inline-size: 18px;
	block-size: 18px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2.4;
	stroke-linecap: round;
	stroke-linejoin: round;
}

#mn-notices .mn-toast__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
	min-inline-size: 0;
	padding-block-start: 1px;
}

#mn-notices .mn-toast__title {
	color: var(--mn-accent);
	font-size: 15px;
	font-weight: 600;
}

#mn-notices .mn-toast__sku {
	color: var(--mn-text);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.02em;
}

/* Fehler in Rot, damit sie auch im Augenwinkel auffallen. */
#mn-notices .mn-toast--error {
	border-color: #b3261e;
	background: rgba(253, 236, 234, 0.96);
	box-shadow: 0 12px 32px rgba(179, 38, 30, 0.22), 0 2px 6px rgba(179, 38, 30, 0.1);
}

#mn-notices .mn-toast--error .mn-toast__icon {
	background: #b3261e;
}

#mn-notices .mn-toast--error .mn-toast__title {
	color: #b3261e;
}

#mn-notices .mn-toast--error .mn-toast__text {
	color: #7a1a14;
}

#mn-notices .mn-toast--error a.mn-toast__link,
#mn-notices .mn-toast--error a.mn-toast__link:visited {
	background: #b3261e;
}

#mn-notices .mn-toast--error a.mn-toast__link:is(:hover, :focus-visible) {
	background: #8c1d17;
}

#mn-notices .mn-toast.mn-toast--error .mn-toast__close {
	color: #b3261e;
}

#mn-notices .mn-toast__text {
	color: var(--mn-muted);
	font-size: 14px;
	overflow-wrap: anywhere;
}

/* Knöpfe der Karte: „Warenkorb ansehen" gefüllt, „3 Stück hinzufügen" nur mit Kontur. */
#mn-notices .mn-toast__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-block-start: 10px;
}

#mn-notices .mn-toast .mn-toast__rest,
#mn-notices .mn-toast .mn-toast__rest:is(:hover, :focus) {
	display: inline-flex;
	align-items: center;
	margin: 0;
	padding: 7px 15px;
	border: 1px solid var(--mn-accent);
	border-radius: 999px;
	background: transparent;
	box-shadow: none;
	color: var(--mn-accent);
	font: inherit;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

#mn-notices .mn-toast .mn-toast__rest:hover {
	background: var(--mn-tint);
}

#mn-notices .mn-toast .mn-toast__rest:focus-visible {
	outline: 2px solid var(--mn-accent);
	outline-offset: 2px;
}

#mn-notices .mn-toast .mn-toast__rest:disabled {
	opacity: 0.6;
	cursor: progress;
}

#mn-notices .mn-toast--error .mn-toast__rest,
#mn-notices .mn-toast--error .mn-toast__rest:is(:hover, :focus) {
	border-color: #b3261e;
	color: #b3261e;
}

#mn-notices .mn-toast--error .mn-toast__rest:hover {
	background: rgba(179, 38, 30, 0.08);
}

#mn-notices .mn-toast--error .mn-toast__rest:focus-visible {
	outline-color: #b3261e;
}

#mn-notices a.mn-toast__link,
#mn-notices a.mn-toast__link:visited {
	display: inline-flex;
	align-items: center;
	margin: 0;
	padding: 8px 16px;
	border-radius: 999px;
	background: var(--mn-accent);
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color 0.2s ease;
}

#mn-notices a.mn-toast__link:is(:hover, :focus-visible) {
	background: var(--mn-accent-hover);
	color: #fff;
}

#mn-notices :is(a.mn-toast__link, .mn-toast__close):focus-visible {
	outline: 2px solid var(--mn-accent);
	outline-offset: 2px;
}

#mn-notices .mn-toast .mn-toast__close,
#mn-notices .mn-toast .mn-toast__close:is(:hover, :focus) {
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	inline-size: 32px;
	block-size: 32px;
	margin: -4px 0 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	box-shadow: none;
	color: var(--mn-muted);
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease;
}

#mn-notices .mn-toast .mn-toast__close:hover {
	background: var(--mn-tint);
	color: var(--mn-accent);
}

/* Handy: unten über die volle Breite. */
@media (max-width: 767px) {
	#mn-notices {
		inset-block-end: calc(104px + env(safe-area-inset-bottom, 0px));
		inset-inline: 16px;
		inline-size: auto;
	}
}

@keyframes mn-toast-in {
	from { opacity: 0; transform: translateY(12px) scale(0.98); }
	to   { opacity: 1; transform: none; }
}

@keyframes mn-toast-out {
	to { opacity: 0; transform: translateY(8px); }
}

@media (prefers-reduced-motion: reduce) {
	#mn-notices .mn-toast {
		animation-duration: 0.001ms !important;
	}
}

/* Als Stapel (assets/js/hinweis-stapel.js): Motion bewegt die Karten, die
   eigenen Ein- und Ausblend-Animationen (auch des Katalogs) bleiben aus. */
html #mn-notices.mn-stapel > .mn-toast,
html #wcpt-notices.mn-stapel > .wcpt-notice {
	animation: none;
}

/* --- Anmelde-Bereich: schmale Karte unter dem Seitentitel ------------- */

body:not(#mn-design) .woocommerce:has(> form.login),
body:not(#mn-design) .woocommerce:has(> form.lost_reset_password) {
	max-inline-size: 560px;
}

body:not(#mn-design) .woocommerce:has(> form.login) > h2 {
	margin: 0 0 16px;
	color: var(--mn-accent);
	font-family: "Bricolage Grotesque", sans-serif;
	font-size: 26px;
	font-weight: 600;
	line-height: 1.25;
}

body:not(#mn-design):is(.woocommerce, .woocommerce-page) form:is(.login, .lost_reset_password) {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin: 0;
	padding: 32px;
}

body:not(#mn-design):is(.woocommerce, .woocommerce-page) form:is(.login, .lost_reset_password) > p {
	float: none;
	inline-size: 100%;
	margin: 0;
	padding: 0;
}

body:not(#mn-design):is(.woocommerce, .woocommerce-page) form:is(.login, .lost_reset_password) .clear {
	display: none;
}

body:not(#mn-design):is(.woocommerce, .woocommerce-page) form:is(.login, .lost_reset_password) label:not(.woocommerce-form__label-for-checkbox) {
	display: block;
	margin: 0 0 8px;
	color: var(--mn-text);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
}

body:not(#mn-design):is(.woocommerce, .woocommerce-page) form:is(.login, .lost_reset_password) .required {
	color: var(--mn-accent);
	text-decoration: none;
}

body:not(#mn-design):is(.woocommerce, .woocommerce-page) form:is(.login, .lost_reset_password) .input-text {
	inline-size: 100%;
}

/* Passwort-Auge im Feld, ruhig. */
body:not(#mn-design):is(.woocommerce, .woocommerce-page) form.login .password-input {
	display: block;
	position: relative;
}

body:not(#mn-design):is(.woocommerce, .woocommerce-page) form.login .show-password-input {
	top: 50%;
	right: 12px;
	color: #666c96;
	transform: translateY(-50%);
}

/* „Angemeldet bleiben" über einem breiten Anmelde-Button. */
body:not(#mn-design):is(.woocommerce, .woocommerce-page) form.login > p.form-row:has(.woocommerce-form-login__submit) {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 16px;
}

body:not(#mn-design):is(.woocommerce, .woocommerce-page) form.login .woocommerce-form-login__rememberme {
	display: inline-flex;
	align-items: center;
	gap: 0;
	margin: 0;
	color: var(--mn-text);
	font-size: 15px;
	cursor: pointer;
}

body:not(#mn-design):is(.woocommerce, .woocommerce-page) form:is(.login, .lost_reset_password) :is(.woocommerce-form-login__submit, .woocommerce-Button) {
	inline-size: 100%;
	min-block-size: 52px;
	margin: 0;
	font-size: 16px;
}

body:not(#mn-design):is(.woocommerce, .woocommerce-page) form.login .lost_password {
	text-align: center;
}

body:not(#mn-design):is(.woocommerce, .woocommerce-page) form.login .lost_password a {
	color: var(--mn-muted);
	font-size: 14px;
	text-decoration: underline;
}

body:not(#mn-design):is(.woocommerce, .woocommerce-page) form.login .lost_password a:hover {
	color: var(--mn-accent);
}

/* Registrieren: abgesetzt, als Kontur-Button. */
body:not(#mn-design):is(.woocommerce, .woocommerce-page) form.login .b2b-login-register {
	margin-top: 8px;
	padding-top: 24px;
	border-top: 1px solid rgba(var(--mn-accent-rgb, 40, 53, 131), 0.1);
}

body:not(#mn-design):is(.woocommerce, .woocommerce-page) form.login .b2b-login-register a {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-block-size: 48px;
	padding: 0 20px;
	border: 1px solid var(--mn-border);
	border-radius: var(--mn-radius);
	background: #fff;
	color: var(--mn-accent);
	font-size: 15px;
	font-weight: 600;
	text-align: center;
	text-decoration: none;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

body:not(#mn-design):is(.woocommerce, .woocommerce-page) form.login .b2b-login-register a:hover {
	border-color: rgba(var(--mn-accent-rgb, 40, 53, 131), 0.35);
	background: var(--mn-tint);
}

/* --- Anmelden und Registrieren als eigene Seite (includes/anmelde-overlay.php) *
 * Ohne Kopf- und Fußzeile, nur eine Karte auf hellem Grund: links das Bild
 * mit Atramat-Packung und Vorteilen, rechts Reiter und Formular.
 */

body:not(#mn-design):has(.mn-overlay) {
	overflow: hidden;
	background: #f2f4fa;
}

body:not(#mn-design):has(.mn-overlay) :is(.elementor-location-header, .elementor-location-footer, .page-header) {
	display: none;
}

body:not(#mn-design) .mn-overlay {
	position: fixed;
	z-index: 9000;
	inset: 0;
	overflow-y: auto;
	background: #fff;
	overscroll-behavior: contain;
}

/* Das ganze Fenster: links Formular, rechts die Fläche mit den Vorteilen. */
body:not(#mn-design) .mn-overlay__karte {
	display: grid;
	grid-template-columns: minmax(420px, 5fr) 7fr;
	gap: 16px;
	box-sizing: border-box;
	min-block-size: 100dvh;
	padding: 16px;
}

/* Links: Logo mit „Zurück zur Website" oben, Reiter und Formular mittig. */
body:not(#mn-design) .mn-overlay__inhalt {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 104px 32px 48px;
}

body:not(#mn-design) .mn-overlay__kopf {
	position: absolute;
	top: 24px;
	left: 24px;
	right: 24px;
	display: flex;
	align-items: center;
	gap: 20px;
	inline-size: auto !important;
}

body:not(#mn-design) .mn-overlay__logo {
	flex: none;
	line-height: 0;
}

body:not(#mn-design) .mn-overlay__logo img {
	inline-size: auto;
	block-size: 36px;
	box-shadow: none;
}

body:not(#mn-design) .mn-overlay__zurueck {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	min-block-size: 26px;
	padding: 0 10px 0 6px;
	border: 1px solid var(--mn-border);
	border-radius: 999px;
	background: #fff;
	color: var(--mn-muted);
	font-size: 12px;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
	transition: color 0.15s ease, border-color 0.15s ease, background-color 0.15s ease;
}

body:not(#mn-design) .mn-overlay__zurueck:hover {
	border-color: rgba(var(--mn-accent-rgb, 40, 53, 131), 0.35);
	background: var(--mn-tint);
	color: var(--mn-accent);
}

/* Rechts: Fliederverlauf wie der Kasten „Wir sind persönlich für Sie da.",
   oben der Claim, in der Mitte der Slider mit Videos, darunter die Titel der
   Folien als Navigation und kleine Pillen mit weiteren Vorteilen. Bleibt
   beim Scrollen langer Formulare stehen. */
body:not(#mn-design) .mn-overlay__bild {
	position: sticky;
	top: 16px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: clamp(16px, 2.6vh, 28px);
	box-sizing: border-box;
	block-size: calc(100dvh - 32px);
	overflow: hidden;
	padding: clamp(24px, 3.5vw, 56px);
	border: 1px solid rgba(104, 86, 155, 0.22);
	border-radius: 28px;
	background:
		radial-gradient(circle at 70% 30%, rgba(255, 255, 255, 0.75) 0%, rgba(255, 255, 255, 0) 45%),
		linear-gradient(135deg, #ebe7f4 0%, #ddd5ec 55%, #d2c8e6 100%);
	color: var(--mn-text);
	align-items: center;
}

/* Eine gemeinsame Spalte für Claim, Video, Titel und Pillen. Höchstens 760 px:
   Die Videos sind 1280–1600 px breit gerendert, so steht ihre Schrift etwa im
   Maßstab der Seite (Fließtext 14–17 px) statt doppelt so groß. In niedrigen
   Fenstern schmaler, damit alles ohne Abschneiden passt. */
body:not(#mn-design) .mn-overlay__bild > * {
	box-sizing: border-box;
	inline-size: min(100%, 760px, calc((100dvh - 380px) * 1.6));
}

body:not(#mn-design) .mn-overlay__claim {
	margin: 0;
	text-wrap: balance;
	color: var(--mn-accent);
	font-family: "Bricolage Grotesque", sans-serif;
	font-size: clamp(26px, 2.4vw, 38px);
	font-weight: 600;
	line-height: 1.1;
}

/* Bühne: Videos übereinander, die aktive Folie blendet und gleitet herein.
   Höhe begrenzt, damit Titel und Pillen in niedrigen Fenstern Platz haben. */
body:not(#mn-design) .mn-slider__buehne {
	position: relative;
	display: grid;
	aspect-ratio: 16 / 10;
	flex: none;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.9);
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 2px 4px rgba(var(--mn-accent-rgb, 40, 53, 131), 0.04), 0 40px 80px -36px rgba(77, 55, 138, 0.5);
}

body:not(#mn-design) .mn-slider__folie {
	grid-area: 1 / 1;
	opacity: 0;
	visibility: hidden;
	translate: 24px 0;
	transition: opacity 0.45s ease, translate 0.6s cubic-bezier(0.2, 0.8, 0.2, 1), visibility 0s 0.6s;
}

body:not(#mn-design) .mn-slider__folie[data-aktiv] {
	opacity: 1;
	visibility: visible;
	translate: 0 0;
	transition: opacity 0.45s ease, translate 0.6s cubic-bezier(0.2, 0.8, 0.2, 1), visibility 0s;
}

body:not(#mn-design) .mn-slider__video {
	display: block;
	inline-size: 100%;
	block-size: 100%;
	object-fit: contain;
	background: #fff;
}

/* Titel der Folien: wie Sanas Liste – aktive Folie dunkel mit Satz und Balken,
   die anderen nur als Titel. */
body:not(#mn-design) .mn-slider__nav {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

body:not(#mn-design) .mn-slider__nav li {
	margin: 0;
}

body:not(#mn-design) .mn-slider__punkt {
	all: unset;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 4px;
	inline-size: 100%;
	block-size: 100%;
	padding: 12px 0 0;
	cursor: pointer;
	color: rgba(var(--mn-accent-rgb, 40, 53, 131), 0.55);
	font-size: 14px;
	line-height: 1.35;
	position: relative;
}

body:not(#mn-design) .mn-slider__punkt strong {
	font-weight: 600;
	transition: color 0.2s ease;
}

body:not(#mn-design) .mn-slider__punkt:hover strong,
body:not(#mn-design) .mn-slider__punkt[aria-current] strong {
	color: var(--mn-accent);
}

body:not(#mn-design) .mn-slider__punkt:focus-visible {
	outline: 2px solid var(--mn-accent);
	outline-offset: 4px;
	border-radius: 6px;
}

body:not(#mn-design) .mn-slider__satz {
	color: var(--mn-muted);
	font-size: 13px;
	opacity: 0;
	transition: opacity 0.3s ease;
}

body:not(#mn-design) .mn-slider__punkt[aria-current] .mn-slider__satz {
	opacity: 1;
}

/* Balken oben über dem Titel: Spur für alle, Füllung für die aktive Folie. */
body:not(#mn-design) .mn-slider__fortschritt {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	block-size: 3px;
	border-radius: 3px;
	background: rgba(var(--mn-accent-rgb, 40, 53, 131), 0.14);
	overflow: hidden;
}

body:not(#mn-design) .mn-slider__fortschritt::after {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--mn-accent);
	transform-origin: left;
	transform: scaleX(0);
}

body:not(#mn-design) .mn-slider__punkt[aria-current] .mn-slider__fortschritt::after {
	transform: scaleX(var(--fortschritt, 0));
}

/* Ohne JavaScript: die erste Folie ganz gefüllt. */
body:not(#mn-design) .mn-slider:not(.is-bereit) .mn-slider__punkt[aria-current] .mn-slider__fortschritt::after {
	transform: scaleX(1);
}

/* Weitere Vorteile als Pillen. */
body:not(#mn-design) .mn-overlay__vorteile {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

body:not(#mn-design) .mn-overlay__vorteile li {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 7px 14px 7px 10px;
	border: 1px solid rgba(var(--mn-accent-rgb, 40, 53, 131), 0.1);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.75);
	color: var(--mn-accent);
	font-size: 13px;
	font-weight: 600;
}

@media (prefers-reduced-motion: reduce) {
	body:not(#mn-design) .mn-slider__folie,
	body:not(#mn-design) .mn-slider__folie[data-aktiv] {
		translate: none;
		transition: none;
	}
}

/* Niedrige Fenster: ohne Satz unter dem Titel, Claim kleiner. */
@media (min-width: 901px) and (max-height: 720px) {
	body:not(#mn-design) .mn-slider__satz {
		display: none;
	}

	body:not(#mn-design) .mn-overlay__claim {
		font-size: 24px;
	}
}

body:not(#mn-design) .mn-overlay__inhalt > * {
	box-sizing: border-box;
	inline-size: min(100%, 400px);
}

body:not(#mn-design) .mn-overlay__inhalt > :is(h2:not([class]), .woocommerce-notices-wrapper:empty) {
	display: none;
}

body:not(#mn-design) .mn-overlay__reiter {
	display: flex;
	gap: 4px;
	inline-size: auto;
	margin-bottom: 32px;
	padding: 4px;
	border-radius: 999px;
	background: #f1f2f8;
}

body:not(#mn-design) .mn-overlay__reiter a {
	padding: 9px 20px;
	border-radius: 999px;
	color: var(--mn-muted);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	transition: background-color 0.15s ease, color 0.15s ease;
}

body:not(#mn-design) .mn-overlay__reiter a:hover {
	color: var(--mn-accent);
}

body:not(#mn-design) .mn-overlay__reiter a[aria-current] {
	background: #fff;
	color: var(--mn-accent);
	box-shadow: 0 1px 2px rgba(var(--mn-accent-rgb, 40, 53, 131), 0.08), 0 4px 12px -6px rgba(var(--mn-accent-rgb, 40, 53, 131), 0.3);
}

body:not(#mn-design) .mn-overlay__wechsel {
	margin: 28px 0 0;
	color: var(--mn-muted);
	font-size: 14px;
	text-align: center;
}

body:not(#mn-design) .mn-overlay__wechsel a {
	color: var(--mn-accent);
	font-weight: 600;
}

/* Anmelden: Formular ohne eigenen Kasten. */
body:not(#mn-design):is(.woocommerce, .woocommerce-page) .mn-overlay form:is(.login, .mn-link-confirm, .lost_reset_password) {
	gap: 16px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
}

body:not(#mn-design) .mn-login-kopf {
	margin-bottom: 8px;
	text-align: center;
}

body:not(#mn-design) .mn-login-kopf__titel {
	margin: 0 0 6px;
	color: var(--mn-accent);
	font-family: "Bricolage Grotesque", sans-serif;
	font-size: 30px;
	font-weight: 600;
	line-height: 1.15;
}

body:not(#mn-design) .mn-login-kopf__text {
	margin: 0;
	color: var(--mn-muted);
	font-size: 15px;
	line-height: 1.5;
}

/* Pflichtfeld-Sternchen braucht es bei zwei Feldern nicht. */
body:not(#mn-design):is(.woocommerce, .woocommerce-page) form.login label .required {
	display: none;
}

/* „Passwort vergessen?" rechts auf Höhe der Beschriftung (assets/js/anmeldung.js). */
body:not(#mn-design):is(.woocommerce, .woocommerce-page) form.login .mn-login-passwortzeile {
	position: relative;
}

body:not(#mn-design):is(.woocommerce, .woocommerce-page) form.login .mn-login-vergessen {
	position: absolute;
	top: 0;
	right: 0;
	color: var(--mn-muted);
	font-size: 14px;
	line-height: 1.3;
	text-decoration: underline;
	text-underline-offset: 2px;
}

body:not(#mn-design):is(.woocommerce, .woocommerce-page) form.login .mn-login-vergessen:hover {
	color: var(--mn-accent);
}

/* Registrieren steht im zweiten Reiter. */
body:not(#mn-design) .mn-overlay form.login .b2b-login-register {
	display: none;
}

/* Link-Modus: Link-Button, Erklärung, „oder", „Mit Passwort anmelden" als Kontur-Button. */
body:not(#mn-design) .mn-overlay form.login.is-link-modus .mn-link-login__btn {
	order: 1;
}

body:not(#mn-design) .mn-overlay form.login.is-link-modus .mn-link-login__text {
	order: 2;
}

body:not(#mn-design) .mn-overlay form.login.is-link-modus .mn-link-login__oder {
	order: 3;
	display: flex;
	margin-top: 8px;
}

body:not(#mn-design) .mn-overlay form.login.is-link-modus .mn-link-login__passwort {
	order: 4;
	justify-content: center;
	min-block-size: 48px;
	margin: 0;
	border: 1px solid var(--mn-border);
	border-radius: var(--mn-radius);
	background: #fff;
	font-size: 15px;
}

body:not(#mn-design) .mn-overlay form.login.is-link-modus .mn-link-login__passwort::before,
body:not(#mn-design) .mn-overlay form.login.is-link-modus .mn-link-login__passwort::after {
	content: none;
}

body:not(#mn-design) .mn-overlay form.login.is-link-modus .mn-link-login__passwort:hover {
	border-color: rgba(var(--mn-accent-rgb, 40, 53, 131), 0.35);
	background: var(--mn-tint);
	text-decoration: none;
}

body:not(#mn-design) .mn-overlay :is(.mn-link-login__btn, .woocommerce-form-login__submit) {
	box-shadow: 0 10px 24px -14px rgba(var(--mn-accent-rgb, 40, 53, 131), 0.6);
}

body:not(#mn-design) .mn-overlay form.login:not(.is-link-modus) .mn-link-login__btn {
	box-shadow: none;
}

/* Registrieren: Assistent ohne eigene Kästen, etwas breiter. */
body:not(#mn-design) .mn-overlay__inhalt > .elementor-widget-container,
body:not(#mn-design) .mn-overlay__inhalt > form.b2b-reg {
	inline-size: min(100%, 460px);
}

body:not(#mn-design) .mn-overlay form.b2b-reg {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
}

body:not(#mn-design) .mn-overlay form.b2b-reg .b2b-reg__heading {
	margin: 0 0 20px;
	color: var(--mn-accent);
	font-family: "Bricolage Grotesque", sans-serif;
	font-size: 30px;
	font-weight: 600;
	line-height: 1.15;
	text-align: center;
}

body:not(#mn-design) .mn-overlay form.b2b-reg .b2b-reg__section {
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
}

@media (max-width: 900px) {
	/* Schmal: erst Logo und Formular, darunter die Fläche mit dem Slider. */
	body:not(#mn-design) .mn-overlay__karte {
		grid-template-columns: minmax(0, 1fr);
		padding: 8px;
	}

	body:not(#mn-design) .mn-overlay__inhalt {
		justify-content: flex-start;
		padding: 84px 12px 32px;
	}

	body:not(#mn-design) .mn-overlay__kopf {
		top: 16px;
		left: 12px;
		right: 12px;
		justify-content: space-between;
		gap: 12px;
	}

	body:not(#mn-design) .mn-overlay__logo img {
		block-size: 30px;
	}

	body:not(#mn-design) .mn-overlay__bild {
		position: relative;
		top: auto;
		block-size: auto;
		padding: 24px 16px 20px;
		border-radius: 20px;
	}

	body:not(#mn-design) .mn-overlay__bild > * {
		inline-size: 100%;
	}

	body:not(#mn-design) .mn-slider__buehne {
		border-radius: 14px;
	}

	/* Vier Balken zum Antippen, darunter Titel und Satz der aktiven Folie. */
	body:not(#mn-design) .mn-slider__nav {
		position: relative;
		gap: 8px;
		min-block-size: 92px;
		align-content: start;
	}

	body:not(#mn-design) .mn-slider__punkt {
		position: static;
		block-size: auto;
		padding: 10px 0;
	}

	body:not(#mn-design) .mn-slider__fortschritt {
		position: relative;
		order: -1;
		block-size: 4px;
	}

	body:not(#mn-design) .mn-slider__punkt :is(strong, .mn-slider__satz) {
		display: none;
	}

	body:not(#mn-design) .mn-slider__punkt[aria-current] :is(strong, .mn-slider__satz) {
		display: block;
		position: absolute;
		left: 0;
		right: 0;
	}

	body:not(#mn-design) .mn-slider__punkt[aria-current] strong {
		top: 32px;
		color: var(--mn-accent);
		font-size: 16px;
	}

	body:not(#mn-design) .mn-slider__punkt[aria-current] .mn-slider__satz {
		top: 56px;
		font-size: 14px;
	}

	body:not(#mn-design) .mn-overlay__claim {
		font-size: 26px;
	}

	body:not(#mn-design) .mn-overlay__reiter {
		margin-bottom: 24px;
	}

	body:not(#mn-design) :is(.mn-login-kopf__titel, .mn-overlay form.b2b-reg .b2b-reg__heading) {
		font-size: 26px;
	}
}

/* Auf der Anmeldeseite: nichts Schwebendes darüber (Neu-Hinweise, WhatsApp, Meldungen der Tabelle). */
body:not(#mn-design):has(.mn-overlay) :is(.mn-neu-karte, .mn-neu-liste, .mn-neu-pille, .mn-neu-hinweis, .e-contact-buttons) {
	display: none !important;
}

/* --- Anmeldelink per E-Mail (includes/anmeldung.php) ------------------- */

/* Hinter „Anmelden" bzw. „Link für neues Passwort", vor „Registrieren". */
body:not(#mn-design):is(.woocommerce, .woocommerce-page) form:is(.login, .lost_reset_password) .mn-link-login {
	order: 1;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 10px;
}

body:not(#mn-design):is(.woocommerce, .woocommerce-page) form.login .b2b-login-register {
	order: 2;
}

body:not(#mn-design) .mn-link-login__oder {
	display: flex;
	align-items: center;
	gap: 12px;
	color: #666c96;
	font-size: 13px;
}

body:not(#mn-design) .mn-link-login__oder::before,
body:not(#mn-design) .mn-link-login__oder::after {
	content: "";
	flex: 1;
	block-size: 1px;
	background: rgba(var(--mn-accent-rgb, 40, 53, 131), 0.1);
}

body:not(#mn-design):is(.woocommerce, .woocommerce-page) .mn-link-login__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-block-size: 48px;
	padding: 0 20px;
	border: 1px solid var(--mn-border);
	border-radius: var(--mn-radius);
	background: #fff;
	color: var(--mn-accent);
	font: inherit;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

body:not(#mn-design):is(.woocommerce, .woocommerce-page) .mn-link-login__btn::before {
	content: "";
	inline-size: 18px;
	block-size: 18px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m4 7 8 6 8-6'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m4 7 8 6 8-6'/%3E%3C/svg%3E") center / contain no-repeat;
}

body:not(#mn-design):is(.woocommerce, .woocommerce-page) .mn-link-login__btn:hover,
body:not(#mn-design):is(.woocommerce, .woocommerce-page) .mn-link-login__btn:focus {
	border-color: rgba(var(--mn-accent-rgb, 40, 53, 131), 0.35);
	background: var(--mn-tint);
	color: var(--mn-accent);
}

body:not(#mn-design) .mn-link-login__text {
	color: var(--mn-muted);
	font-size: 13px;
	line-height: 1.5;
	text-align: center;
}

/* Link zuerst (assets/js/anmeldung.js): Passwort-Teil erst nach „Oder mit Passwort anmelden". */
body:not(#mn-design):is(.woocommerce, .woocommerce-page) form.login.is-link-modus > p:has(#password),
body:not(#mn-design):is(.woocommerce, .woocommerce-page) form.login.is-link-modus > p.form-row:has(.woocommerce-form-login__submit),
body:not(#mn-design):is(.woocommerce, .woocommerce-page) form.login.is-link-modus > .lost_password,
body:not(#mn-design) form.login.is-link-modus .mn-link-login__oder {
	display: none;
}

/* Direkt unter der E-Mail-Adresse, als Hauptbutton. */
body:not(#mn-design):is(.woocommerce, .woocommerce-page) form.login.is-link-modus .mn-link-login {
	order: 0;
}

body:not(#mn-design):is(.woocommerce, .woocommerce-page) form.login.is-link-modus .mn-link-login__btn {
	border-color: var(--mn-accent);
	background: var(--mn-accent);
	color: #fff;
}

body:not(#mn-design):is(.woocommerce, .woocommerce-page) form.login.is-link-modus .mn-link-login__btn:hover,
body:not(#mn-design):is(.woocommerce, .woocommerce-page) form.login.is-link-modus .mn-link-login__btn:focus {
	border-color: var(--mn-accent-hover);
	background: var(--mn-accent-hover);
	color: #fff;
}

/* „Oder mit Passwort anmelden": nur im Link-Modus. */
body:not(#mn-design) .mn-link-login__passwort {
	display: none;
}

body:not(#mn-design) form.login.is-link-modus .mn-link-login__passwort {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 12px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--mn-accent);
	font: inherit;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
}

body:not(#mn-design) form.login.is-link-modus .mn-link-login__passwort::before,
body:not(#mn-design) form.login.is-link-modus .mn-link-login__passwort::after {
	content: "";
	flex: 1;
	block-size: 1px;
	background: rgba(var(--mn-accent-rgb, 40, 53, 131), 0.1);
}

body:not(#mn-design) form.login.is-link-modus .mn-link-login__passwort:hover {
	background: none;
	color: var(--mn-accent-hover);
	text-decoration: underline;
}

/* Link geöffnet: Karte mit „Jetzt anmelden" (templates/anmeldelink.php). */
body:not(#mn-design) .mn-link-confirm {
	display: flex;
	flex-direction: column;
	align-items: center;
	box-sizing: border-box;
	max-inline-size: 560px;
	margin: 0;
	padding: 48px 24px;
	border: 1px solid var(--mn-border);
	border-radius: 16px;
	background: #fff;
	text-align: center;
}

body:not(#mn-design) .mn-link-confirm__fuss {
	margin: 20px 0 0;
	color: var(--mn-muted);
	font-size: 13px;
}

body:not(#mn-design) .mn-link-confirm__fuss a {
	color: var(--mn-accent);
}

/* --- Passwort vorschlagen (assets/js/passwort.js) ----------------------- */

body:not(#mn-design) .mn-pw {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	margin-top: 8px;
}

body:not(#mn-design) .mn-pw__vorschlag {
	padding: 4px 0;
	border: 0;
	background: none;
	color: var(--mn-accent);
	font: inherit;
	font-size: 14px;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}

body:not(#mn-design) .mn-pw__vorschlag:hover {
	background: none;
	color: var(--mn-accent-hover);
}

body:not(#mn-design) .mn-pw__ergebnis {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
	box-sizing: border-box;
	inline-size: 100%;
	padding: 12px 14px;
	border-radius: 12px;
	background: #f5fbff;
}

body:not(#mn-design) .mn-pw__ergebnis[hidden] {
	display: none;
}

body:not(#mn-design) .mn-pw__wert {
	padding: 0;
	background: none;
	color: var(--mn-text);
	font-family: "Roboto Mono", ui-monospace, monospace;
	font-size: 15px;
	letter-spacing: 0.02em;
	overflow-wrap: anywhere;
}

body:not(#mn-design) .mn-pw__kopieren {
	padding: 6px 10px;
	border: 1px solid var(--mn-border);
	border-radius: 8px;
	background: #fff;
	color: var(--mn-accent);
	font: inherit;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
}

body:not(#mn-design) .mn-pw__kopieren:hover {
	border-color: var(--mn-accent);
	background: #fff;
	color: var(--mn-accent);
}

body:not(#mn-design) .mn-pw__hinweis {
	flex-basis: 100%;
	margin: 0;
	color: var(--mn-muted);
	font-size: 13px;
}

body:not(#mn-design) .mn-pw-zweites[hidden] {
	display: none;
}

body:not(#mn-design):is(.woocommerce, .woocommerce-page) form.lost_reset_password > p:first-child {
	color: var(--mn-muted);
	font-size: 15px;
	line-height: 1.55;
}

@media (max-width: 767px) {
	body:not(#mn-design):is(.woocommerce, .woocommerce-page) form:is(.login, .lost_reset_password) {
		padding: 24px 16px;
	}
}

/* ===================================================================== *
 * Seitenwechsel: weich überblenden (View Transitions zwischen Seiten).
 * Der Header bleibt stehen, der Inhalt darunter blendet aus und neu ein.
 * Den Namen trägt der Header nur während des Wechsels (assets/js/
 * seitenkopf.js) – dauerhaft würde er ihn zum Stapelkontext machen, dann
 * rutschen der fixierte Header und sein Menü hinter den Inhalt. Browser
 * ohne Unterstützung wechseln wie bisher.
 * ===================================================================== */

@view-transition {
	navigation: auto;
}

/* Alt und neu mit gleicher Dauer, gleicher Kurve, ohne Versatz: Die
   Deckkraft ergänzt sich so in jedem Moment zu 100 %. Bei ungleichen Zeiten
   sind beide kurz halb durchsichtig, die Seite wird blass und flackert. */
::view-transition-old(root),
::view-transition-new(root) {
	animation-duration: 320ms;
	animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
	animation-fill-mode: both;
}

::view-transition-old(root) {
	animation-name: mn-seite-aus;
}

::view-transition-new(root) {
	animation-name: mn-seite-ein;
}

@keyframes mn-seite-aus {
	to {
		opacity: 0;
	}
}

@keyframes mn-seite-ein {
	from {
		opacity: 0;
	}
}

/* Header: Name nur während des Wechsels (assets/js/seitenkopf.js), nicht an
   Elementors Platzhalter-Kopie. Liegt über dem Inhalt und wechselt ohne
   Überblendung – er ist auf beiden Seiten gleich, ein Überblenden zeigte die
   Menüpunkte kurz doppelt. */
html[data-mn-seitenwechsel] .elementor-location-header > .e-con:not(.elementor-sticky__spacer) {
	view-transition-name: mn-kopf;
}

/* Elementors Platzhalter-Kopie des klebenden Headers: Fläche darf sichtbar
   sein (Header-Vorlage 70 färbt sie auf der Startseite hellblau), der Inhalt
   nie – sonst stehen Logo und Knöpfe beim Scrollen doppelt über der Leiste.
   Die Gegenregel in Vorlage 70 greift nicht, Elementor hat ihr „>“ als
   „&gt;“ gespeichert. */
.elementor-location-header .elementor-sticky__spacer > * {
	visibility: hidden !important;
}

::view-transition-group(mn-kopf) {
	z-index: 1;
	animation: none;
}

::view-transition-old(mn-kopf) {
	animation: none;
	opacity: 0;
}

::view-transition-new(mn-kopf) {
	animation: none;
}

/* Per Übergang angekommen: Elementors Einblend-Animationen aus, die
   Überblendung reicht (assets/js/seitenkopf.js). */
html[data-mn-angekommen] .elementor-invisible {
	visibility: visible !important;
}

html[data-mn-angekommen] .elementor-element.animated {
	animation: none !important;
}

@media (prefers-reduced-motion: reduce) {
	::view-transition-group(*),
	::view-transition-old(*),
	::view-transition-new(*) {
		animation: none !important;
	}
}

/* ===================================================================== *
 * Registrierung (Plugin b2b-registration, Formular .b2b-reg)
 * ===================================================================== */

/* Seitenrahmen und Titel wie Kasse und Konto. */
body:not(#mn-design):has(form.b2b-reg) .site-main {
	box-sizing: border-box;
	inline-size: 100%;
	max-inline-size: 1368px;
	margin-inline: auto;
	padding: 32px 24px 96px;
}

/* Elementor-Container der Seite ohne eigenen Rand: bündig mit dem Titel. */
body:not(#mn-design):has(form.b2b-reg) .page-content .elementor > .e-con {
	padding-inline: 0;
}

body:not(#mn-design):has(form.b2b-reg) :is(.page-header, .page-content) {
	max-inline-size: none;
	margin: 0;
	padding: 0;
}

body:not(#mn-design):has(form.b2b-reg) .page-header .entry-title {
	margin: 0 0 32px;
	color: var(--mn-accent);
	font-family: "Bricolage Grotesque", sans-serif;
	font-size: 48px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -0.01em;
}

body:not(#mn-design) form.b2b-reg {
	display: flex;
	flex-direction: column;
	gap: 16px;
	max-inline-size: 880px;
	margin: 0;
	color: var(--mn-text);
}

body:not(#mn-design) form.b2b-reg .b2b-reg__heading {
	margin: 0 0 8px;
	color: var(--mn-accent);
	font-family: "Bricolage Grotesque", sans-serif;
	font-size: 26px;
	font-weight: 600;
	line-height: 1.25;
}

/* Abschnitte als Karten, kurze Felder paarweise nebeneinander. */
body:not(#mn-design) form.b2b-reg .b2b-reg__section {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin: 0;
	padding: 24px;
	border: 1px solid var(--mn-border);
	border-radius: 16px;
	background: #fff;
}

body:not(#mn-design) form.b2b-reg .b2b-reg__legend {
	float: left; /* nötig, damit die Legende im Raster der Karte liegt */
	grid-column: 1 / -1;
	inline-size: 100%;
	margin: 0 0 4px;
	padding: 0;
	color: var(--mn-accent);
	font-family: "Bricolage Grotesque", sans-serif;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.3;
}

/* Einleitung eines Abschnitts (z. B. „Diese Angaben sind freiwillig …"). */
body:not(#mn-design) form.b2b-reg .b2b-reg__intro {
	grid-column: 1 / -1;
	margin: -8px 0 4px;
	color: var(--mn-muted);
	font-size: 14px;
	line-height: 1.5;
}

body:not(#mn-design) form.b2b-reg .b2b-reg__legend .optional {
	font-family: inherit;
	font-size: 14px;
}

body:not(#mn-design) form.b2b-reg .b2b-reg__section > .form-row {
	grid-column: 1 / -1;
	float: none;
	inline-size: auto;
	margin: 0;
	padding: 0;
}

body:not(#mn-design) form.b2b-reg .b2b-reg__section > :is(.form-row-first, .form-row-last) {
	grid-column: auto;
}

body:not(#mn-design) form.b2b-reg .form-row > label:not(.checkbox) {
	display: block;
	margin: 0 0 8px;
	color: var(--mn-text);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
}

body:not(#mn-design) form.b2b-reg .optional {
	color: #666c96;
	font-weight: 400;
}

body:not(#mn-design) form.b2b-reg :is(.required, abbr.required) {
	border: 0;
	color: var(--mn-accent);
	text-decoration: none;
}

body:not(#mn-design) form.b2b-reg .woocommerce-input-wrapper {
	display: block;
}

/* Felder wie überall auf der Website. */
body:not(#mn-design) form.b2b-reg :is(input.input-text, select, textarea) {
	box-sizing: border-box;
	inline-size: 100%;
	min-block-size: var(--mn-height);
	padding: 0 16px;
	border: 1px solid var(--mn-border);
	border-radius: var(--mn-radius);
	background-color: #fff;
	box-shadow: none;
	color: var(--mn-text);
	font-family: inherit;
	font-size: 15px;
	outline: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

body:not(#mn-design) form.b2b-reg textarea {
	min-block-size: 112px;
	padding: 12px 16px;
	resize: vertical;
}

body:not(#mn-design) form.b2b-reg :is(input.input-text, select, textarea)::placeholder {
	color: #a6aac4;
	opacity: 1;
}

body:not(#mn-design) form.b2b-reg :is(input.input-text, select, textarea):hover {
	box-shadow: var(--mn-ring);
}

body:not(#mn-design) form.b2b-reg :is(input.input-text, select, textarea):focus {
	border-color: var(--mn-accent);
	box-shadow: var(--mn-ring);
}

body:not(#mn-design) form.b2b-reg .woocommerce-invalid :is(input.input-text, select, textarea) {
	border-color: #b3261e;
}

body:not(#mn-design) form.b2b-reg :is(.b2b-reg__hint, .description) {
	display: block;
	margin-top: 6px;
	color: #666c96;
	font-size: 13px;
	line-height: 1.45;
	opacity: 1;
}

/* Datei-Upload: Auswahl-Button als Kontur-Button. */
body:not(#mn-design) form.b2b-reg input[type="file"] {
	display: block;
	inline-size: 100%;
	color: var(--mn-muted);
	font-family: inherit;
	font-size: 14px;
}

body:not(#mn-design) form.b2b-reg input[type="file"]::file-selector-button {
	min-block-size: 44px;
	margin-inline-end: 12px;
	padding: 0 18px;
	border: 1px solid var(--mn-border);
	border-radius: var(--mn-radius);
	background: #fff;
	color: var(--mn-accent);
	font: inherit;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

body:not(#mn-design) form.b2b-reg input[type="file"]::file-selector-button:hover {
	border-color: rgba(var(--mn-accent-rgb, 40, 53, 131), 0.35);
	background: var(--mn-tint);
}

/* Rechtliches: Checkboxen wie im Katalog, Text daneben. */
/* Checkbox links, Text samt Pflicht-Stern als ein Fließtext daneben. */
body:not(#mn-design) form.b2b-reg .b2b-reg__legal .checkbox {
	position: relative;
	display: block;
	margin: 0;
	padding-inline-start: 34px;
	color: var(--mn-text);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
	cursor: pointer;
}

body:not(#mn-design) form.b2b-reg .b2b-reg__legal .checkbox input[type="checkbox"] {
	position: absolute;
	top: 0;
	left: 0;
}

body:not(#mn-design) form.b2b-reg .b2b-reg__legal .checkbox a {
	color: var(--mn-accent);
	text-decoration: underline;
}

body:not(#mn-design) form.b2b-reg input[type="checkbox"] {
	position: relative;
	box-sizing: border-box;
	inline-size: 22px;
	block-size: 22px;
	margin: 0;
	border: 1.5px solid #b9bedc;
	border-radius: 7px;
	background: #fff;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
	-webkit-appearance: none;
	appearance: none;
}

body:not(#mn-design) form.b2b-reg input[type="checkbox"]:hover {
	border-color: var(--mn-accent);
	box-shadow: var(--mn-ring);
}

body:not(#mn-design) form.b2b-reg input[type="checkbox"]:checked {
	border-color: var(--mn-accent);
	background: var(--mn-accent);
}

body:not(#mn-design) form.b2b-reg input[type="checkbox"]:checked::after {
	content: "";
	position: absolute;
	inset: 2px;
	background: #fff;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / contain no-repeat;
}

body:not(#mn-design) form.b2b-reg input[type="checkbox"]:focus-visible {
	outline: 2px solid var(--mn-accent);
	outline-offset: 2px;
}

/* Absenden: breiter blauer Button. */
body:not(#mn-design) form.b2b-reg .b2b-reg__submit {
	margin: 8px 0 0;
}

body:not(#mn-design) form.b2b-reg .b2b-reg__button,
body:not(#mn-design) form.b2b-reg .b2b-reg__button:focus {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	inline-size: 100%;
	min-block-size: 52px;
	padding: 0 24px;
	border: 1px solid var(--mn-accent);
	border-radius: var(--mn-radius);
	background: var(--mn-accent);
	box-shadow: none;
	color: #fff;
	font-family: inherit;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

body:not(#mn-design) form.b2b-reg .b2b-reg__button:hover {
	border-color: var(--mn-accent-hover);
	background: var(--mn-accent-hover);
	color: #fff;
}

body:not(#mn-design) form.b2b-reg .b2b-reg__button:focus-visible {
	outline: 2px solid var(--mn-accent);
	outline-offset: 2px;
}

/* Fehlerliste oben im Formular wie die übrigen Hinweise. */
body:not(#mn-design) form.b2b-reg .b2b-reg__errors {
	margin: 0;
	padding: 16px 20px;
	border: 1px solid rgba(179, 38, 30, 0.3);
	border-radius: 12px;
	background: #fdf5f4;
	color: var(--mn-text);
}

@media (max-width: 767px) {
	body:not(#mn-design):has(form.b2b-reg) .site-main {
		padding: 24px 16px 64px;
	}

	body:not(#mn-design):has(form.b2b-reg) .page-header .entry-title {
		margin-bottom: 24px;
		font-size: 34px;
	}

	body:not(#mn-design) form.b2b-reg .b2b-reg__section {
		grid-template-columns: minmax(0, 1fr);
		padding: 20px 16px;
	}

	body:not(#mn-design) form.b2b-reg .b2b-reg__section > :is(.form-row-first, .form-row-last) {
		grid-column: 1 / -1;
	}
}

@media (prefers-reduced-motion: reduce) {
	body:not(#mn-design) form.b2b-reg :is(input, select, textarea, button) {
		transition: none;
	}
}

/* ===================================================================== *
 * Danke-Seite nach der Registrierung ([b2b_registration_thanks])
 * ===================================================================== */

body:not(#mn-design) .b2b-thanks {
	display: flex;
	flex-direction: column;
	gap: 40px;
	color: var(--mn-text);
}

body:not(#mn-design) .b2b-thanks svg {
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* Danke-Karte. */
body:not(#mn-design) .b2b-thanks__hero {
	display: flex;
	align-items: flex-start;
	gap: 24px;
	padding: 40px;
	border: 1px solid var(--mn-border);
	border-radius: 24px;
	background: #f5fbff;
}

body:not(#mn-design) .b2b-thanks__badge {
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	inline-size: 56px;
	block-size: 56px;
	border-radius: 50%;
	background: var(--mn-accent);
	color: #fff;
}

body:not(#mn-design) .b2b-thanks__badge svg {
	inline-size: 28px;
	block-size: 28px;
	stroke-width: 2.6;
}

body:not(#mn-design) .b2b-thanks__title {
	margin: 0 0 12px;
	color: var(--mn-accent);
	font-family: "Bricolage Grotesque", sans-serif;
	font-size: 44px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -0.01em;
}

body:not(#mn-design) .b2b-thanks__text {
	max-inline-size: 640px;
	margin: 0 0 24px;
	color: var(--mn-muted);
	font-size: 17px;
	line-height: 1.55;
}

body:not(#mn-design) .b2b-thanks__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0;
}

body:not(#mn-design) .b2b-thanks__button,
body:not(#mn-design) .b2b-thanks__button:visited {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	box-sizing: border-box;
	min-block-size: 52px;
	padding: 0 24px;
	border: 1px solid var(--mn-border);
	border-radius: var(--mn-radius);
	background: #fff;
	color: var(--mn-accent);
	font-size: 16px;
	font-weight: 600;
	text-decoration: none;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

body:not(#mn-design) .b2b-thanks__button:hover {
	border-color: rgba(var(--mn-accent-rgb, 40, 53, 131), 0.35);
	background: var(--mn-tint);
	color: var(--mn-accent);
}

body:not(#mn-design) .b2b-thanks__button--primary,
body:not(#mn-design) .b2b-thanks__button--primary:visited {
	border-color: var(--mn-accent);
	background: var(--mn-accent);
	color: #fff;
}

body:not(#mn-design) .b2b-thanks__button--primary:hover {
	border-color: var(--mn-accent-hover);
	background: var(--mn-accent-hover);
	color: #fff;
}

body:not(#mn-design) .b2b-thanks__button svg {
	inline-size: 18px;
	block-size: 18px;
}

body:not(#mn-design) .b2b-thanks__button:focus-visible,
body:not(#mn-design) .b2b-thanks__link:focus-visible {
	outline: 2px solid var(--mn-accent);
	outline-offset: 2px;
}

/* Abschnitte. */
body:not(#mn-design) .b2b-thanks__heading {
	margin: 0 0 16px;
	color: var(--mn-accent);
	font-family: "Bricolage Grotesque", sans-serif;
	font-size: 26px;
	font-weight: 600;
	line-height: 1.25;
}

body:not(#mn-design) .b2b-thanks__tips,
body:not(#mn-design) .b2b-thanks__links {
	margin: 0;
	padding: 0;
	list-style: none;
}

body:not(#mn-design) .b2b-thanks__tips {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

body:not(#mn-design) .b2b-thanks__tip {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 24px;
	border: 1px solid var(--mn-border);
	border-radius: 16px;
	background: #fff;
}

body:not(#mn-design) .b2b-thanks__tip strong {
	color: var(--mn-text);
	font-size: 16px;
}

body:not(#mn-design) .b2b-thanks__tip span:last-child {
	color: var(--mn-muted);
	font-size: 14px;
	line-height: 1.5;
}

body:not(#mn-design) .b2b-thanks__tip-icon {
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	inline-size: 40px;
	block-size: 40px;
	margin-bottom: 6px;
	border-radius: 12px;
	background: var(--mn-tint);
	color: var(--mn-accent);
}

body:not(#mn-design) .b2b-thanks__tip-icon svg {
	inline-size: 20px;
	block-size: 20px;
}

/* Inhalts-Kacheln aus dem Menü. */
body:not(#mn-design) .b2b-thanks__groups {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
	gap: 16px;
}

body:not(#mn-design) .b2b-thanks__group {
	padding: 24px;
	border: 1px solid var(--mn-border);
	border-radius: 16px;
	background: #fff;
}

body:not(#mn-design) .b2b-thanks__group-title {
	margin: 0 0 8px;
	color: #666c96;
	font-family: inherit;
	font-size: 13px;
	font-weight: 600;
}

body:not(#mn-design) .b2b-thanks__link {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 20px;
	column-gap: 12px;
	align-items: center;
	margin: 0 -12px;
	padding: 12px;
	border-radius: 12px;
	color: var(--mn-text);
	text-decoration: none;
	transition: background-color 0.2s ease;
}

body:not(#mn-design) .b2b-thanks__link:hover {
	background: var(--mn-tint);
}

body:not(#mn-design) .b2b-thanks__link-title {
	grid-column: 1;
	color: var(--mn-accent);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.35;
}

body:not(#mn-design) .b2b-thanks__link-text {
	grid-column: 1;
	color: var(--mn-muted);
	font-size: 14px;
	line-height: 1.45;
}

body:not(#mn-design) .b2b-thanks__link svg {
	grid-column: 2;
	grid-row: 1 / span 2;
	inline-size: 18px;
	block-size: 18px;
	color: #b9bedc;
	transition: color 0.2s ease, transform 0.2s ease;
}

body:not(#mn-design) .b2b-thanks__link:hover svg {
	color: var(--mn-accent);
	transform: translateX(2px);
}

/* Kontaktzeile. */
body:not(#mn-design) .b2b-thanks__contact {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 0;
	padding: 20px 24px;
	border: 1px solid var(--mn-border);
	border-radius: 16px;
	background: #fff;
	color: var(--mn-text);
	font-size: 15px;
}

body:not(#mn-design) .b2b-thanks__contact .b2b-thanks__tip-icon {
	margin: 0;
}

body:not(#mn-design) .b2b-thanks__contact a {
	color: var(--mn-accent);
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
}

body:not(#mn-design) .b2b-thanks__contact a:hover {
	text-decoration: underline;
}

@media (max-width: 1024px) {
	body:not(#mn-design) .b2b-thanks__tips {
		grid-template-columns: minmax(0, 1fr);
	}

	body:not(#mn-design) .b2b-thanks__title {
		font-size: 38px;
	}
}

@media (max-width: 767px) {
	body:not(#mn-design) .b2b-thanks {
		gap: 32px;
	}

	body:not(#mn-design) .b2b-thanks__hero {
		flex-direction: column;
		gap: 16px;
		padding: 24px 20px;
	}

	body:not(#mn-design) .b2b-thanks__badge {
		inline-size: 48px;
		block-size: 48px;
	}

	body:not(#mn-design) .b2b-thanks__title {
		font-size: 32px;
	}

	body:not(#mn-design) .b2b-thanks__text {
		font-size: 16px;
	}

	body:not(#mn-design) .b2b-thanks__button {
		flex: 1 1 100%;
		justify-content: center;
	}

	body:not(#mn-design) .b2b-thanks__tip,
	body:not(#mn-design) .b2b-thanks__group {
		padding: 20px 16px;
	}

	body:not(#mn-design) .b2b-thanks__contact {
		align-items: flex-start;
		padding: 16px;
	}
}

@media (prefers-reduced-motion: reduce) {
	body:not(#mn-design) .b2b-thanks :is(a, svg) {
		transition: none;
	}
}

/* ===================================================================== *
 * Kundenkonto („Mein Konto")
 * ===================================================================== */

/* Breite und Titel wie auf den übrigen Shop-Seiten (Seite ist Theme-Vorlage). */
body:not(#mn-design).woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	align-items: start;
	gap: 32px;
}

body:not(#mn-design) .woocommerce-MyAccount-navigation,
body:not(#mn-design) .woocommerce-MyAccount-content {
	float: none;
	inline-size: auto;
	margin: 0;
}

/* Clearfix von WooCommerce würde im Raster als eigenes Element zählen. */
body:not(#mn-design).woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation)::before,
body:not(#mn-design).woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation)::after {
	content: none;
	display: none;
}

/* Feste Plätze: Menü links, Inhalt rechts, alles Übrige (Hinweise u. ä.) darüber. */
body:not(#mn-design).woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) > * {
	grid-column: 1 / -1;
}

body:not(#mn-design).woocommerce-account .woocommerce > .woocommerce-MyAccount-navigation {
	grid-column: 1;
	grid-row: 2;
}

body:not(#mn-design).woocommerce-account .woocommerce > .woocommerce-MyAccount-content {
	grid-column: 2;
	grid-row: 2;
}

/* Leerer Hinweis-Container von WooCommerce: Der Inhalt ist ein Flex-Stapel mit
   Abstand, das leere Element schob alles 24 px unter die Oberkante des Menüs. */
body:not(#mn-design) .woocommerce-MyAccount-content > .woocommerce-notices-wrapper:not(:has(*)) {
	display: none;
}

/* Einleitung unter „Mein Konto" (includes/account.php), über Menü und Inhalt. */
body:not(#mn-design).woocommerce-account .mn-konto-intro {
	max-inline-size: 760px;
	margin: -8px 0 8px;
	color: var(--mn-muted);
	font-size: 16px;
	line-height: 1.55;
	text-wrap: pretty;
}

/* --- Menü links ------------------------------------------------------- */

body:not(#mn-design) .woocommerce-MyAccount-navigation {
	position: sticky;
	top: 120px;
	padding: 12px;
	border: 1px solid var(--mn-border);
	border-radius: 16px;
	background: #fff;
}

body:not(#mn-design) .woocommerce-MyAccount-navigation ul {
	display: flex;
	flex-direction: column;
	gap: 2px;
	margin: 0;
	padding: 0;
	list-style: none;
}

body:not(#mn-design) .woocommerce-MyAccount-navigation li {
	margin: 0;
	padding: 0;
}

body:not(#mn-design) .woocommerce-MyAccount-navigation a {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 12px;
	border-radius: 10px;
	color: var(--mn-text);
	font-size: 15px;
	font-weight: 500;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color 0.2s ease, color 0.2s ease;
}

body:not(#mn-design) .woocommerce-MyAccount-navigation a::before {
	content: "";
	flex: none;
	inline-size: 20px;
	block-size: 20px;
	background: currentColor;
	-webkit-mask: center / contain no-repeat;
	mask: center / contain no-repeat;
}

body:not(#mn-design) .woocommerce-MyAccount-navigation a::before {
	color: #666c96;
	background: #666c96;
}

body:not(#mn-design) .woocommerce-MyAccount-navigation a:hover {
	background: var(--mn-tint);
	color: var(--mn-accent);
}

body:not(#mn-design) .woocommerce-MyAccount-navigation .is-active a {
	background: var(--mn-accent);
	color: #fff;
	font-weight: 600;
}

body:not(#mn-design) .woocommerce-MyAccount-navigation .is-active a::before {
	background: #fff;
}

body:not(#mn-design) .woocommerce-MyAccount-navigation a:focus-visible {
	outline: 2px solid var(--mn-accent);
	outline-offset: 2px;
}

/* Abmelden abgesetzt und ruhig. */
body:not(#mn-design) .woocommerce-MyAccount-navigation-link--customer-logout {
	margin-top: 6px !important;
	padding-top: 6px !important;
	border-top: 1px solid rgba(var(--mn-accent-rgb, 40, 53, 131), 0.1);
}

body:not(#mn-design) .woocommerce-MyAccount-navigation-link--customer-logout a {
	color: var(--mn-muted);
}

body:not(#mn-design) .woocommerce-MyAccount-navigation-link--customer-logout a:hover {
	background: rgba(179, 38, 30, 0.06);
	color: #b3261e;
}

body:not(#mn-design) .woocommerce-MyAccount-navigation-link--dashboard a::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 11.5 12 5l8 6.5V19a1 1 0 0 1-1 1h-4.5v-5h-5v5H5a1 1 0 0 1-1-1z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 11.5 12 5l8 6.5V19a1 1 0 0 1-1 1h-4.5v-5h-5v5H5a1 1 0 0 1-1-1z'/%3E%3C/svg%3E");
}

body:not(#mn-design) .woocommerce-MyAccount-navigation-link--orders a::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h9l3 3v15H6z'/%3E%3Cpath d='M9 10h6M9 14h6M9 18h4'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h9l3 3v15H6z'/%3E%3Cpath d='M9 10h6M9 14h6M9 18h4'/%3E%3C/svg%3E");
}

body:not(#mn-design) .woocommerce-MyAccount-navigation-link--schnellbestellung a::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6h10M4 12h10M4 18h7'/%3E%3Cpath d='M18 14v6M15 17h6'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6h10M4 12h10M4 18h7'/%3E%3Cpath d='M18 14v6M15 17h6'/%3E%3C/svg%3E");
}

body:not(#mn-design) .woocommerce-MyAccount-navigation-link--downloads a::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11M7 10l5 5 5-5M5 20h14'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11M7 10l5 5 5-5M5 20h14'/%3E%3C/svg%3E");
}

body:not(#mn-design) .woocommerce-MyAccount-navigation-link--edit-address a::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5A7 7 0 0 1 19 9.5C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5A7 7 0 0 1 19 9.5C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E");
}

body:not(#mn-design) .woocommerce-MyAccount-navigation-link--edit-account a::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4.5 20a7.5 7.5 0 0 1 15 0'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4.5 20a7.5 7.5 0 0 1 15 0'/%3E%3C/svg%3E");
}

body:not(#mn-design) .woocommerce-MyAccount-navigation-link--wishlist a::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7.5-4.6-7.5-10A4.3 4.3 0 0 1 12 7.4 4.3 4.3 0 0 1 19.5 10c0 5.4-7.5 10-7.5 10z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7.5-4.6-7.5-10A4.3 4.3 0 0 1 12 7.4 4.3 4.3 0 0 1 19.5 10c0 5.4-7.5 10-7.5 10z'/%3E%3C/svg%3E");
}

body:not(#mn-design) .woocommerce-MyAccount-navigation-link--bewertung a::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.8l2.5 5.1 5.6.8-4 4 .9 5.6-5-2.6-5 2.6.9-5.6-4-4 5.6-.8z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.8l2.5 5.1 5.6.8-4 4 .9 5.6-5-2.6-5 2.6.9-5.6-4-4 5.6-.8z'/%3E%3C/svg%3E");
}

body:not(#mn-design) .woocommerce-MyAccount-navigation-link--kunden-werben a::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 20v-1.5a3.5 3.5 0 0 0-3.5-3.5h-5A3.5 3.5 0 0 0 4 18.5V20'/%3E%3Ccircle cx='10' cy='8' r='3.5'/%3E%3Cpath d='M19 8v6M22 11h-6'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 20v-1.5a3.5 3.5 0 0 0-3.5-3.5h-5A3.5 3.5 0 0 0 4 18.5V20'/%3E%3Ccircle cx='10' cy='8' r='3.5'/%3E%3Cpath d='M19 8v6M22 11h-6'/%3E%3C/svg%3E");
}

body:not(#mn-design) .woocommerce-MyAccount-navigation-link--customer-logout a::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 4h3a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-3M10 16l-4-4 4-4M6 12h10'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 4h3a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-3M10 16l-4-4 4-4M6 12h10'/%3E%3C/svg%3E");
}

body:not(#mn-design) .woocommerce-MyAccount-navigation-link--shop a::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1.3'/%3E%3Ccircle cx='18' cy='20' r='1.3'/%3E%3Cpath d='M2.5 3.5h2.6l2.4 12h11.2l2-8.5H6.2'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1.3'/%3E%3Ccircle cx='18' cy='20' r='1.3'/%3E%3Cpath d='M2.5 3.5h2.6l2.4 12h11.2l2-8.5H6.2'/%3E%3C/svg%3E");
}

/* --- Übersicht -------------------------------------------------------- */

body:not(#mn-design) .mn-dash {
	display: flex;
	flex-direction: column;
	gap: 32px;
}

body:not(#mn-design) .mn-dash__title {
	margin: 0 0 6px;
	color: var(--mn-accent);
	font-family: "Bricolage Grotesque", sans-serif;
	font-size: 30px;
	font-weight: 600;
	line-height: 1.2;
}

body:not(#mn-design) .mn-dash__text {
	margin: 0;
	color: var(--mn-muted);
	font-size: 15px;
	line-height: 1.55;
}

body:not(#mn-design) .mn-dash__text a {
	color: var(--mn-accent);
	text-decoration: underline;
}

body:not(#mn-design) .mn-dash__section-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 12px;
}

body:not(#mn-design) .mn-dash__heading {
	margin: 0 0 12px;
	color: var(--mn-accent);
	font-family: "Bricolage Grotesque", sans-serif;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.3;
}

body:not(#mn-design) .mn-dash__section-head .mn-dash__heading {
	margin: 0;
}

body:not(#mn-design) .mn-dash__more {
	color: var(--mn-accent);
	font-size: 14px;
	font-weight: 600;
	text-decoration: underline;
}

body:not(#mn-design) :is(.mn-dash__orders, .mn-dash__stats, .mn-dash__often) {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Zahlen: offene Überweisung, dieses Jahr, insgesamt. */
body:not(#mn-design) .mn-dash__stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

body:not(#mn-design) .mn-dash__stat {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin: 0;
	padding: 20px;
	border: 1px solid var(--mn-border);
	border-radius: 16px;
	background: #fff;
}

body:not(#mn-design) .mn-dash__stat--offen {
	border-color: rgba(242, 165, 22, 0.55);
	background: #fffaf0;
}

body:not(#mn-design) .mn-dash__stat-label {
	color: var(--mn-muted);
	font-size: 13px;
	font-weight: 600;
}

body:not(#mn-design) .mn-dash__stat-value,
body:not(#mn-design) .mn-dash__stat-value .amount {
	color: var(--mn-accent);
	font-family: "Bricolage Grotesque", sans-serif;
	font-size: 28px;
	font-weight: 600;
	line-height: 1.2;
	font-variant-numeric: tabular-nums;
}

body:not(#mn-design) .mn-dash__stat-text {
	color: var(--mn-muted);
	font-size: 14px;
	line-height: 1.45;
}

body:not(#mn-design) .mn-dash__stat-link {
	margin-top: 6px;
	color: var(--mn-accent);
	font-size: 14px;
	font-weight: 600;
	text-decoration: underline;
}

/* Letzte Bestellungen: Nummer, Datum und Artikel, Status, Summe, Erneut bestellen. */
body:not(#mn-design) .mn-dash__orders {
	border: 1px solid var(--mn-border);
	border-radius: 16px;
	background: #fff;
	overflow: hidden;
}

body:not(#mn-design) .mn-dash__orders li + li {
	border-top: 1px solid rgba(var(--mn-accent-rgb, 40, 53, 131), 0.09);
}

body:not(#mn-design) .mn-dash__order {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto 132px;
	grid-template-rows: auto auto;
	align-items: center;
	column-gap: 16px;
	row-gap: 2px;
	margin: 0;
	padding: 14px 20px;
	color: var(--mn-text);
}

body:not(#mn-design) .mn-dash__order-no {
	grid-column: 1;
	color: var(--mn-accent);
	font-weight: 600;
	text-decoration: none;
}

body:not(#mn-design) .mn-dash__order-no:hover {
	text-decoration: underline;
}

body:not(#mn-design) .mn-dash__order-meta {
	grid-column: 1;
	grid-row: 2;
	color: var(--mn-muted);
	font-size: 13px;
}

body:not(#mn-design) .mn-dash__order .mn-status {
	grid-column: 2;
	grid-row: 1 / span 2;
}

body:not(#mn-design) .mn-dash__order-total {
	grid-column: 3;
	grid-row: 1 / span 2;
	min-inline-size: 80px;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	text-align: end;
}

body:not(#mn-design) .mn-dash__order-again {
	grid-column: 4;
	grid-row: 1 / span 2;
	justify-self: end;
}

body:not(#mn-design) a.mn-dash__order-again {
	padding: 8px 12px;
	border: 1px solid var(--mn-border);
	border-radius: 10px;
	color: var(--mn-accent);
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}

body:not(#mn-design) a.mn-dash__order-again:hover {
	border-color: var(--mn-accent);
	background: var(--mn-tint);
}

/* Häufig bestellt. */
body:not(#mn-design) .mn-dash__often {
	display: grid;
	gap: 8px;
}

body:not(#mn-design) .mn-dash__often li {
	margin: 0;
}

body:not(#mn-design) .mn-dash__often-item {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr) auto;
	align-items: center;
	gap: 14px;
	padding: 10px 16px 10px 10px;
	border: 1px solid var(--mn-border);
	border-radius: 14px;
	background: #fff;
	color: var(--mn-text);
	text-decoration: none;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

body:not(#mn-design) .mn-dash__often-item:hover {
	border-color: rgba(var(--mn-accent-rgb, 40, 53, 131), 0.35);
	box-shadow: var(--mn-ring);
	color: var(--mn-text);
}

body:not(#mn-design) .mn-dash__often-img img {
	display: block;
	inline-size: 48px;
	block-size: 48px;
	border-radius: 10px;
	object-fit: contain;
}

body:not(#mn-design) .mn-dash__often-text {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-inline-size: 0;
}

body:not(#mn-design) .mn-dash__often-name {
	color: var(--mn-accent);
	font-weight: 600;
}

body:not(#mn-design) .mn-dash__often-details {
	overflow: hidden;
	color: var(--mn-muted);
	font-size: 13px;
	text-overflow: ellipsis;
	white-space: nowrap;
}

body:not(#mn-design) .mn-dash__often-count {
	padding: 4px 10px;
	border-radius: 999px;
	background: var(--mn-tint);
	color: var(--mn-accent);
	font-size: 12px;
	font-weight: 600;
	white-space: nowrap;
}

/* Ihre Daten. */
body:not(#mn-design) .mn-dash__data {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

body:not(#mn-design) .mn-dash__card {
	padding: 18px 20px;
	border: 1px solid var(--mn-border);
	border-radius: 16px;
	background: #fff;
}

body:not(#mn-design) .mn-dash__card-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 8px;
}

body:not(#mn-design) .mn-dash__card-title {
	color: var(--mn-accent);
	font-weight: 600;
}

body:not(#mn-design) .mn-dash__card-edit {
	color: var(--mn-accent);
	font-size: 13px;
	font-weight: 600;
	text-decoration: underline;
}

body:not(#mn-design) .mn-dash__card-text {
	margin: 0;
	color: var(--mn-text);
	font-size: 14px;
	font-style: normal;
	line-height: 1.55;
	overflow-wrap: anywhere;
}

@media (max-width: 1024px) {
	body:not(#mn-design) :is(.mn-dash__stats, .mn-dash__data) {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Kontostatus aus b2b-registration: Liste ohne Einzug. */
body:not(#mn-design) .b2b-account-status {
	margin: 0;
}

body:not(#mn-design) .b2b-account-status :is(p, ul) {
	margin: 0;
}

body:not(#mn-design) .b2b-account-status ul {
	margin-top: 6px;
	padding: 0;
	list-style: none;
	color: var(--mn-muted);
	font-size: 14px;
}

/* --- Status-Badges ---------------------------------------------------- */

body:not(#mn-design) .mn-status {
	display: inline-flex;
	align-items: center;
	padding: 4px 10px;
	border-radius: 999px;
	background: var(--mn-tint);
	color: var(--mn-accent);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.3;
	white-space: nowrap;
}

body:not(#mn-design) .mn-status--completed {
	background: #e8f5ee;
	color: #1f7a4d;
}

body:not(#mn-design) :is(.mn-status--on-hold, .mn-status--pending) {
	background: #fdf3e1;
	color: #8a5a00;
}

body:not(#mn-design) :is(.mn-status--cancelled, .mn-status--failed, .mn-status--refunded) {
	background: #fdf0ef;
	color: #b3261e;
}

/* --- Bestellung im Konto: Zahlung ausstehend (includes/girocode.php) ---- */

body:not(#mn-design) .woocommerce-MyAccount-content .mn-zahlung-offen {
	display: grid;
	gap: 16px;
	margin: 0 0 24px;
}

body:not(#mn-design) .mn-zahlung-offen__hinweis {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 18px 20px;
	border: 1px solid #f3dfb8;
	border-radius: 16px;
	background: #fdf6e8;
}

body:not(#mn-design) .mn-zahlung-offen__icon {
	display: grid;
	flex: none;
	place-items: center;
	inline-size: 40px;
	block-size: 40px;
	border-radius: 50%;
	background: #f6e3bd;
	color: #8a5a00;
}

body:not(#mn-design) .mn-zahlung-offen__titel {
	margin: 0 0 2px;
	color: #6b4600;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.35;
}

body:not(#mn-design) .mn-zahlung-offen__text {
	margin: 0;
	color: #6b4f1d;
	font-size: 15px;
	line-height: 1.55;
}

body:not(#mn-design) .mn-zahlung-offen__text strong {
	color: #4d3300;
	white-space: nowrap;
}

/* Bankverbindung ohne Abstand nach unten, der Hinweis ordnet. */
body:not(#mn-design) .mn-zahlung-offen .woocommerce-bacs-bank-details {
	margin: 0;
}

/* --- Bestellliste ----------------------------------------------------- */

body:not(#mn-design) .woocommerce-orders-table {
	inline-size: 100%;
	margin: 0;
	border: 1px solid var(--mn-border);
	border-collapse: separate;
	border-spacing: 0;
	border-radius: 16px;
	background: #fff;
	overflow: hidden;
}

body:not(#mn-design) .woocommerce-orders-table :is(th, td) {
	padding: 14px 20px;
	border: 0;
	border-bottom: 1px solid rgba(var(--mn-accent-rgb, 40, 53, 131), 0.09);
	background: none;
	color: var(--mn-text);
	font-size: 15px;
	font-variant-numeric: tabular-nums;
	text-align: start;
	vertical-align: middle;
}

body:not(#mn-design) .woocommerce-orders-table tbody tr:last-child :is(th, td) {
	border-bottom: 0;
}

body:not(#mn-design) .woocommerce-orders-table thead th {
	color: #666c96;
	font-size: 13px;
	font-weight: 600;
}

body:not(#mn-design) .woocommerce-orders-table__cell-order-number a {
	color: var(--mn-accent);
	font-weight: 600;
	text-decoration: none;
}

body:not(#mn-design) .woocommerce-orders-table__cell-order-actions {
	text-align: end !important;
}

body:not(#mn-design) .woocommerce-orders-table .button {
	min-block-size: 38px;
	margin: 2px 0 2px 6px;
	padding: 0 16px;
	font-size: 14px;
}

body:not(#mn-design) .woocommerce-pagination--without-numbers {
	display: flex;
	gap: 12px;
	margin-top: 16px;
}

/* „Erneut bestellen" unter der Bestellung (includes/reorder.php) */
body:not(#mn-design) .mn-reorder {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 16px;
	margin: 20px 0 0;
}

body:not(#mn-design) .mn-reorder__btn,
body:not(#mn-design) .mn-reorder__btn:visited {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-block-size: 48px;
	padding: 0 22px;
	border: 1px solid var(--mn-accent);
	border-radius: var(--mn-radius);
	background: var(--mn-accent);
	color: #fff;
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

body:not(#mn-design) .mn-reorder__btn:hover {
	border-color: var(--mn-accent-hover);
	background: var(--mn-accent-hover);
	color: #fff;
}

body:not(#mn-design) .mn-reorder__btn:focus-visible {
	outline: 2px solid var(--mn-accent);
	outline-offset: 2px;
}

body:not(#mn-design) .mn-reorder__btn svg {
	inline-size: 18px;
	block-size: 18px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

body:not(#mn-design) .mn-reorder__hint {
	color: var(--mn-muted);
	font-size: 14px;
}

/* --- Adressen ---------------------------------------------------------- */

body:not(#mn-design) .woocommerce-MyAccount-content > p:first-of-type:has(+ .woocommerce-Addresses) {
	margin: 0 0 16px;
	color: var(--mn-muted);
}

body:not(#mn-design) .woocommerce-Addresses {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
	gap: 16px;
}

body:not(#mn-design) .woocommerce-Addresses::before,
body:not(#mn-design) .woocommerce-Addresses::after {
	content: none;
	display: none;
}

body:not(#mn-design) .woocommerce-Addresses .woocommerce-Address {
	float: none;
	inline-size: auto;
	max-inline-size: none;
	margin: 0;
	padding: 24px;
	border: 1px solid var(--mn-border);
	border-radius: 16px;
	background: #fff;
}

body:not(#mn-design) .woocommerce-Address-title {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 12px;
}

body:not(#mn-design) .woocommerce-Address-title::before,
body:not(#mn-design) .woocommerce-Address-title::after {
	content: none;
	display: none;
}

body:not(#mn-design) .woocommerce-Address-title h2 {
	float: none;
	margin: 0;
	color: var(--mn-accent);
	font-family: "Bricolage Grotesque", sans-serif;
	font-size: 20px;
	font-weight: 600;
}

body:not(#mn-design) .woocommerce-Address-title .edit {
	float: none;
	display: inline-flex;
	align-items: center;
	min-block-size: 36px;
	padding: 0 14px;
	border: 1px solid var(--mn-border);
	border-radius: 10px;
	color: var(--mn-accent);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

body:not(#mn-design) .woocommerce-Address-title .edit:hover {
	border-color: rgba(var(--mn-accent-rgb, 40, 53, 131), 0.35);
	background: var(--mn-tint);
}

body:not(#mn-design) .woocommerce-Address address {
	margin: 0;
	color: var(--mn-text);
	font-style: normal;
	line-height: 1.6;
}

/* --- Formulare: Adresse bearbeiten, Kontodetails ----------------------- */

body:not(#mn-design) .woocommerce-MyAccount-content > form:is(.woocommerce-EditAccountForm, [method="post"]) {
	max-inline-size: 880px;
	padding: 32px;
	border: 1px solid var(--mn-border);
	border-radius: 16px;
	background: #fff;
}

body:not(#mn-design) .woocommerce-MyAccount-content > form > h2,
body:not(#mn-design) .woocommerce-MyAccount-content form fieldset legend {
	margin: 0 0 20px;
	color: var(--mn-accent);
	font-family: "Bricolage Grotesque", sans-serif;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.3;
}

body:not(#mn-design) :is(.woocommerce-address-fields__field-wrapper, .woocommerce-EditAccountForm) {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

body:not(#mn-design) :is(.woocommerce-address-fields__field-wrapper, .woocommerce-EditAccountForm) > :is(p, fieldset, div) {
	grid-column: 1 / -1;
	float: none;
	inline-size: auto;
	margin: 0;
	padding: 0;
}

body:not(#mn-design) :is(.woocommerce-address-fields__field-wrapper, .woocommerce-EditAccountForm) > :is(.form-row-first, .form-row-last) {
	grid-column: auto;
}

body:not(#mn-design) :is(.woocommerce-address-fields__field-wrapper, .woocommerce-EditAccountForm) > .clear {
	display: none;
}

body:not(#mn-design) .woocommerce-MyAccount-content form .form-row label:not(.checkbox):not(.woocommerce-form__label-for-checkbox) {
	display: block;
	margin: 0 0 8px;
	color: var(--mn-text);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
}

body:not(#mn-design) .woocommerce-MyAccount-content form :is(.required, abbr.required) {
	border: 0;
	color: var(--mn-accent);
	text-decoration: none;
}

body:not(#mn-design) .woocommerce-MyAccount-content form .optional {
	color: #666c96;
	font-weight: 400;
}

body:not(#mn-design) .woocommerce-MyAccount-content form :is(.input-text, select) {
	inline-size: 100%;
}

body:not(#mn-design) .woocommerce-MyAccount-content form :is(em, .description) {
	display: block;
	margin-top: 6px;
	color: #666c96;
	font-size: 13px;
	font-style: normal;
}

/* Passwort ändern: eigener Kasten im Formular. */
body:not(#mn-design) .woocommerce-EditAccountForm fieldset {
	display: grid;
	gap: 16px;
	margin: 8px 0 0 !important;
	padding: 24px !important;
	border: 1px solid var(--mn-border);
	border-radius: 12px;
	background: #f9fbfe;
}

body:not(#mn-design) .woocommerce-EditAccountForm fieldset legend {
	float: left;
	inline-size: 100%;
	margin-bottom: 4px;
	padding: 0;
	font-size: 18px;
}

body:not(#mn-design) .woocommerce-EditAccountForm fieldset > p {
	float: none;
	inline-size: auto;
	margin: 0;
}

body:not(#mn-design) .woocommerce-MyAccount-content .password-input {
	display: block;
	position: relative;
}

body:not(#mn-design) .woocommerce-MyAccount-content .show-password-input {
	top: 50%;
	right: 12px;
	transform: translateY(-50%);
}

/* Landauswahl (select2) gleich hoch wie die Felder. */
body:not(#mn-design) .woocommerce-MyAccount-content .select2-container .select2-selection--single {
	block-size: var(--mn-height);
	border: 1px solid var(--mn-border);
	border-radius: var(--mn-radius);
}

body:not(#mn-design) .woocommerce-MyAccount-content .select2-container .select2-selection--single .select2-selection__rendered {
	padding-inline: 16px;
	color: var(--mn-text);
	line-height: calc(var(--mn-height) - 2px);
}

body:not(#mn-design) .woocommerce-MyAccount-content .select2-container .select2-selection--single .select2-selection__arrow {
	block-size: calc(var(--mn-height) - 2px);
	right: 8px;
}

body:not(#mn-design) .woocommerce-MyAccount-content form button[type="submit"] {
	min-block-size: 52px;
	margin-top: 8px;
	padding: 0 32px;
	font-size: 16px;
}

/* Leere Bereiche (z. B. Wunschliste) als ruhige Karte. */
body:not(#mn-design) .woocommerce-MyAccount-content > p:only-child,
body:not(#mn-design) .woocommerce-MyAccount-content > .woocommerce-notices-wrapper:first-child + p:last-child {
	margin: 0;
	padding: 32px;
	border: 1px dashed var(--mn-border);
	border-radius: 16px;
	background: #fff;
	color: var(--mn-muted);
	text-align: center;
}

/* „Bestellung ansehen": Einleitungssatz als Zeile mit hervorgehobenen Werten. */
body:not(#mn-design) .woocommerce-MyAccount-content > p:has(> mark.order-number) {
	margin: 0 0 24px;
	color: var(--mn-muted);
}

body:not(#mn-design) .woocommerce-MyAccount-content mark {
	background: none;
	color: var(--mn-text);
	font-weight: 600;
}

body:not(#mn-design) .woocommerce-MyAccount-content :is(.woocommerce-order-details, .woocommerce-customer-details) + :is(.woocommerce-order-details, .woocommerce-customer-details) {
	margin-top: 24px;
}

/* --- Handy: Menü als wischbare Leiste über dem Inhalt ------------------ */

@media (max-width: 900px) {
	body:not(#mn-design).woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
	}

	body:not(#mn-design).woocommerce-account .woocommerce > .woocommerce-MyAccount-content {
		grid-column: 1;
		grid-row: 3;
	}

	body:not(#mn-design) .woocommerce-MyAccount-navigation {
		position: static;
		margin: 0 -16px;
		padding: 0 16px;
		border: 0;
		border-radius: 0;
		background: none;
		overflow-x: auto;
		scrollbar-width: none;
	}

	body:not(#mn-design) .woocommerce-MyAccount-navigation::-webkit-scrollbar {
		display: none;
	}

	body:not(#mn-design) .woocommerce-MyAccount-navigation ul {
		flex-direction: row;
		gap: 8px;
		inline-size: max-content;
	}

	body:not(#mn-design) .woocommerce-MyAccount-navigation a {
		padding: 9px 14px;
		border: 1px solid var(--mn-border);
		border-radius: 999px;
		background: #fff;
		font-size: 14px;
	}

	body:not(#mn-design) .woocommerce-MyAccount-navigation a::before {
		inline-size: 16px;
		block-size: 16px;
	}

	body:not(#mn-design) .woocommerce-MyAccount-navigation .is-active a {
		border-color: var(--mn-accent);
	}

	body:not(#mn-design) .woocommerce-MyAccount-navigation-link--customer-logout {
		margin: 0 !important;
		padding: 0 !important;
		border: 0;
	}
}

@media (max-width: 767px) {
	body:not(#mn-design) .mn-dash__title {
		font-size: 26px;
	}

	body:not(#mn-design) .mn-dash__order {
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-rows: auto auto auto;
		gap: 6px 12px;
		padding: 14px 16px;
	}

	body:not(#mn-design) .mn-dash__order .mn-status {
		grid-column: 2;
		grid-row: 1;
		justify-self: end;
	}

	body:not(#mn-design) .mn-dash__order-total {
		grid-column: 2;
		grid-row: 2;
	}

	body:not(#mn-design) .mn-dash__order-again {
		grid-column: 1 / -1;
		grid-row: 3;
		justify-self: start;
	}

	body:not(#mn-design) .mn-dash__order-again:empty {
		display: none;
	}

	body:not(#mn-design) .mn-dash__often-item {
		grid-template-columns: 40px minmax(0, 1fr);
	}

	body:not(#mn-design) .mn-dash__often-count {
		grid-column: 2;
		justify-self: start;
	}

	body:not(#mn-design) .woocommerce-MyAccount-content > form:is(.woocommerce-EditAccountForm, [method="post"]) {
		padding: 20px 16px;
	}

	body:not(#mn-design) :is(.woocommerce-address-fields__field-wrapper, .woocommerce-EditAccountForm) {
		grid-template-columns: minmax(0, 1fr);
	}

	body:not(#mn-design) :is(.woocommerce-address-fields__field-wrapper, .woocommerce-EditAccountForm) > :is(.form-row-first, .form-row-last) {
		grid-column: 1 / -1;
	}

	body:not(#mn-design) .woocommerce-EditAccountForm fieldset {
		padding: 20px 16px !important;
	}

	/* Bestellliste: jede Bestellung als kleine Karte. */
	body:not(#mn-design) .woocommerce-orders-table {
		border: 0;
		background: none;
	}

	body:not(#mn-design) .woocommerce-orders-table thead {
		display: none;
	}

	body:not(#mn-design) .woocommerce-orders-table tbody tr {
		display: block;
		margin-bottom: 12px;
		padding: 12px 16px;
		border: 1px solid var(--mn-border);
		border-radius: 16px;
		background: #fff;
	}

	body:not(#mn-design) .woocommerce-orders-table tbody :is(th, td) {
		display: flex !important;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		padding: 8px 0;
		border: 0;
		text-align: end !important;
	}

	body:not(#mn-design) .woocommerce-orders-table tbody :is(th, td)::before {
		color: #666c96;
		font-size: 13px;
		font-weight: 600;
	}

	body:not(#mn-design) .woocommerce-orders-table .button {
		margin: 0;
	}

	/* Betrag und „für 5 Artikel" zusammenhalten, Bezeichnung links. */
	body:not(#mn-design) .woocommerce-orders-table tbody td.woocommerce-orders-table__cell-order-total {
		display: block !important;
	}

	body:not(#mn-design) .woocommerce-orders-table tbody td.woocommerce-orders-table__cell-order-total::before {
		float: left;
		margin-inline-end: 12px;
	}
}

@media (prefers-reduced-motion: reduce) {
	body:not(#mn-design) :is(.woocommerce-MyAccount-navigation a, .mn-dash__often-item, a.mn-dash__order-again) {
		transition: none;
	}
}

/* --- Registrierung als Assistent (b2b-registration 1.3) ---------------- */

/* Schmaler, damit drei kurze Schritte nicht verloren wirken. */
body:not(#mn-design) form.b2b-reg.b2b-reg--wizard {
	max-inline-size: 680px;
}

/* Ohne JavaScript: alle Schritte untereinander. Mit: nur der aktive. */
body:not(#mn-design) form.b2b-reg .b2b-reg__step {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

body:not(#mn-design) form.b2b-reg.b2b-reg--js .b2b-reg__step[hidden] {
	display: none;
}

/* Fortschritt: 1 Unternehmen – 2 Kontaktdaten – 3 Abschluss. Kreise und Linie
 * wie die Schrittanzeige von Warenkorb und Kasse (Abschnitt „Schrittanzeige"). */
body:not(#mn-design) form.b2b-reg .b2b-reg__progress {
	margin: 8px 0 16px;
}

body:not(#mn-design) form.b2b-reg .b2b-reg__progress[hidden] {
	display: none;
}

body:not(#mn-design) form.b2b-reg .b2b-reg__progress-step {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
}

body:not(#mn-design) form.b2b-reg .b2b-reg__progress-step.is-done {
	cursor: pointer;
}

body:not(#mn-design) form.b2b-reg .b2b-reg__progress-step.is-done:hover .b2b-reg__progress-label {
	text-decoration: underline;
}

/* Optionales: dezenter Klick-Link mit Plus, klappt Felder auf. */
body:not(#mn-design) form.b2b-reg .b2b-reg__more {
	grid-column: 1 / -1;
	margin: 0;
	border-top: 1px solid rgba(var(--mn-accent-rgb, 40, 53, 131), 0.08);
	padding-top: 4px;
}

body:not(#mn-design) form.b2b-reg .b2b-reg__more + .b2b-reg__more {
	border-top: 0;
	padding-top: 0;
}

body:not(#mn-design) form.b2b-reg .b2b-reg__more > summary {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 0;
	color: var(--mn-accent);
	font-size: 15px;
	font-weight: 600;
	list-style: none;
	cursor: pointer;
}

body:not(#mn-design) form.b2b-reg .b2b-reg__more > summary::-webkit-details-marker {
	display: none;
}

body:not(#mn-design) form.b2b-reg .b2b-reg__more > summary svg {
	flex: none;
	inline-size: 18px;
	block-size: 18px;
	padding: 3px;
	border-radius: 50%;
	background: var(--mn-tint);
	fill: none;
	stroke: currentColor;
	stroke-width: 2.4;
	stroke-linecap: round;
	transition: transform 0.2s ease;
}

body:not(#mn-design) form.b2b-reg .b2b-reg__more[open] > summary svg {
	transform: rotate(45deg);
}

body:not(#mn-design) form.b2b-reg .b2b-reg__more > summary:hover {
	text-decoration: underline;
}

body:not(#mn-design) form.b2b-reg .b2b-reg__more > summary:focus-visible {
	outline: 2px solid var(--mn-accent);
	outline-offset: 2px;
	border-radius: 6px;
}

body:not(#mn-design) form.b2b-reg .b2b-reg__more-body {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	padding: 8px 0 12px;
}

body:not(#mn-design) form.b2b-reg .b2b-reg__more-body > * {
	grid-column: 1 / -1;
	float: none;
	inline-size: auto;
	margin: 0;
}

body:not(#mn-design) form.b2b-reg .b2b-reg__more-body > :is(.form-row-first, .form-row-last) {
	grid-column: auto;
}

body:not(#mn-design) form.b2b-reg .b2b-reg__more-body .b2b-reg__intro {
	margin: 0;
}

/* Weiter / Zurück. */
body:not(#mn-design) form.b2b-reg .b2b-reg__nav {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 16px;
}

body:not(#mn-design) form.b2b-reg .b2b-reg__nav[hidden] {
	display: none;
}

body:not(#mn-design) form.b2b-reg .b2b-reg__nav--final .b2b-reg__submit {
	flex: 1 1 auto;
	margin: 0;
}

body:not(#mn-design) form.b2b-reg .b2b-reg__next,
body:not(#mn-design) form.b2b-reg .b2b-reg__next:focus {
	min-block-size: 52px;
	min-inline-size: 180px;
	padding: 0 28px;
	border: 1px solid var(--mn-accent);
	border-radius: var(--mn-radius);
	background: var(--mn-accent);
	box-shadow: none;
	color: #fff;
	font-family: inherit;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

body:not(#mn-design) form.b2b-reg .b2b-reg__next:hover {
	border-color: var(--mn-accent-hover);
	background: var(--mn-accent-hover);
	color: #fff;
}

body:not(#mn-design) form.b2b-reg .b2b-reg__back,
body:not(#mn-design) form.b2b-reg .b2b-reg__back:hover,
body:not(#mn-design) form.b2b-reg .b2b-reg__back:focus {
	margin-inline-end: auto;
	padding: 12px 4px;
	border: 0;
	background: none;
	box-shadow: none;
	color: var(--mn-muted);
	font-family: inherit;
	font-size: 15px;
	font-weight: 600;
	text-decoration: underline;
	cursor: pointer;
}

body:not(#mn-design) form.b2b-reg .b2b-reg__back:hover {
	color: var(--mn-accent);
}

body:not(#mn-design) form.b2b-reg .b2b-reg__back[hidden] {
	display: none;
}

body:not(#mn-design) form.b2b-reg :is(.b2b-reg__next, .b2b-reg__back):focus-visible {
	outline: 2px solid var(--mn-accent);
	outline-offset: 2px;
}

/* Zusammenfassung in Schritt 3. */
body:not(#mn-design) form.b2b-reg .b2b-reg__summary {
	display: grid;
	grid-column: 1 / -1;
	grid-template-columns: max-content minmax(0, 1fr);
	gap: 10px 20px;
	margin: 0 0 4px;
	padding: 16px 20px;
	border-radius: 12px;
	background: #f5fbff;
	font-size: 15px;
}

body:not(#mn-design) form.b2b-reg .b2b-reg__summary[hidden] {
	display: none;
}

body:not(#mn-design) form.b2b-reg .b2b-reg__summary dt {
	color: #666c96;
	font-size: 14px;
	font-weight: 600;
}

body:not(#mn-design) form.b2b-reg .b2b-reg__summary dd {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin: 0;
	color: var(--mn-text);
	overflow-wrap: anywhere;
}

body:not(#mn-design) form.b2b-reg .b2b-reg__change,
body:not(#mn-design) form.b2b-reg .b2b-reg__change:hover,
body:not(#mn-design) form.b2b-reg .b2b-reg__change:focus {
	flex: none;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
	color: var(--mn-accent);
	font-family: inherit;
	font-size: 13px;
	font-weight: 600;
	text-decoration: underline;
	cursor: pointer;
}

body:not(#mn-design) form.b2b-reg .b2b-reg__notice {
	grid-column: 1 / -1;
	margin: 0;
	color: #666c96;
	font-size: 13px;
	line-height: 1.5;
}

body:not(#mn-design) form.b2b-reg .b2b-reg__notice a {
	color: var(--mn-accent);
}

/* Fehler vom Assistenten wie die vom Server. */
body:not(#mn-design) form.b2b-reg .b2b-reg__error {
	display: block;
	margin-top: 6px;
	color: #b3261e;
	font-size: 13px;
}

body:not(#mn-design) form.b2b-reg .b2b-reg__legend:focus {
	outline: none;
}

@media (max-width: 767px) {
	body:not(#mn-design) form.b2b-reg .b2b-reg__more-body {
		grid-template-columns: minmax(0, 1fr);
	}

	body:not(#mn-design) form.b2b-reg .b2b-reg__more-body > :is(.form-row-first, .form-row-last) {
		grid-column: 1 / -1;
	}

	body:not(#mn-design) form.b2b-reg .b2b-reg__next {
		flex: 1 1 auto;
		min-inline-size: 0;
	}

	body:not(#mn-design) form.b2b-reg .b2b-reg__summary {
		grid-template-columns: minmax(0, 1fr);
		gap: 2px;
		padding: 14px 16px;
	}

	body:not(#mn-design) form.b2b-reg .b2b-reg__summary dd + dt {
		margin-top: 8px;
	}

}

@media (prefers-reduced-motion: reduce) {
	body:not(#mn-design) form.b2b-reg :is(.b2b-reg__progress-step::before, .b2b-reg__progress-no, .b2b-reg__more > summary svg) {
		transition: none;
	}
}

/* ===================================================================== *
 * Produktseite ([mednaht_product])
 * ===================================================================== */

body:not(#mn-design) .mn-product {
	display: flex;
	flex-direction: column;
	gap: 40px;
	color: var(--mn-text);
}

body:not(#mn-design) .mn-product svg {
	fill: none;
	stroke: currentColor;
	stroke-width: 1.9;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* --- Brotkrümel ------------------------------------------------------- */

body:not(#mn-design) .mn-product__crumbs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	margin-bottom: -16px;
	color: #666c96;
	font-size: 14px;
}

body:not(#mn-design) .mn-product__crumbs a {
	color: var(--mn-muted);
	text-decoration: none;
}

body:not(#mn-design) .mn-product__crumbs a:hover {
	color: var(--mn-accent);
	text-decoration: underline;
}

body:not(#mn-design) .mn-product__crumbs svg {
	inline-size: 14px;
	block-size: 14px;
}

body:not(#mn-design) .mn-product__crumbs [aria-current] {
	overflow: hidden;
	max-inline-size: 40ch;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* --- Oben: Galerie und Kaufbox ---------------------------------------- */

body:not(#mn-design) .mn-product__top {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	align-items: start;
	gap: 48px;
}

body:not(#mn-design) .mn-product .woocommerce-product-gallery {
	position: relative;
	float: none !important;
	inline-size: 100% !important;
	margin: 0 !important;
	opacity: 1 !important;
}

body:not(#mn-design) .mn-product .woocommerce-product-gallery .flex-viewport,
body:not(#mn-design) .mn-product .woocommerce-product-gallery__wrapper:not(.flex-viewport .woocommerce-product-gallery__wrapper) {
	border: 1px solid var(--mn-border);
	border-radius: 20px;
	background: #fff;
	overflow: hidden;
}

body:not(#mn-design) .mn-product .woocommerce-product-gallery__image img {
	inline-size: 100%;
	block-size: auto;
	aspect-ratio: 1 / 1;
	box-shadow: none;
	object-fit: contain;
}

/* --- Schnellnavigation (templates/single-product.php) ------------------------
   Leiste über den Abschnitten, klebt beim Scrollen mit etwas Luft unter dem
   Header; die Abschnitte darunter laufen in voller Breite. Zart blauer Grund,
   kräftigere Kontur und Schatten, damit sie sich von den weißen Karten und vom
   Header abhebt. Aktiver
   Abschnitt unterstrichen (aria-current, article-toc.js). Schmal: seitlich
   wischbar.
   --mn-kopf-platz: Abstand von oben. Blendet der Header beim Herunterscrollen
   aus (html.mn-kopf-weg, assets/js/kopf-scroll.js), rückt die Leiste im selben
   Takt nach oben, beim Hochscrollen wieder nach unten. */
body:not(#mn-design).single-product {
	--mn-kopf-platz: 108px;
	--mn-leiste-hoehe: 52px;
	--mn-kopf-takt: 0.38s cubic-bezier(0.22, 1, 0.36, 1);
}

html.mn-kopf-weg body:not(#mn-design).single-product {
	--mn-kopf-platz: 12px;
}

body:not(#mn-design) .mn-product__unten {
	display: flex;
	flex-direction: column;
	gap: 24px;
	margin-block-start: 16px;
}

body:not(#mn-design) .mn-product__abschnitte {
	display: flex;
	flex-direction: column;
	gap: 40px;
	min-inline-size: 0;
}

body:not(#mn-design) .mn-product :is(#ausfuehrungen, #beschreibung, #technische-daten, #bewertungen, #passende-produkte) {
	scroll-margin-block-start: calc(var(--wp-admin--admin-bar--height, 0px) + var(--mn-kopf-platz) + var(--mn-leiste-hoehe) + 24px);
}

body:not(#mn-design) .mn-product .mn-product__nav {
	position: sticky;
	inset-block-start: calc(var(--wp-admin--admin-bar--height, 0px) + var(--mn-kopf-platz));
	z-index: 20;
	margin: 0;
	font-family: Inter, sans-serif;
	transition: inset-block-start var(--mn-kopf-takt);
}

body:not(#mn-design) .mn-product .mn-product__nav .mn-toc__box {
	padding: 0 8px;
	border: 1px solid rgba(var(--mn-secondary-rgb, 31, 153, 207), 0.32);
	border-radius: 14px;
	background: color-mix(in srgb, color-mix(in srgb, var(--mn-hell-1, #e5f2fa) 60%, #fff) 94%, transparent);
	-webkit-backdrop-filter: blur(16px) saturate(160%);
	backdrop-filter: blur(16px) saturate(160%);
	box-shadow:
		0 1px 2px rgba(var(--mn-accent-rgb, 40, 53, 131), 0.06),
		0 14px 32px -14px rgba(var(--mn-accent-rgb, 40, 53, 131), 0.32);
}

body:not(#mn-design) .mn-product .mn-product__nav .mn-toc__list {
	display: flex;
	gap: 4px;
	margin: 0;
	padding: 0;
	overflow-x: auto;
	list-style: none;
	scrollbar-width: none;
}

body:not(#mn-design) .mn-product .mn-product__nav .mn-toc__list::-webkit-scrollbar {
	display: none;
}

body:not(#mn-design) .mn-product .mn-product__nav .mn-toc__list li {
	flex: none;
	margin: 0;
}

body:not(#mn-design) .mn-product .mn-product__nav .mn-toc__link {
	display: block;
	padding: 15px 14px 13px;
	border-block-end: 2px solid transparent;
	color: var(--mn-muted);
	font-size: 14px;
	font-weight: 500;
	white-space: nowrap;
	text-decoration: none;
}

body:not(#mn-design) .mn-product .mn-product__nav .mn-toc__link:hover {
	color: var(--mn-accent);
}

body:not(#mn-design) .mn-product .mn-product__nav .mn-toc__link[aria-current] {
	border-block-end-color: var(--mn-accent);
	color: var(--mn-accent);
	font-weight: 600;
}

/* Kopf der Ausführungstabelle klebt unter der Leiste, nicht dahinter – und rückt mit. */
body:not(#mn-design) .mn-product__unten.has-nav .mn-variants__row--head {
	inset-block-start: calc(var(--wp-admin--admin-bar--height, 0px) + var(--mn-kopf-platz) + var(--mn-leiste-hoehe) + 2px);
	transition: inset-block-start var(--mn-kopf-takt);
}

@media (max-width: 767px) {
	body:not(#mn-design).single-product {
		--mn-kopf-platz: 102px;
		--mn-leiste-hoehe: 46px;
	}

	html.mn-kopf-weg body:not(#mn-design).single-product {
		--mn-kopf-platz: 10px;
	}

	body:not(#mn-design) .mn-product .mn-product__nav .mn-toc__link {
		padding: 13px 10px 11px;
		font-size: 13px;
	}
}

/* --- Header blendet beim Scrollen aus (assets/js/kopf-scroll.js) -------------
   Nur auf Produktseiten: Herunterscrollen schiebt den fixierten Header weich
   nach oben und blendet ihn aus, leichtes Hochscrollen holt ihn zurück.
   Sichtbar ohne transform – sonst wäre der Header Bezugsrahmen für fixierte
   Kinder (Menü-Drawer). */
body:not(#mn-design).single-product .elementor-location-header > .e-con.elementor-sticky--active:not(.elementor-sticky__spacer) {
	transition: background-color 0.35s, transform var(--mn-kopf-takt), opacity 0.3s ease, visibility 0s;
}

html.mn-kopf-weg body:not(#mn-design).single-product .elementor-location-header > .e-con.elementor-sticky--active:not(.elementor-sticky__spacer) {
	opacity: 0;
	transform: translateY(calc(-100% - 8px));
	visibility: hidden;
	pointer-events: none;
	transition: background-color 0.35s, transform var(--mn-kopf-takt), opacity 0.3s ease, visibility 0s 0.38s;
}

/* Umschalter „Auswahlfelder | Liste“ (fest oben rechts, auswahl-knopf.js):
   eingeklappt auf Höhe der Leiste, rückt mit ihr – sonst bliebe er beim
   ausgeblendeten Header über der Tabelle stehen. Er steckt in der klebenden
   Kaufbox; die liegt deshalb eine Ebene über der Leiste (sie ist längst aus
   dem Bild, wenn die Leiste andockt), damit die Pille vor der Leiste steht. */
@media (min-width: 1024px) {
	body:not(#mn-design).single-product .mn-product__buy {
		z-index: 21;
	}

	body:not(#mn-design).single-product .mn-auswahl.is-zu {
		inset-block-start: calc(var(--wp-admin--admin-bar--height, 0px) + var(--mn-kopf-platz) + 7px);
		transition: inset-block-start var(--mn-kopf-takt);
	}
}

@media (prefers-reduced-motion: reduce) {
	body:not(#mn-design).single-product {
		--mn-kopf-takt: 0s linear;
	}
}

/* --- Vorheriges / nächstes Produkt (includes/nachbarn.php) -------------------
   Zwei Kacheln am Ende der Produktseite, links zurück, rechts weiter. Bild als
   freigestellte Packung auf einem Hauch der Produktfarbe. */
body:not(#mn-design) .mn-nachbarn {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	font-family: Inter, sans-serif;
}

body:not(#mn-design) .mn-nachbar {
	--mn-nachbar-farbe: var(--mn-secondary, #1f99cf);
	display: flex;
	align-items: center;
	gap: 16px;
	min-block-size: 104px;
	box-sizing: border-box;
	padding: 12px 20px;
	border: 1px solid var(--mn-border);
	border-radius: 18px;
	background: #fff;
	color: var(--mn-text);
	text-decoration: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

body:not(#mn-design) .mn-nachbar--zurueck {
	grid-column: 1;
}

body:not(#mn-design) .mn-nachbar--weiter {
	grid-column: 2;
	flex-direction: row-reverse;
	text-align: end;
}

body:not(#mn-design) .mn-nachbar:hover {
	border-color: rgba(var(--mn-accent-rgb, 40, 53, 131), 0.35);
	box-shadow: var(--mn-ring);
}

body:not(#mn-design) .mn-nachbar:focus-visible {
	outline: 2px solid var(--mn-accent);
	outline-offset: 2px;
}

body:not(#mn-design) .mn-nachbar__pfeil {
	display: grid;
	flex: none;
	place-items: center;
	inline-size: 40px;
	block-size: 40px;
	border-radius: 50%;
	background: rgba(var(--mn-accent-rgb, 40, 53, 131), 0.07);
	color: var(--mn-accent);
	transition: transform 0.2s ease, background-color 0.2s ease;
}

body:not(#mn-design) .mn-nachbar__pfeil svg {
	inline-size: 20px;
	block-size: 20px;
}

body:not(#mn-design) .mn-nachbar--zurueck:hover .mn-nachbar__pfeil {
	transform: translateX(-3px);
}

body:not(#mn-design) .mn-nachbar--weiter:hover .mn-nachbar__pfeil {
	transform: translateX(3px);
}

body:not(#mn-design) .mn-nachbar:hover .mn-nachbar__pfeil {
	background: rgba(var(--mn-accent-rgb, 40, 53, 131), 0.12);
}

body:not(#mn-design) .mn-nachbar__text {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 4px;
	min-inline-size: 0;
}

body:not(#mn-design) .mn-nachbar__richtung {
	color: var(--mn-muted);
	font-size: 13px;
}

body:not(#mn-design) .mn-nachbar__name {
	display: -webkit-box;
	overflow: hidden;
	color: var(--mn-accent);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.3;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

body:not(#mn-design) .mn-nachbar__bild {
	display: block;
	flex: none;
	inline-size: 80px;
	block-size: 80px;
	border-radius: 12px;
	background:
		radial-gradient(120% 80% at 50% 105%, color-mix(in srgb, var(--mn-nachbar-farbe) 30%, #fff) 0%, transparent 70%),
		color-mix(in srgb, var(--mn-nachbar-farbe) 10%, #fff);
	overflow: hidden;
}

body:not(#mn-design) .mn-nachbar__bild:empty {
	display: none;
}

body:not(#mn-design) .mn-nachbar__bild img {
	display: block;
	inline-size: 100%;
	block-size: 100%;
	padding: 8px;
	box-sizing: border-box;
	box-shadow: none;
	object-fit: contain;
	mix-blend-mode: multiply;
}

body:not(#mn-design) .mn-nachbar__bild img.is-frei {
	padding: 6px;
	mix-blend-mode: normal;
}

/* Handy: nebeneinander bleiben, Pfeil und Richtung über dem Namen, Bild weg. */
@media (max-width: 767px) {
	body:not(#mn-design) .mn-nachbarn {
		gap: 10px;
	}

	body:not(#mn-design) .mn-nachbar,
	body:not(#mn-design) .mn-nachbar--weiter {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
		min-block-size: 0;
		padding: 14px;
		text-align: start;
	}

	body:not(#mn-design) .mn-nachbar--weiter {
		align-items: flex-end;
		text-align: end;
	}

	body:not(#mn-design) .mn-nachbar__pfeil {
		inline-size: 32px;
		block-size: 32px;
	}

	body:not(#mn-design) .mn-nachbar__name {
		font-size: 14px;
		-webkit-line-clamp: 3;
	}

	body:not(#mn-design) .mn-nachbar__bild {
		display: none;
	}
}

/* --- Hersteller-Logo über der Kategorie (templates/single-product.php) ---
   Einfarbig im mednaht-Blau: Das Logo ist nur die Maske, so passt ATRAMAT®
   (weißes Original) genauso wie ZARYS zum Rest der Seite. */
body:not(#mn-design) .mn-product__hersteller {
	inline-size: 116px;
	block-size: 40px;
	margin: 0 0 16px;
	background-color: var(--mn-accent);
	-webkit-mask: var(--mn-hersteller-logo) left center / contain no-repeat;
	mask: var(--mn-hersteller-logo) left center / contain no-repeat;
}

/* ZARYS: Bildmarke über dem Schriftzug, braucht mehr Höhe. */
body:not(#mn-design) .mn-product__hersteller--zarys {
	inline-size: 48px;
	block-size: 52px;
}

/* --- Produktfarbe (includes/product.php) ------------------------------
 * Seite neutral, die Farbe der ATRAMAT®-Linie trägt die Bildkarte – wie
 * die Karten „Unsere Beliebtesten“ auf der Startseite, nur zarter. Weißer
 * Fotohintergrund verschmilzt per multiply mit dem Verlauf. Dazu ein
 * Farbpunkt vor der Kategorie. */
body:not(#mn-design).single-product {
	background-color: var(--mn-seite, #f7fafe);
}

/* Header-Leiste: feine Kontur im zarten Blau der Karten (Partner, Wissen),
   oben wie beim Scrollen. Die Glasfläche (::before der Header-Vorlage 70)
   liegt sonst über dem Rand – deshalb eine Linie nach innen gerückt. */
body:not(#mn-design) .elementor-location-header .e-con .elementor-element-9d02c0f {
	border-color: rgba(var(--mn-secondary-rgb, 31, 153, 207), 0.18);
	border-radius: var(--mn-radius);
}

body:not(#mn-design) .elementor-location-header .e-con .elementor-element-9d02c0f::before {
	inset: 0;
	border-radius: calc(var(--mn-radius) - 1px); /* innerhalb der 1px-Kontur */
}

/* Header-Leiste wie auf der Startseite: weiß, beim Scrollen weißes Glas. Die
   Header-Vorlage (Elementor 70) gibt sonst allen Seiten außer der Startseite
   hellblaues Glas – gedacht für weiße Seiten. */
body:not(#mn-design).single-product .elementor-location-header .elementor-element-9d02c0f::before {
	background-color: #fff;
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
}

body:not(#mn-design).single-product .elementor-location-header .elementor-sticky--effects .elementor-element-9d02c0f::before {
	background-color: rgba(255, 255, 255, 0.62);
	-webkit-backdrop-filter: blur(20px) saturate(180%);
	backdrop-filter: blur(20px) saturate(180%);
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
	body:not(#mn-design).single-product .elementor-location-header .elementor-sticky--effects .elementor-element-9d02c0f::before {
		background-color: rgba(255, 255, 255, 0.95);
	}
}

body:not(#mn-design).mn-produktfarbe .mn-product .woocommerce-product-gallery .flex-viewport,
body:not(#mn-design).mn-produktfarbe .mn-product .woocommerce-product-gallery__wrapper:not(.flex-viewport .woocommerce-product-gallery__wrapper) {
	border-color: color-mix(in srgb, var(--mn-produktfarbe) 30%, #fff);
	background:
		radial-gradient(120% 80% at 50% 105%, color-mix(in srgb, var(--mn-produktfarbe) 34%, #fff) 0%, transparent 70%),
		color-mix(in srgb, var(--mn-produktfarbe) 12%, #fff);
}

body:not(#mn-design).mn-produktfarbe .mn-product .woocommerce-product-gallery__image img {
	mix-blend-mode: multiply;
}

/* Packungsfotos von atramat.com (3 : 2, hellgrauer Studiogrund): so zeigen, wie
   sie sind – im eigenen Format, nicht eingefärbt, mit runden Ecken wie die
   Kacheln. Weitere Bilder der Galerie verschmelzen weiter mit dem Verlauf. */
body:not(#mn-design).mn-produktfarbe .mn-product .woocommerce-product-gallery__image:first-child img {
	aspect-ratio: auto;
	border-radius: 12px;
	mix-blend-mode: normal;
}

body:not(#mn-design).mn-produktfarbe .mn-product__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

body:not(#mn-design).mn-produktfarbe .mn-product__eyebrow::before {
	content: "";
	flex: none;
	inline-size: 10px;
	block-size: 10px;
	border-radius: 50%;
	background: var(--mn-produktfarbe);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--mn-produktfarbe) 25%, transparent);
}

body:not(#mn-design) .mn-product .woocommerce-product-gallery__image a {
	display: block;
	padding: 24px;
}

/* Zoom/Vollbild-Knopf als runder Glas-Knopf. */
body:not(#mn-design) .mn-product .woocommerce-product-gallery__trigger {
	position: absolute;
	top: 16px;
	right: 16px;
	z-index: 5;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	inline-size: 44px;
	block-size: 44px;
	border: 1px solid var(--mn-border);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.9);
	box-shadow: none;
	font-size: 0;
	text-indent: 0;
}

body:not(#mn-design) .mn-product .woocommerce-product-gallery__trigger::before {
	content: "";
	position: static;
	inline-size: 18px;
	block-size: 18px;
	border: 0;
	border-radius: 0;
	background: var(--mn-accent);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='M16 16l4 4M11 8v6M8 11h6'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='M16 16l4 4M11 8v6M8 11h6'/%3E%3C/svg%3E") center / contain no-repeat;
}

body:not(#mn-design) .mn-product .woocommerce-product-gallery__trigger::after {
	content: none;
}

/* Vorschaubilder. */
body:not(#mn-design) .mn-product .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(72px, 1fr));
	gap: 10px;
	margin: 12px 0 0;
	padding: 0;
}

body:not(#mn-design) .mn-product .flex-control-thumbs li {
	float: none !important;
	inline-size: auto !important;
	margin: 0 !important;
}

body:not(#mn-design) .mn-product .flex-control-thumbs img {
	box-sizing: border-box;
	aspect-ratio: 1 / 1;
	padding: 6px;
	border: 1px solid var(--mn-border);
	border-radius: 12px;
	background: #fff;
	object-fit: contain;
	opacity: 1;
	cursor: pointer;
	transition: border-color 0.2s ease;
}

body:not(#mn-design) .mn-product .flex-control-thumbs img.flex-active,
body:not(#mn-design) .mn-product .flex-control-thumbs img:hover {
	border-color: var(--mn-accent);
}

/* Kaufbox: läuft beim Scrollen mit. */
body:not(#mn-design) .mn-product__buy {
	position: sticky;
	top: 120px;
}

body:not(#mn-design) .mn-product__buy-inner {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

body:not(#mn-design) .mn-product__eyebrow {
	align-self: flex-start;
	color: var(--mn-accent);
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
}

body:not(#mn-design) .mn-product__eyebrow:hover {
	text-decoration: underline;
}

body:not(#mn-design) .mn-product__title {
	margin: -8px 0 0;
	color: var(--mn-accent);
	font-family: "Bricolage Grotesque", sans-serif;
	font-size: 34px;
	font-weight: 600;
	line-height: 1.15;
	letter-spacing: -0.01em;
}

body:not(#mn-design) .mn-product__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 16px;
	margin: 0;
	padding: 0;
	border: 0;
	color: var(--mn-muted);
	font-size: 14px;
}

body:not(#mn-design) .mn-product__meta .sku {
	color: var(--mn-text);
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

/* Lagerstatus als Badge mit Punkt. */
body:not(#mn-design) .mn-product :is(.mn-product__meta, .woocommerce-variation-availability) .stock {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	padding: 4px 10px;
	border-radius: 999px;
	background: #e8f5ee;
	color: #1f7a4d;
	font-size: 13px;
	font-weight: 600;
}

body:not(#mn-design) .mn-product :is(.mn-product__meta, .woocommerce-variation-availability) .stock::before {
	content: "";
	inline-size: 8px;
	block-size: 8px;
	border-radius: 50%;
	background: currentColor;
}

body:not(#mn-design) .mn-product :is(.mn-product__meta, .woocommerce-variation-availability) .stock.out-of-stock {
	background: #fdf0ef;
	color: #b3261e;
}

body:not(#mn-design) .mn-product :is(.mn-product__meta, .woocommerce-variation-availability) .stock.available-on-backorder {
	background: #fdf3e1;
	color: #8a5a00;
}

body:not(#mn-design) .mn-product__short {
	color: var(--mn-muted);
	font-size: 16px;
	line-height: 1.6;
}

body:not(#mn-design) .mn-product__short > :last-child {
	margin-bottom: 0;
}

/* Preis. */
body:not(#mn-design) .mn-product :is(.mn-product__price, .woocommerce-variation-price) .price {
	margin: 0;
	color: var(--mn-text);
	font-size: 30px;
	font-weight: 700;
	line-height: 1.2;
	font-variant-numeric: tabular-nums;
}

body:not(#mn-design) .mn-product :is(.mn-product__price, .woocommerce-variation-price) .price :is(small, .woocommerce-price-suffix) {
	color: #666c96;
	font-size: 14px;
	font-weight: 500;
}

body:not(#mn-design) .mn-product .mn-product__price .price del {
	color: #666c96;
	font-size: 18px;
	font-weight: 500;
}

/* Feste Menge (z. B. nur 1 vorrätig): WooCommerce lässt ein leeres Mengenfeld stehen, das sonst den Button einrückt. */
body:not(#mn-design) .mn-product .mn-product__cart .quantity:not(:has(input.qty[type="number"])) {
	display: none;
}

/* Warenkorb-Bereich: Menge und Button in einer Zeile, Button füllt den Rest. */
body:not(#mn-design) .mn-product .mn-product__cart form.cart {
	margin: 0;
}

body:not(#mn-design) .mn-product .mn-product__cart form.cart:not(.variations_form),
body:not(#mn-design) .mn-product .woocommerce-variation-add-to-cart {
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	gap: 12px;
}

body:not(#mn-design) .mn-product .mn-product__cart .single_add_to_cart_button.button {
	flex: 1 1 auto;
	min-block-size: 52px;
	font-size: 16px;
}

body:not(#mn-design) .mn-product .mn-product__cart .single_add_to_cart_button.is-busy,
body:not(#mn-design) .mn-offer__buy .mn-product__btn.is-busy {
	opacity: 0.6;
	pointer-events: none;
}

/* Angebot: alles Verfügbare liegt schon im Warenkorb. */
body:not(#mn-design) .mn-offer__buy .mn-product__btn:disabled {
	opacity: 0.4;
	cursor: not-allowed;
	pointer-events: none;
}

body:not(#mn-design) .mn-product .mn-product__cart .single_add_to_cart_button.is-added {
	display: inline-flex;
	gap: 8px;
	align-items: center;
	justify-content: center;
	border-color: #1f7a4d;
	background: #1f7a4d;
}

/* Haken in der Bestätigung; product.js zeichnet ihn über stroke-dashoffset. */
.mn-product .mn-added-icon {
	flex: none;
	inline-size: 20px;
	block-size: 20px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2.6;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-dasharray: 1;
	stroke-dashoffset: 0;
}

body:not(#mn-design) .mn-product .mn-product__cart .quantity.mn-stepper {
	block-size: 52px;
}

body:not(#mn-design) .mn-product .mn-product__cart .mn-stepper input.qty,
body:not(#mn-design) .mn-product .mn-product__cart .mn-stepper input.qty:focus {
	block-size: 50px;
}

body:not(#mn-design) .mn-product .single_variation_wrap {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

body:not(#mn-design) .mn-product .woocommerce-variation:not(:empty) {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 16px;
}

body:not(#mn-design) .mn-product .woocommerce-variation-description p {
	margin: 0;
	color: var(--mn-muted);
}

body:not(#mn-design) .mn-product table.variations {
	margin: 0 0 4px;
}

/* Hinweis für Gäste / nicht freigeschaltete Kunden. */
body:not(#mn-design) .mn-product__gate {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 24px;
	border: 1px solid var(--mn-border);
	border-radius: 16px;
	background: #f5fbff;
}

body:not(#mn-design) .mn-product__gate-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	inline-size: 40px;
	block-size: 40px;
	margin-bottom: 4px;
	border-radius: 12px;
	background: var(--mn-accent);
	color: #fff;
}

body:not(#mn-design) .mn-product__gate-icon svg {
	inline-size: 20px;
	block-size: 20px;
}

body:not(#mn-design) .mn-product__gate-title {
	margin: 0;
	color: var(--mn-accent);
	font-size: 18px;
	font-weight: 700;
}

body:not(#mn-design) .mn-product__gate-text {
	margin: 0;
	color: var(--mn-muted);
	font-size: 15px;
	line-height: 1.5;
}

body:not(#mn-design) .mn-product__gate-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 8px 0 0;
}

body:not(#mn-design) .mn-product__btn,
body:not(#mn-design) .mn-product__btn:visited {
	display: inline-flex;
	flex: 1 1 auto;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-block-size: 48px;
	padding: 0 22px;
	border: 1px solid var(--mn-border);
	border-radius: var(--mn-radius);
	background: #fff;
	box-shadow: none;
	color: var(--mn-accent);
	font-family: inherit;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0;
	text-decoration: none;
	text-transform: none;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

body:not(#mn-design) .mn-product__btn:hover {
	border-color: rgba(var(--mn-accent-rgb, 40, 53, 131), 0.35);
	background: var(--mn-tint);
	color: var(--mn-accent);
}

body:not(#mn-design) .mn-product__btn--primary,
body:not(#mn-design) .mn-product__btn--primary:visited,
body:not(#mn-design) .mn-product__btn--primary:focus {
	border-color: var(--mn-accent);
	background: var(--mn-accent);
	color: #fff;
}

body:not(#mn-design) .mn-product__btn--primary:hover {
	border-color: var(--mn-accent-hover);
	background: var(--mn-accent-hover);
	color: #fff;
}

body:not(#mn-design) .mn-product__btn:focus-visible {
	outline: 2px solid var(--mn-accent);
	outline-offset: 2px;
}

/* Vertrauenshinweise. */
body:not(#mn-design) .mn-product__trust {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 8px 0 0;
	padding: 20px 0 0;
	border-top: 1px solid rgba(var(--mn-accent-rgb, 40, 53, 131), 0.1);
	list-style: none;
}

body:not(#mn-design) .mn-product__trust li {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	color: var(--mn-muted);
	font-size: 14px;
	line-height: 1.4;
}

body:not(#mn-design) .mn-product__trust svg {
	flex: none;
	box-sizing: content-box;
	inline-size: 18px;
	block-size: 18px;
	padding: 8px;
	border-radius: 10px;
	background: var(--mn-tint);
	color: var(--mn-accent);
}

body:not(#mn-design) .mn-product__trust a {
	color: var(--mn-accent);
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
}

/* --- Beschreibung und technische Daten -------------------------------- */

body:not(#mn-design) .mn-product__details {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: start;
	gap: 24px;
}

body:not(#mn-design) .mn-product__details.has-both {
	grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
}

body:not(#mn-design) .mn-product__card {
	padding: 28px;
	border: 1px solid var(--mn-border);
	border-radius: 20px;
	background: #fff;
}

body:not(#mn-design) .mn-product__heading {
	margin: 0 0 16px;
	color: var(--mn-accent);
	font-family: "Bricolage Grotesque", sans-serif;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.3;
}

body:not(#mn-design) .mn-product__content {
	color: var(--mn-text);
	font-size: 16px;
	line-height: 1.65;
}

body:not(#mn-design) .mn-product__content :is(p, ul, ol) {
	margin: 0 0 14px;
}

body:not(#mn-design) .mn-product__content > :last-child {
	margin-bottom: 0;
}

body:not(#mn-design) .mn-product__content :is(ul, ol) {
	padding-inline-start: 22px;
}

body:not(#mn-design) .mn-product__content a {
	color: var(--mn-accent);
}

body:not(#mn-design) .mn-product__specs dl {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
	margin: 0;
	font-size: 15px;
}

body:not(#mn-design) .mn-product__specs :is(dt, dd) {
	margin: 0;
	padding: 12px 0;
	border-bottom: 1px solid rgba(var(--mn-accent-rgb, 40, 53, 131), 0.09);
}

body:not(#mn-design) .mn-product__specs dt {
	padding-inline-end: 16px;
	color: var(--mn-muted);
}

body:not(#mn-design) .mn-product__specs dd {
	color: var(--mn-text);
	font-weight: 600;
}

body:not(#mn-design) .mn-product__specs :is(dt, dd):nth-last-child(-n + 2) {
	border-bottom: 0;
}

/* Produktdatenblatt unter den technischen Daten (includes/datenblatt.php):
   Titelseite als leicht gedrehtes Blatt auf einem Hauch der Produktfarbe,
   rechts der Knopf. Beim Überfahren richtet sich das Blatt auf. */
body:not(#mn-design) .mn-datenblatt {
	--mn-db-farbe: var(--mn-produktfarbe, #283583);

	display: flex;
	align-items: center;
	gap: 18px;
	margin-block-start: 20px;
	padding: 16px 18px 16px 16px;
	border: 1px solid color-mix(in srgb, var(--mn-db-farbe) 26%, #fff);
	border-radius: 16px;
	background:
		radial-gradient(120% 140% at 0% 100%, color-mix(in srgb, var(--mn-db-farbe) 22%, #fff) 0%, transparent 60%),
		color-mix(in srgb, var(--mn-db-farbe) 8%, #fff);
	color: var(--mn-text);
	text-decoration: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

body:not(#mn-design) .mn-datenblatt:hover {
	border-color: color-mix(in srgb, var(--mn-db-farbe) 45%, #fff);
	box-shadow: 0 14px 30px -18px color-mix(in srgb, var(--mn-db-farbe) 70%, transparent);
	transform: translateY(-1px);
}

body:not(#mn-design) .mn-datenblatt:focus {
	outline: none;
}

body:not(#mn-design) .mn-datenblatt:focus-visible {
	outline: 2px solid var(--mn-accent);
	outline-offset: 3px;
}

body:not(#mn-design) .mn-datenblatt__blatt {
	flex: none;
	inline-size: 76px;
	block-size: 76px;
	overflow: hidden;
	border: 3px solid #fff;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 10px 22px -12px rgba(20, 30, 80, 0.45), 0 1px 3px rgba(20, 30, 80, 0.12);
	transform: rotate(-5deg);
	transition: transform 0.25s ease;
}

body:not(#mn-design) .mn-datenblatt:hover .mn-datenblatt__blatt {
	transform: rotate(0deg) scale(1.04);
}

body:not(#mn-design) .mn-datenblatt__blatt img {
	display: block;
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
}

body:not(#mn-design) .mn-datenblatt__blatt.is-symbol {
	display: grid;
	place-items: center;
	color: var(--mn-accent);
}

body:not(#mn-design) .mn-datenblatt__text {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 4px;
	min-inline-size: 0;
}

body:not(#mn-design) .mn-datenblatt__titel {
	color: var(--mn-accent);
	font-size: 17px;
	font-weight: 600;
	line-height: 1.25;
}

body:not(#mn-design) .mn-datenblatt__info {
	color: var(--mn-muted);
	font-size: 13px;
}

body:not(#mn-design) .mn-datenblatt__info span {
	white-space: nowrap;
}

body:not(#mn-design) .mn-datenblatt__knopf {
	display: inline-flex;
	flex: none;
	align-items: center;
	gap: 8px;
	min-block-size: 40px;
	padding: 0 16px;
	border-radius: 12px;
	background: var(--mn-accent);
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	transition: background-color 0.15s ease;
}

body:not(#mn-design) .mn-datenblatt:hover .mn-datenblatt__knopf {
	background: color-mix(in srgb, var(--mn-accent) 86%, #000);
}

/* Schmal: Knopf nur als Symbol, damit Titel und Angaben Platz haben. */
@media (max-width: 480px) {
	body:not(#mn-design) .mn-datenblatt {
		gap: 14px;
	}

	body:not(#mn-design) .mn-datenblatt__blatt {
		inline-size: 60px;
		block-size: 60px;
	}

	body:not(#mn-design) .mn-datenblatt__knopf {
		inline-size: 40px;
		padding: 0;
		justify-content: center;
		font-size: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	body:not(#mn-design) .mn-datenblatt,
	body:not(#mn-design) .mn-datenblatt__blatt {
		transition: none;
	}
}

/* Zweite Download-Karte (Gebrauchsanweisung) dichter unter dem Datenblatt. */
body:not(#mn-design) .mn-datenblatt + .mn-datenblatt {
	margin-block-start: 12px;
}

/* Gebrauchsanweisung als Split-Button (includes/gebrauchsanweisung.php):
   links groß „Gebrauchsanweisung lesen" (klappt den Text auf), rechts durch
   eine Linie abgetrennt der Download im Ton des Herunterladen-Knopfs.
   Grund wie die Download-Karte, aufgeklappt hängt der Text weiß darunter. */
body:not(#mn-design) .mn-ifu {
	--mn-db-farbe: var(--mn-produktfarbe, #283583);

	container: mn-ifu / inline-size;
	margin-block-start: 12px;
	border: 1px solid color-mix(in srgb, var(--mn-db-farbe) 26%, #fff);
	border-radius: 16px;
	background: #fff;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

body:not(#mn-design) .mn-ifu:has(.mn-ifu__lesen:hover) {
	border-color: color-mix(in srgb, var(--mn-db-farbe) 45%, #fff);
	box-shadow: 0 14px 30px -18px color-mix(in srgb, var(--mn-db-farbe) 70%, transparent);
}

body:not(#mn-design) .mn-ifu__kopf {
	display: flex;
	align-items: stretch;
	border-radius: 15px;
	background:
		radial-gradient(120% 140% at 0% 100%, color-mix(in srgb, var(--mn-db-farbe) 22%, #fff) 0%, transparent 60%),
		color-mix(in srgb, var(--mn-db-farbe) 8%, #fff);
}

body:not(#mn-design) .mn-ifu.is-offen .mn-ifu__kopf {
	border-end-start-radius: 0;
	border-end-end-radius: 0;
}

/* Linker Teil: Blatt, Titel, Untertitel, Pfeil. */
body:not(#mn-design) .mn-ifu__lesen {
	display: flex;
	flex: 1;
	align-items: center;
	gap: 18px;
	min-inline-size: 0;
	min-block-size: 76px;
	margin: 0;
	padding: 16px 18px 16px 16px;
	border: 0;
	border-radius: 15px 0 0 15px;
	background: none;
	color: var(--mn-text);
	font: inherit;
	text-align: start;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}

body:not(#mn-design) .mn-ifu.is-ohne-pdf .mn-ifu__lesen {
	border-radius: 15px;
}

body:not(#mn-design) .mn-ifu.is-offen .mn-ifu__lesen {
	border-end-start-radius: 0;
}

body:not(#mn-design) .mn-ifu__lesen:focus {
	outline: none;
}

body:not(#mn-design) .mn-ifu__lesen:focus-visible {
	position: relative;
	z-index: 1;
	outline: 2px solid var(--mn-accent);
	outline-offset: 3px;
}

body:not(#mn-design) .mn-ifu__blatt {
	flex: none;
	inline-size: 76px;
	block-size: 76px;
	overflow: hidden;
	border: 3px solid #fff;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 10px 22px -12px rgba(20, 30, 80, 0.45), 0 1px 3px rgba(20, 30, 80, 0.12);
	transform: rotate(-5deg);
	transition: transform 0.25s ease;
}

body:not(#mn-design) .mn-ifu__lesen:hover .mn-ifu__blatt {
	transform: rotate(0deg) scale(1.04);
}

body:not(#mn-design) .mn-ifu__blatt img {
	display: block;
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
}

body:not(#mn-design) .mn-ifu__text {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 4px;
	min-inline-size: 0;
}

body:not(#mn-design) .mn-ifu__titel {
	color: var(--mn-accent);
	font-size: 17px;
	font-weight: 600;
	line-height: 1.25;
	hyphens: auto;
}

body:not(#mn-design) .mn-ifu__unter {
	color: var(--mn-muted);
	font-size: 13px;
	line-height: 1.4;
}

body:not(#mn-design) .mn-ifu__pfeil {
	flex: none;
	box-sizing: content-box;
	padding: 6px;
	border-radius: 50%;
	background: #fff;
	color: var(--mn-accent);
	box-shadow: 0 0 0 1px color-mix(in srgb, var(--mn-db-farbe) 18%, #fff);
	transition: rotate 0.25s ease, background-color 0.15s ease;
}

body:not(#mn-design) .mn-ifu__lesen:hover .mn-ifu__pfeil {
	background: var(--mn-tint);
}

body:not(#mn-design) .mn-ifu__lesen[aria-expanded="true"] .mn-ifu__pfeil {
	rotate: 180deg;
}

/* Rechter Teil: Download, durch eine Linie abgetrennt, im Ton des Knopfs. */
body:not(#mn-design) .mn-ifu__pdf {
	display: flex;
	flex: none;
	align-items: center;
	gap: 10px;
	margin: -1px -1px -1px 0;
	padding: 0 18px;
	border-inline-start: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: 0 16px 16px 0;
	background: var(--mn-accent);
	color: #fff;
	text-decoration: none;
	transition: background-color 0.15s ease;
	-webkit-tap-highlight-color: transparent;
}

body:not(#mn-design) .mn-ifu.is-offen .mn-ifu__pdf {
	border-end-end-radius: 0;
}

body:not(#mn-design) .mn-ifu__pdf:hover {
	background: color-mix(in srgb, var(--mn-accent) 86%, #000);
	color: #fff;
}

body:not(#mn-design) .mn-ifu__pdf:focus {
	outline: none;
}

body:not(#mn-design) .mn-ifu__pdf:focus-visible {
	position: relative;
	z-index: 1;
	outline: 2px solid var(--mn-accent);
	outline-offset: 3px;
	box-shadow: inset 0 0 0 2px #fff;
}

body:not(#mn-design) .mn-ifu__pdf svg {
	flex: none;
}

body:not(#mn-design) .mn-ifu__pdf-text {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

body:not(#mn-design) .mn-ifu__pdf-titel {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
}

body:not(#mn-design) .mn-ifu__pdf-info {
	color: rgba(255, 255, 255, 0.78);
	font-size: 12px;
	line-height: 1.2;
	white-space: nowrap;
}

/* Aufgeklappter Text. */
body:not(#mn-design) .mn-ifu__inhalt {
	overflow: clip;
	font-size: 15px;
	line-height: 1.6;
}

/* Linie hier statt am Text: zu (hidden="until-found") behält er seine Box. */
body:not(#mn-design) .mn-ifu__innen {
	padding: 4px 18px 20px;
	border-block-start: 1px solid color-mix(in srgb, var(--mn-db-farbe) 18%, #fff);
}

body:not(#mn-design) .mn-ifu__inhalt p {
	margin: 0;
	color: var(--mn-text);
}

body:not(#mn-design) .mn-ifu__inhalt .mn-ifu__vorwort {
	margin-block-start: 14px;
	color: var(--mn-muted);
	font-size: 14px;
}

body:not(#mn-design) .mn-ifu__abschnitt {
	margin: 18px 0 4px;
	color: var(--mn-accent);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
}

body:not(#mn-design) .mn-ifu__inhalt .mn-ifu__status {
	margin-block-start: 20px;
	padding-block-start: 14px;
	border-block-start: 1px solid rgba(var(--mn-accent-rgb, 40, 53, 131), 0.09);
	color: var(--mn-muted);
	font-size: 13px;
}

/* Schmal (Spalte neben der Beschreibung, Handy): Download als Symbol über
   „PDF · Größe", damit der Titel Platz behält. Beide Teile bleiben große
   Tippflächen, der Name „Herunterladen" bleibt für Screenreader. */
@container mn-ifu (max-width: 540px) {
	body:not(#mn-design) .mn-ifu__pdf {
		flex-direction: column;
		justify-content: center;
		gap: 6px;
		inline-size: 84px;
		padding: 0 8px;
		text-align: center;
	}

	body:not(#mn-design) .mn-ifu__pdf-titel {
		position: absolute;
		inline-size: 1px;
		block-size: 1px;
		overflow: hidden;
		clip-path: inset(50%);
		white-space: nowrap;
	}

	body:not(#mn-design) .mn-ifu__pdf-info {
		color: #fff;
		font-weight: 600;
		white-space: normal;
	}
}

@container mn-ifu (max-width: 420px) {
	body:not(#mn-design) .mn-ifu__lesen {
		gap: 10px;
		padding: 14px 10px 14px 14px;
	}

	/* Handy: ohne Blatt, sonst bricht „Gebrauchsanweisung" mitten im Wort. */
	body:not(#mn-design) .mn-ifu__blatt {
		display: none;
	}

	body:not(#mn-design) .mn-ifu__titel {
		font-size: 16px;
	}

	body:not(#mn-design) .mn-ifu__pfeil {
		padding: 4px;
	}

	body:not(#mn-design) .mn-ifu__pdf {
		inline-size: 64px;
		padding: 0 6px;
	}

	body:not(#mn-design) .mn-ifu__innen {
		padding-inline: 14px;
	}
}

/* Gebrauchsanweisungen zur Bestellung („Bestellung eingegangen", Bestellung,
   Konto → Downloads): Liste mit Symbol, Produkt und Knopf. */
body:not(#mn-design) .mn-ifu-liste {
	margin-block: 32px;
	font-family: Inter, sans-serif;
}

body:not(#mn-design) .mn-ifu-liste__titel {
	margin: 0 0 4px;
	color: var(--mn-accent);
	font-size: 20px;
	font-weight: 600;
}

body:not(#mn-design) .mn-ifu-liste__hinweis {
	margin: 0 0 14px;
	color: var(--mn-muted);
	font-size: 14px;
}

body:not(#mn-design) .mn-ifu-liste__eintraege {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

body:not(#mn-design) .mn-ifu-liste__eintrag {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0;
	padding: 12px 14px;
	border: 1px solid rgba(var(--mn-accent-rgb, 40, 53, 131), 0.12);
	border-radius: 14px;
	background: #fff;
}

body:not(#mn-design) .mn-ifu-liste__symbol {
	display: grid;
	flex: none;
	place-items: center;
	inline-size: 40px;
	block-size: 40px;
	border-radius: 10px;
	background: var(--mn-tint);
	color: var(--mn-accent);
}

body:not(#mn-design) .mn-ifu-liste__text {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 2px;
	min-inline-size: 0;
}

body:not(#mn-design) .mn-ifu-liste__name,
body:not(#mn-design) .mn-ifu-liste__name a {
	color: var(--mn-text);
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
}

body:not(#mn-design) .mn-ifu-liste__name a:hover {
	color: var(--mn-accent);
}

body:not(#mn-design) .mn-ifu-liste__info {
	color: var(--mn-muted);
	font-size: 13px;
}

body:not(#mn-design) .mn-ifu-liste__knopf {
	flex: none;
}

@media (max-width: 480px) {
	body:not(#mn-design) .mn-ifu-liste__eintrag {
		flex-wrap: wrap;
	}

	body:not(#mn-design) .mn-ifu-liste__knopf {
		inline-size: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	body:not(#mn-design) .mn-ifu,
	body:not(#mn-design) .mn-ifu__blatt,
	body:not(#mn-design) .mn-ifu__pfeil,
	body:not(#mn-design) .mn-ifu__pdf {
		transition: none;
	}
}

/* --- Bewertungen ----------------------------------------------------- */

body:not(#mn-design) .mn-stars {
	position: relative;
	display: inline-flex;
	flex: none;
	vertical-align: middle;
}

body:not(#mn-design) .mn-stars > span {
	display: flex;
	gap: 2px;
}

body:not(#mn-design) .mn-stars__fill {
	position: absolute;
	inset: 0 auto 0 0;
	overflow: hidden;
}

body:not(#mn-design) .mn-stars svg {
	flex: none;
	inline-size: 18px;
	block-size: 18px;
	fill: #e3e5f0;
	stroke: none;
}

body:not(#mn-design) .mn-stars__fill svg {
	fill: #f2a516;
}

body:not(#mn-design) .mn-product__rating {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: -4px 0 12px;
	color: var(--mn-muted);
	font-size: 14px;
	text-decoration: none;
}

body:not(#mn-design) .mn-product__rating:hover span {
	color: var(--mn-accent);
	text-decoration: underline;
}

body:not(#mn-design) .mn-reviews {
	scroll-margin-top: 120px;
}

body:not(#mn-design) .mn-reviews__head {
	margin-bottom: 24px;
}

body:not(#mn-design) .mn-reviews__head .mn-product__heading {
	margin-bottom: 6px;
}

body:not(#mn-design) .mn-reviews__note {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 0;
	color: var(--mn-muted);
	font-size: 14px;
	line-height: 1.5;
}

body:not(#mn-design) :is(.mn-reviews__note, .mn-review__badge) svg {
	flex: none;
	inline-size: 18px;
	block-size: 18px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

body:not(#mn-design) .mn-reviews__body.has-summary {
	display: grid;
	grid-template-columns: minmax(0, 260px) minmax(0, 1fr);
	align-items: start;
	gap: 40px;
}

body:not(#mn-design) .mn-reviews__summary {
	position: sticky;
	top: 120px;
	padding: 20px;
	border-radius: 16px;
	background: var(--mn-tint);
}

body:not(#mn-design) .mn-reviews__avg {
	margin: 0 0 4px;
	color: var(--mn-accent);
	font-family: "Bricolage Grotesque", sans-serif;
	font-size: 44px;
	font-weight: 600;
	line-height: 1;
}

body:not(#mn-design) .mn-reviews__summary .mn-stars svg {
	inline-size: 22px;
	block-size: 22px;
}

body:not(#mn-design) .mn-reviews__total {
	margin: 6px 0 16px;
	color: var(--mn-muted);
	font-size: 14px;
}

body:not(#mn-design) .mn-reviews__split {
	display: grid;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 13px;
}

body:not(#mn-design) .mn-reviews__split li {
	display: grid;
	grid-template-columns: 58px minmax(0, 1fr) 24px;
	align-items: center;
	gap: 8px;
	color: var(--mn-text);
}

body:not(#mn-design) .mn-reviews__split-bar {
	block-size: 6px;
	border-radius: 3px;
	background: #fff;
	overflow: hidden;
}

body:not(#mn-design) .mn-reviews__split-bar span {
	display: block;
	block-size: 100%;
	border-radius: inherit;
	background: #f2a516;
}

body:not(#mn-design) .mn-reviews__split-n {
	color: var(--mn-muted);
	text-align: end;
}

body:not(#mn-design) .mn-reviews__empty {
	margin: 0 0 20px;
	color: var(--mn-text);
}

body:not(#mn-design) .mn-reviews__list {
	margin: 0 0 24px;
	padding: 0;
	list-style: none;
}

body:not(#mn-design) .mn-review {
	padding: 20px 0;
	border-bottom: 1px solid rgba(var(--mn-accent-rgb, 40, 53, 131), 0.09);
}

body:not(#mn-design) .mn-review:first-child {
	padding-top: 0;
}

body:not(#mn-design) .mn-review.is-pending {
	opacity: 0.75;
}

body:not(#mn-design) .mn-review__top {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
}

body:not(#mn-design) .mn-review__badge {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 3px 10px 3px 7px;
	border-radius: 999px;
	background: #e7f4ec;
	color: #1d6b3d;
	font-size: 13px;
	font-weight: 600;
}

body:not(#mn-design) .mn-review__badge svg {
	inline-size: 16px;
	block-size: 16px;
}

body:not(#mn-design) .mn-review__badge--pending {
	padding-inline-start: 10px;
	background: var(--mn-tint);
	color: var(--mn-muted);
}

body:not(#mn-design) .mn-review__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 8px 0 6px;
	color: var(--mn-muted);
	font-size: 14px;
}

body:not(#mn-design) .mn-review__meta strong {
	color: var(--mn-text);
}

body:not(#mn-design) .mn-review__text {
	color: var(--mn-text);
	font-size: 15px;
	line-height: 1.6;
}

body:not(#mn-design) .mn-review__text p {
	margin: 0 0 10px;
}

body:not(#mn-design) .mn-review__text > :last-child {
	margin-bottom: 0;
}

body:not(#mn-design) .mn-review__reply {
	margin-top: 14px;
	padding: 14px 16px;
	border-inline-start: 3px solid var(--mn-accent);
	border-radius: 0 12px 12px 0;
	background: var(--mn-tint);
}

body:not(#mn-design) .mn-review__reply .mn-review__meta {
	margin-top: 0;
}

body:not(#mn-design) .mn-reviews__status {
	margin: 0;
	padding: 16px 20px;
	border: 1px dashed var(--mn-border);
	border-radius: var(--mn-radius);
	color: var(--mn-text);
	font-size: 15px;
}

body:not(#mn-design) .mn-reviews__status--guest {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 20px;
}

body:not(#mn-design) .mn-reviews__status--guest p {
	flex: 1 1 280px;
	margin: 0;
}

body:not(#mn-design) .mn-reviews__status--guest .mn-product__btn {
	flex: none;
	inline-size: auto;
	padding-inline: 24px;
}

body:not(#mn-design) .mn-reviews__write .comment-respond {
	padding: 20px;
	border: 1px solid var(--mn-border);
	border-radius: 16px;
}

body:not(#mn-design) .mn-reviews__form-title {
	margin: 0 0 6px;
	color: var(--mn-accent);
	font-family: "Bricolage Grotesque", sans-serif;
	font-size: 18px;
	font-weight: 600;
}

body:not(#mn-design) .mn-reviews__form-title small {
	display: none;
}

body:not(#mn-design) .mn-reviews__hint {
	margin: 0 0 16px;
	color: var(--mn-muted);
	font-size: 14px;
	line-height: 1.5;
}

body:not(#mn-design) .mn-reviews__form :is(.comment-form-comment, .form-submit) {
	margin: 0 0 16px;
}

body:not(#mn-design) .mn-reviews__form .form-submit {
	margin-bottom: 0;
}

body:not(#mn-design) .mn-reviews__form label,
body:not(#mn-design) .mn-rating-input legend {
	display: block;
	margin-bottom: 6px;
	padding: 0;
	color: var(--mn-text);
	font-size: 14px;
	font-weight: 600;
}

body:not(#mn-design) .mn-reviews__form .required {
	color: var(--mn-accent);
}

body:not(#mn-design) .mn-reviews__form textarea {
	box-sizing: border-box;
	inline-size: 100%;
	padding: 12px 16px;
	border: 1px solid var(--mn-border);
	border-radius: var(--mn-radius);
	background: #fff;
	color: var(--mn-text);
	font: inherit;
	font-size: 15px;
	resize: vertical;
	outline: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

body:not(#mn-design) .mn-reviews__form textarea:focus {
	border-color: var(--mn-accent);
	box-shadow: var(--mn-ring);
}

body:not(#mn-design) .mn-rating-input {
	margin: 0 0 16px;
	padding: 0;
	border: 0;
}

/* Sterne von 5 bis 1 im HTML, rückwärts angezeigt: so färbt :hover / :checked
   mit „~" alle Sterne links vom gewählten. */
body:not(#mn-design) .mn-rating-input__stars {
	display: inline-flex;
	flex-direction: row-reverse;
	gap: 4px;
}

body:not(#mn-design) .mn-rating-input input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

body:not(#mn-design) .mn-reviews__form .mn-rating-input label {
	margin: 0;
	padding: 2px;
	border-radius: 8px;
	cursor: pointer;
}

body:not(#mn-design) .mn-rating-input label svg {
	display: block;
	inline-size: 32px;
	block-size: 32px;
	fill: #e3e5f0;
	stroke: none;
	transition: fill 0.15s ease, transform 0.15s ease;
}

/* Ohne Maus: die gewählte Bewertung. Mit Maus: die Vorschau unter dem Zeiger. */
body:not(#mn-design) .mn-rating-input__stars:not(:hover) input:checked ~ label svg,
body:not(#mn-design) .mn-rating-input__stars label:hover svg,
body:not(#mn-design) .mn-rating-input__stars label:hover ~ label svg {
	fill: #f2a516;
}

body:not(#mn-design) .mn-rating-input label:hover svg {
	transform: scale(1.1);
}

body:not(#mn-design) .mn-rating-input input:focus-visible + label {
	box-shadow: var(--mn-ring);
}

/* Kriterien (Nahtmaterial): Übersicht, je Bewertung und im Formular. */

body:not(#mn-design) :is(.mn-reviews__criteria, .mn-review__criteria) {
	display: grid;
	margin: 0;
}

body:not(#mn-design) :is(.mn-reviews__criteria, .mn-review__criteria) > div {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

body:not(#mn-design) :is(.mn-reviews__criteria, .mn-review__criteria) :is(dt, dd) {
	margin: 0;
}

body:not(#mn-design) :is(.mn-reviews__criteria, .mn-review__criteria) dd {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

body:not(#mn-design) .mn-reviews__criteria {
	gap: 8px;
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px solid rgba(var(--mn-accent-rgb, 40, 53, 131), 0.12);
	font-size: 13px;
}

body:not(#mn-design) .mn-reviews__criteria dt {
	color: var(--mn-text);
}

body:not(#mn-design) .mn-reviews__criteria dd span {
	min-inline-size: 22px;
	color: var(--mn-muted);
	text-align: end;
}

body:not(#mn-design) :is(.mn-reviews__criteria, .mn-review__criteria) .mn-stars svg {
	inline-size: 14px;
	block-size: 14px;
}

body:not(#mn-design) .mn-review__criteria {
	grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
	gap: 4px 28px;
	max-inline-size: 640px;
	margin: 4px 0 10px;
	font-size: 13px;
}

body:not(#mn-design) .mn-review__criteria dt {
	color: var(--mn-muted);
}

body:not(#mn-design) .mn-rating-input--criteria {
	display: grid;
	gap: 2px;
}

body:not(#mn-design) .mn-criterion {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 4px 16px;
	max-inline-size: 460px;
	padding: 4px 0;
}

body:not(#mn-design) .mn-criterion + .mn-criterion {
	border-top: 1px solid rgba(var(--mn-accent-rgb, 40, 53, 131), 0.07);
}

body:not(#mn-design) .mn-criterion__label {
	color: var(--mn-text);
	font-size: 15px;
}

body:not(#mn-design) .mn-rating-input--criteria label svg {
	inline-size: 26px;
	block-size: 26px;
}

/* --- Bewerten im Kundenkonto ----------------------------------------- */

body:not(#mn-design) .mn-review-ask {
	margin: 0 0 28px;
	padding: 20px;
	border: 1px solid var(--mn-border);
	border-radius: 16px;
	background: linear-gradient(135deg, rgba(242, 165, 22, 0.08), rgba(var(--mn-accent-rgb, 40, 53, 131), 0.04));
}

body:not(#mn-design) .mn-review-ask__title {
	margin: 0 0 4px;
	color: var(--mn-accent);
	font-family: "Bricolage Grotesque", sans-serif;
	font-size: 19px;
	font-weight: 600;
	line-height: 1.3;
}

body:not(#mn-design) .mn-review-ask__text {
	margin: 0 0 16px;
	color: var(--mn-muted);
	font-size: 14px;
	line-height: 1.5;
}

body:not(#mn-design) .mn-review-ask__list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

body:not(#mn-design) .mn-review-ask__item {
	display: flex;
	flex-direction: column;
	gap: 6px;
	block-size: 100%;
	box-sizing: border-box;
	padding: 10px;
	border: 1px solid var(--mn-border);
	border-radius: 12px;
	background: #fff;
	color: var(--mn-text);
	text-decoration: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

body:not(#mn-design) .mn-review-ask__item:hover {
	border-color: var(--mn-accent);
	box-shadow: var(--mn-ring);
}

body:not(#mn-design) .mn-review-ask__image img {
	display: block;
	inline-size: 100%;
	block-size: auto;
	aspect-ratio: 1;
	object-fit: contain;
	border-radius: 8px;
}

body:not(#mn-design) .mn-review-ask__name {
	flex: 1;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
}

body:not(#mn-design) .mn-review-ask__cta {
	color: var(--mn-accent);
	font-size: 13px;
	font-weight: 700;
}

body:not(#mn-design) .mn-review-ask__cta::before {
	content: "★ ";
	color: #f2a516;
}

body:not(#mn-design) .woocommerce-table--order-details .mn-order-item-review {
	display: block;
	clear: both;
	inline-size: fit-content;
	margin-top: 6px;
	color: var(--mn-accent);
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
}

body:not(#mn-design) .woocommerce-table--order-details a.mn-order-item-review::before {
	content: "★ ";
	color: #f2a516;
}

body:not(#mn-design) .woocommerce-table--order-details a.mn-order-item-review:hover {
	text-decoration: underline;
}

body:not(#mn-design) .woocommerce-table--order-details .mn-order-item-review.is-done {
	color: #1d6b3d;
	font-weight: 600;
}

/* --- Passende Produkte ----------------------------------------------- */

body:not(#mn-design) .mn-product__related-head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px 16px;
	margin-bottom: 16px;
}

body:not(#mn-design) .mn-product__related-head .mn-product__heading {
	margin: 0;
}

body:not(#mn-design) .mn-product__more {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--mn-accent);
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
}

body:not(#mn-design) .mn-product__more:hover {
	text-decoration: underline;
}

body:not(#mn-design) .mn-product__more svg {
	inline-size: 16px;
	block-size: 16px;
}

body:not(#mn-design) .mn-product__cards {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

body:not(#mn-design) .mn-product__mini {
	display: flex;
	flex-direction: column;
	gap: 6px;
	block-size: 100%;
	box-sizing: border-box;
	padding: 16px;
	border: 1px solid var(--mn-border);
	border-radius: 16px;
	background: #fff;
	color: var(--mn-text);
	text-decoration: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

body:not(#mn-design) .mn-product__mini:hover {
	border-color: rgba(var(--mn-accent-rgb, 40, 53, 131), 0.35);
	box-shadow: var(--mn-ring);
}

body:not(#mn-design) .mn-product__mini:focus-visible {
	outline: 2px solid var(--mn-accent);
	outline-offset: 2px;
}

body:not(#mn-design) .mn-product__mini-image {
	display: block;
	margin-bottom: 6px;
	border-radius: 12px;
	background: #f5fbff;
	overflow: hidden;
}

body:not(#mn-design) .mn-product__mini-image img {
	display: block;
	inline-size: 100%;
	block-size: auto;
	aspect-ratio: 1 / 1;
	padding: 12px;
	box-sizing: border-box;
	box-shadow: none;
	object-fit: contain;
	mix-blend-mode: multiply;
}

body:not(#mn-design) .mn-product__mini-title {
	display: -webkit-box;
	overflow: hidden;
	color: var(--mn-accent);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.35;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

body:not(#mn-design) .mn-product__mini-sku {
	color: #666c96;
	font-size: 13px;
	font-variant-numeric: tabular-nums;
}

body:not(#mn-design) .mn-product__mini-price {
	margin-top: auto;
	padding-top: 4px;
	color: var(--mn-text);
	font-size: 15px;
	font-weight: 700;
}

body:not(#mn-design) .mn-product__mini-price :is(small, .woocommerce-price-suffix) {
	color: #666c96;
	font-size: 12px;
	font-weight: 500;
}

/* --- Handy: Leiste unten --------------------------------------------- */

body:not(#mn-design) .mn-product__bar {
	position: fixed;
	right: 12px;
	bottom: calc(12px + env(safe-area-inset-bottom, 0px));
	left: 12px;
	z-index: 90;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 10px 10px 16px;
	border: 1px solid var(--mn-border);
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.86);
	-webkit-backdrop-filter: blur(20px) saturate(180%);
	backdrop-filter: blur(20px) saturate(180%);
	box-shadow: 0 12px 32px rgba(var(--mn-accent-rgb, 40, 53, 131), 0.18);
}

body:not(#mn-design) .mn-product__bar[hidden] {
	display: none;
}

body:not(#mn-design) .mn-product__bar-info {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-inline-size: 0;
}

body:not(#mn-design) .mn-product__bar-title {
	overflow: hidden;
	color: var(--mn-text);
	font-size: 13px;
	font-weight: 600;
	text-overflow: ellipsis;
	white-space: nowrap;
}

body:not(#mn-design) .mn-product__bar-price {
	color: var(--mn-accent);
	font-size: 15px;
	font-weight: 700;
	white-space: nowrap;
}

body:not(#mn-design) .mn-product__bar-price :is(small, .woocommerce-price-suffix) {
	font-size: 11px;
	font-weight: 500;
}

body:not(#mn-design) .mn-product__bar-btn {
	flex: none;
	min-block-size: 44px;
}

/* WhatsApp-Button würde die Leiste verdecken. */
body:has(.mn-product__bar:not([hidden])) .e-contact-buttons {
	visibility: hidden;
	opacity: 0;
}

/* Ausführungsliste für Gäste: ein Hinweis mit „Anmelden". */
body:not(#mn-design) .mn-variants__gate {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 16px;
	margin: 0 0 20px;
	padding: 14px 16px;
	border: 1px solid var(--mn-border);
	border-radius: 12px;
	background: #f5fbff;
}

body:not(#mn-design) .mn-variants__gate svg {
	flex: none;
	inline-size: 22px;
	block-size: 22px;
	fill: none;
	stroke: var(--mn-accent);
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

body:not(#mn-design) .mn-variants__gate p {
	flex: 1 1 280px;
	margin: 0;
	color: var(--mn-muted);
	font-size: 14px;
	line-height: 1.5;
}

body:not(#mn-design) .mn-variants__gate strong {
	color: var(--mn-accent);
}

body:not(#mn-design) .mn-variants__gate .mn-product__btn {
	flex: none;
	inline-size: auto;
	padding-inline: 28px;
}

/* --- Responsive ------------------------------------------------------- */

@media (max-width: 1024px) {
	body:not(#mn-design) .mn-product__top {
		gap: 32px;
	}

	body:not(#mn-design) .mn-product__cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body:not(#mn-design) .mn-product__details.has-both {
		grid-template-columns: minmax(0, 1fr);
	}

	body:not(#mn-design) .mn-reviews__body.has-summary {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
	}

	body:not(#mn-design) .mn-reviews__summary {
		position: static;
	}
}

@media (max-width: 767px) {
	body:not(#mn-design) .mn-product {
		gap: 28px;
	}

	body:not(#mn-design) .mn-product__crumbs {
		margin-bottom: -12px;
		font-size: 13px;
	}

	body:not(#mn-design) .mn-product__crumbs [aria-current] {
		display: none;
	}

	body:not(#mn-design) .mn-product__crumbs svg:last-of-type {
		display: none;
	}

	body:not(#mn-design) .mn-product__top {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
	}

	body:not(#mn-design) .mn-product__buy {
		position: static;
	}

	body:not(#mn-design) .mn-product__title {
		font-size: 27px;
	}

	body:not(#mn-design) .mn-product :is(.mn-product__price, .woocommerce-variation-price) .price {
		font-size: 26px;
	}

	body:not(#mn-design) .mn-product__card {
		padding: 20px 16px;
	}

	body:not(#mn-design) .mn-product__specs dl {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}

	body:not(#mn-design) .mn-product__cards {
		gap: 12px;
	}

	body:not(#mn-design) .mn-product__mini {
		padding: 12px;
	}
}

@media (prefers-reduced-motion: reduce) {
	body:not(#mn-design) :is(.mn-product__btn, .mn-product__mini, .mn-product .flex-control-thumbs img) {
		transition: none;
	}
}

/* --- Ausführungsliste (variable Produkte, templates/variants.php) ------- */

/* Kaufbox: Zusammenfassung statt Auswahl-Pillen. */
body:not(#mn-design) .mn-product__from {
	color: var(--mn-muted);
	font-size: 0.6em;
	font-weight: 500;
}

body:not(#mn-design) .mn-product__choose {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

body:not(#mn-design) .mn-product__choose-text {
	margin: 0;
	color: var(--mn-muted);
	font-size: 15px;
	line-height: 1.5;
}

body:not(#mn-design) .mn-product__choose-btn {
	gap: 10px;
}

body:not(#mn-design) .mn-product__choose-btn svg {
	inline-size: 18px;
	block-size: 18px;
}

/* Kaufbox: über eine bestimmte Ausführung gekommen – gleich bestellbar. */
body:not(#mn-design) .mn-product__chosen {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

body:not(#mn-design) .mn-variant--box {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin: 0;
	padding: 18px;
	border: 1px solid var(--mn-border);
	border-radius: 16px;
	background: #fbfcff;
}

body:not(#mn-design) .mn-product__chosen-head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 4px 12px;
}

body:not(#mn-design) .mn-product__chosen-label {
	color: var(--mn-muted);
	font-size: 12px;
	font-weight: 700;
}

body:not(#mn-design) .mn-product__chosen-sku {
	color: var(--mn-muted);
	font-size: 14px;
}

body:not(#mn-design) .mn-product__chosen-sku strong {
	color: var(--mn-text);
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

/* Merkmale als Raster (mndesign_merkmale_html): oben eine Reihe für den Faden,
 * darunter der Rest (Nadelteile), je drei Zellen nebeneinander, getrennt durch
 * feine Linien. Die Kategorie steht klein über dem Wert. */
body:not(#mn-design) .mn-raster {
	border-block: 1px solid var(--mn-border);
	color: var(--mn-text);
}

body:not(#mn-design) .mn-raster__reihe {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 0;
	padding: 0;
	list-style: none;
}

body:not(#mn-design) .mn-raster__reihe + .mn-raster__reihe {
	border-block-start: 1px solid var(--mn-border);
}

body:not(#mn-design) .mn-raster li {
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-inline-size: 0;
	margin: 0;
	padding: 10px 12px;
	border-inline-start: 1px solid var(--mn-border);
}

body:not(#mn-design) .mn-raster__label {
	color: var(--mn-muted);
	font-size: 12px;
	font-weight: 500;
	line-height: 1.3;
}

body:not(#mn-design) .mn-raster__wert {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
	overflow-wrap: break-word;
	hyphens: auto;
}

body:not(#mn-design) .mn-raster li:nth-child(3n + 1) {
	padding-inline-start: 0;
	border-inline-start: 0;
}

body:not(#mn-design) .mn-raster li:nth-child(n + 4) {
	border-block-start: 1px solid var(--mn-border);
}

@media (max-width: 480px) {
	body:not(#mn-design) .mn-raster li {
		padding-inline: 10px;
	}
}

/* Mit Symbol (Krümmung, Färbung): kurzer Wert, bleibt in einer Zeile. */
body:not(#mn-design) .mn-raster__wert:has(> svg, > .mn-variants__dot) {
	white-space: nowrap;
}

body:not(#mn-design) .mn-raster .mn-variant__needle-icon {
	flex: none;
	inline-size: 18px;
	block-size: 18px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	color: var(--mn-accent);
}

body:not(#mn-design) .mn-raster .mn-variant__needle-icon circle {
	fill: currentColor;
	stroke: none;
}

/* Kategorie je Wert als kleiner Tooltip (wie beim Warenkorb-Knopf der Liste). */
body:not(#mn-design) .mn-tip {
	position: relative;
	border-radius: 4px;
	cursor: help;
	text-decoration: underline dotted transparent;
	text-underline-offset: 4px;
	transition: text-decoration-color 0.16s ease;
}

body:not(#mn-design) .mn-tip:hover {
	text-decoration-color: color-mix(in srgb, currentColor 45%, transparent);
}

body:not(#mn-design) .mn-tip:focus {
	outline: none;
}

body:not(#mn-design) .mn-tip:focus-visible {
	outline: 2px solid var(--mn-accent);
	outline-offset: 2px;
}

body:not(#mn-design) .mn-tip::after {
	content: attr(data-tip);
	position: absolute;
	z-index: 5;
	inset-block-end: calc(100% + 8px);
	inset-inline-start: 50%;
	padding: 6px 10px;
	border-radius: 8px;
	/* Ton von „Im Warenkorb" (--mn-tint), deckend, damit der Text darunter nicht durchscheint. */
	border: 1px solid rgba(var(--mn-accent-rgb, 40, 53, 131), 0.12);
	background: color-mix(in srgb, var(--mn-accent, #283583) 8%, #fbfcff);
	box-shadow: 0 6px 18px rgba(20, 24, 50, 0.12);
	color: var(--mn-accent);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
	opacity: 0;
	transform: translate(-50%, 4px);
	pointer-events: none;
	transition: opacity 0.16s ease, transform 0.16s ease;
}

body:not(#mn-design) .mn-tip:is(:hover, :focus)::after {
	opacity: 1;
	transform: translate(-50%, 0);
	transition-delay: 0.08s;
}

body:not(#mn-design) .mn-product__chosen-status {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
}

body:not(#mn-design) .mn-product .mn-variant__stock {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #1f7a4d;
	font-size: 13px;
	font-weight: 600;
}

body:not(#mn-design) .mn-product .mn-variant__stock::before {
	content: "";
	flex: none;
	inline-size: 7px;
	block-size: 7px;
	border-radius: 50%;
	background: currentColor;
}

body:not(#mn-design) .mn-product .mn-variant__stock.is-out-of-stock {
	color: #b3261e;
}

body:not(#mn-design) .mn-product .mn-variant__stock.is-backorder {
	color: #8a5a00;
}

body:not(#mn-design) .mn-product__chosen-buy {
	display: flex;
	align-items: stretch;
	gap: 12px;
}

/* Konturierter Knopf wie die übrigen Nebenknöpfe (.button ohne .alt), volle Breite, ohne Fläche */
body:not(#mn-design) .mn-product__chosen-other {
	display: flex;
	align-items: center;
	justify-content: center;
	align-self: stretch;
	gap: 8px;
	box-sizing: border-box;
	min-block-size: var(--mn-height);
	padding: 0 20px;
	border: 1px solid var(--mn-border);
	border-radius: var(--mn-radius);
	background: transparent;
	color: var(--mn-accent);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.2;
	text-decoration: none;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

body:not(#mn-design) .mn-product__chosen-other:hover {
	border-color: rgba(var(--mn-accent-rgb, 40, 53, 131), 0.35);
	background: var(--mn-tint);
	color: var(--mn-accent);
}

body:not(#mn-design) .mn-product__chosen-other:focus-visible {
	outline: 2px solid var(--mn-accent);
	outline-offset: 2px;
}

body:not(#mn-design) .mn-product__chosen-other svg {
	inline-size: 16px;
	block-size: 16px;
}

/* Gewählte Zeile in der Liste */
body:not(#mn-design) .mn-variants .mn-variant.is-chosen {
	background: rgba(var(--mn-accent-rgb, 40, 53, 131), 0.05);
	box-shadow: inset 3px 0 0 var(--mn-accent);
}

body:not(#mn-design) .mn-variants {
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: 28px;
	border: 1px solid var(--mn-border);
	border-radius: 20px;
	background: #fff;
	scroll-margin-top: 120px;
}

body:not(#mn-design) .mn-variants__head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 12px; /* Anzahl direkt hinter der Überschrift */
}

body:not(#mn-design) .mn-variants__head .mn-product__heading {
	margin: 0;
}

/* Anzahl als Pille, hebt sich von Überschrift und Text ab */
body:not(#mn-design) .mn-variants__count {
	margin: 0;
	padding: 3px 12px;
	border: 1px solid var(--mn-border);
	border-radius: 999px;
	background: var(--mn-tint);
	color: var(--mn-muted);
	font-size: 14px;
	line-height: 1.4;
	font-variant-numeric: tabular-nums;
}

body:not(#mn-design) .mn-variants__count strong {
	color: var(--mn-accent);
	font-weight: 700;
}

/* Kurze Erklärung unter der Überschrift */
body:not(#mn-design) .mn-variants__intro {
	max-width: 62ch;
	margin: 8px 0 0;
	color: var(--mn-muted);
	font-size: 15px;
	line-height: 1.5;
}

/* Suche und „Bisher bestellt" in einer Zeile */
body:not(#mn-design) .mn-variants__tools {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 16px;
}

body:not(#mn-design) .mn-variants__search {
	position: relative;
	flex: 1 1 320px;
	max-inline-size: 560px;
}

body:not(#mn-design) .mn-variants .mn-variants__bestellt,
body:not(#mn-design) .mn-variants .mn-variants__bestellt:hover,
body:not(#mn-design) .mn-variants .mn-variants__bestellt:focus {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	box-sizing: border-box;
	min-block-size: 48px; /* wie Suchfeld und Knöpfe der Leiste */
	margin: 0;
	padding: 0 16px;
	border: 1px dashed var(--mn-border);
	border-radius: 12px;
	background: transparent;
	box-shadow: none;
	color: var(--mn-muted);
	font-family: inherit;
	font-size: 13px;
	font-weight: 600;
	text-transform: none;
	letter-spacing: 0;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

body:not(#mn-design) .mn-variants .mn-variants__bestellt:hover {
	border-color: rgba(var(--mn-accent-rgb, 40, 53, 131), 0.35);
	color: var(--mn-accent);
}

body:not(#mn-design) .mn-variants .mn-variants__bestellt[aria-pressed="true"] {
	border-style: solid;
	border-color: var(--mn-accent);
	background: var(--mn-tint);
	color: var(--mn-accent);
}

body:not(#mn-design) .mn-variants .mn-variants__bestellt:focus-visible {
	outline: 2px solid var(--mn-accent);
	outline-offset: 2px;
}

body:not(#mn-design) .mn-variants__bestellt svg {
	inline-size: 16px;
	block-size: 16px;
}

/* Vorschläge unter der Suche: Art.-Nr. ohne Zusatz, bisher bestellte oben */
body:not(#mn-design) .mn-variants__vorschlag {
	position: absolute;
	z-index: 30;
	inset-inline: 0;
	inset-block-start: calc(100% + 6px);
	box-sizing: border-box;
	max-block-size: min(360px, 60vh);
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: 6px;
	border: 1px solid var(--mn-border);
	border-radius: var(--mn-radius);
	background: #fff;
	box-shadow: 0 18px 40px -18px rgba(40, 53, 131, 0.35);
}

body:not(#mn-design) .mn-variants__vorschlag[hidden],
body:not(#mn-design) .mn-variants__vorschlag-teil[hidden],
body:not(#mn-design) .mn-variants__opt[hidden] {
	display: none;
}

body:not(#mn-design) .mn-variants__vorschlag-teil + .mn-variants__vorschlag-teil {
	margin-top: 6px;
	padding-top: 6px;
	border-top: 1px solid var(--mn-border);
}

body:not(#mn-design) .mn-variants__vorschlag-titel {
	margin: 0;
	padding: 6px 10px 4px;
	color: var(--mn-muted);
	font-size: 12px;
	font-weight: 600;
}

body:not(#mn-design) .mn-variants__opt {
	display: flex;
	align-items: baseline;
	gap: 12px;
	padding: 9px 10px;
	border-radius: 8px;
	color: var(--mn-text);
	font-size: 14px;
	cursor: pointer;
}

body:not(#mn-design) .mn-variants__opt:hover,
body:not(#mn-design) .mn-variants__opt.is-markiert {
	background: var(--mn-tint);
}

body:not(#mn-design) .mn-variants__opt[aria-selected="true"] .mn-variants__opt-nr {
	color: var(--mn-accent);
}

body:not(#mn-design) .mn-variants__opt-nr {
	flex: none;
	min-inline-size: 7.5em;
	font-weight: 600;
	letter-spacing: 0.02em;
}

body:not(#mn-design) .mn-variants__opt-text {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 1px;
	min-inline-size: 0;
}

body:not(#mn-design) .mn-variants__opt-spez {
	color: var(--mn-text);
	font-size: 13px;
	line-height: 1.35;
	text-wrap: pretty;
}

/* Handy: Nummer und Lager oben, Merkmale und Bestellinfo darunter in voller Breite. */
@media (max-width: 560px) {
	body:not(#mn-design) .mn-variants__opt {
		flex-wrap: wrap;
		justify-content: space-between;
		gap: 2px 12px;
	}

	body:not(#mn-design) .mn-variants__opt-text {
		flex-basis: 100%;
		order: 1;
	}
}

body:not(#mn-design) .mn-variants__opt-info {
	color: var(--mn-muted);
	font-size: 12px;
	line-height: 1.35;
}

body:not(#mn-design) .mn-variants__opt-lager {
	display: inline-flex;
	flex: none;
	align-items: center;
	gap: 6px;
	color: var(--mn-muted);
	font-size: 12px;
}

body:not(#mn-design) .mn-variants__opt-lager::before {
	content: "";
	inline-size: 7px;
	block-size: 7px;
	border-radius: 50%;
	background: #b8bccf;
}

body:not(#mn-design) .mn-variants__opt-lager.is-ja {
	color: #1f7a4d; /* wie „Auf Lager" in der Liste */
}

body:not(#mn-design) .mn-variants__opt-lager.is-ja::before {
	background: currentColor;
}

body:not(#mn-design) .mn-variants__search svg {
	position: absolute;
	inset-block-start: 50%;
	inset-inline-start: 20px;
	inline-size: 20px;
	block-size: 20px;
	color: var(--mn-muted);
	transform: translateY(-50%);
	pointer-events: none;
}

body:not(#mn-design) .mn-variants .mn-variants__input,
body:not(#mn-design) .mn-variants .mn-variants__input:focus {
	box-sizing: border-box;
	inline-size: 100%;
	min-block-size: 48px;
	margin: 0;
	padding: 0 20px 0 52px;
	border: 1px solid var(--mn-border);
	border-radius: 12px;
	background: #fff;
	box-shadow: none;
	color: var(--mn-text);
	font-family: inherit;
	font-size: 15px;
	outline: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

body:not(#mn-design) .mn-variants .mn-variants__input:hover {
	box-shadow: var(--mn-ring);
}

body:not(#mn-design) .mn-variants .mn-variants__input:focus {
	border-color: var(--mn-accent);
	box-shadow: var(--mn-ring);
}

/* Während der Suche wie im Katalog (wc-product-table): Kreis statt Lupe, Liste
   blendet ab, „Ergebnisse werden geladen …" (assets/js/variants.js). */
body:not(#mn-design) .mn-variants.is-suche .mn-variants__search svg {
	opacity: 0;
}

body:not(#mn-design) .mn-variants.is-suche .mn-variants__search::after,
body:not(#mn-design) .mn-variants__kreisel {
	box-sizing: border-box;
	inline-size: 16px;
	block-size: 16px;
	border: 2px solid rgba(var(--mn-accent-rgb, 40, 53, 131), 0.18);
	border-top-color: var(--mn-accent);
	border-radius: 50%;
	animation: mn-drehen 0.7s linear infinite;
}

body:not(#mn-design) .mn-variants.is-suche .mn-variants__search::after {
	content: "";
	position: absolute;
	inset-block-start: calc(50% - 8px);
	inset-inline-start: 22px;
}

body:not(#mn-design) .mn-variants .mn-variants__list {
	transition: opacity 0.15s ease;
}

body:not(#mn-design) .mn-variants.is-suche .mn-variants__list {
	opacity: 0.45;
}

body:not(#mn-design) .mn-variants__laden {
	position: sticky;
	inset-block-start: 120px;
	z-index: 6;
	grid-column: 1 / -1;
	inline-size: 100%;
	display: flex;
	justify-content: center;
	block-size: 0;
	pointer-events: none;
}

body:not(#mn-design) .mn-variants__laden-pille {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	block-size: fit-content;
	margin-block-start: 40px;
	padding: 10px 18px 10px 14px;
	border: 1px solid #e3e6f0;
	border-radius: 999px;
	background: #fff;
	box-shadow: 0 12px 32px -12px rgba(var(--mn-accent-rgb, 40, 53, 131), 0.35);
	color: var(--mn-accent);
	font-size: 14px;
	font-weight: 600;
	white-space: nowrap;
	opacity: 0;
	transform: translateY(6px);
	transition: opacity 0.15s ease, transform 0.15s ease;
}

body:not(#mn-design) .mn-variants.is-suche .mn-variants__laden-pille {
	opacity: 1;
	transform: none;
}

@keyframes mn-drehen {
	to { transform: rotate(360deg); }
}

/* Gesetzte Filter als Pillen mit × (unter der Suche) */
body:not(#mn-design) .mn-variants__active {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 14px;
}

body:not(#mn-design) .mn-variants__active[hidden] {
	display: none;
}

body:not(#mn-design) .mn-variants__active-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

body:not(#mn-design) .mn-variants__active-list li {
	margin: 0;
}

body:not(#mn-design) .mn-variants .mn-variants__active-pill,
body:not(#mn-design) .mn-variants .mn-variants__active-pill:hover,
body:not(#mn-design) .mn-variants .mn-variants__active-pill:focus {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-block-size: 32px;
	margin: 0;
	padding: 0 8px 0 12px;
	border: 1px solid var(--mn-accent);
	border-radius: 999px;
	background: var(--mn-tint);
	box-shadow: none;
	color: var(--mn-accent);
	font-family: inherit;
	font-size: 13px;
	font-weight: 600;
	text-transform: none;
	letter-spacing: 0;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

body:not(#mn-design) .mn-variants .mn-variants__active-pill:hover {
	background: rgba(var(--mn-accent-rgb, 40, 53, 131), 0.14);
}

body:not(#mn-design) .mn-variants .mn-variants__active-pill:focus-visible {
	outline: 2px solid var(--mn-accent);
	outline-offset: 2px;
}

body:not(#mn-design) .mn-variants__active-pill svg {
	inline-size: 14px;
	block-size: 14px;
	stroke-width: 2.4;
}

/* Spaltenköpfe als Filter */
body:not(#mn-design) .mn-variants__hcell {
	position: relative;
	min-inline-size: 0;
}

body:not(#mn-design) .mn-variants .mn-variants__fbtn,
body:not(#mn-design) .mn-variants .mn-variants__fbtn:hover,
body:not(#mn-design) .mn-variants .mn-variants__fbtn:focus {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	max-inline-size: 100%;
	min-block-size: 32px;
	margin: 0 0 0 -10px;
	padding: 0 10px;
	border: 1px solid transparent;
	border-radius: 999px;
	background: transparent;
	box-shadow: none;
	color: var(--mn-muted);
	font-family: inherit;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

body:not(#mn-design) .mn-variants .mn-variants__fbtn:hover,
body:not(#mn-design) .mn-variants .is-open > .mn-variants__fbtn {
	border-color: var(--mn-border);
	background: #fff;
	color: var(--mn-accent);
}

body:not(#mn-design) .mn-variants .is-active > .mn-variants__fbtn {
	border-color: var(--mn-accent);
	background: var(--mn-accent);
	color: #fff;
}

body:not(#mn-design) .mn-variants .mn-variants__fbtn:focus-visible {
	outline: 2px solid var(--mn-accent);
	outline-offset: 2px;
}

body:not(#mn-design) .mn-variants .mn-variants__chev {
	flex: none;
	inline-size: 14px;
	block-size: 14px;
	stroke-width: 2.2;
	transition: transform 0.2s ease;
}

body:not(#mn-design) .mn-variants .is-open .mn-variants__chev {
	transform: rotate(180deg);
}

/* Auswahlfeld unter dem Spaltenkopf (Optik wie die Navigations-Panels) */
body:not(#mn-design) .mn-variants__pop {
	position: absolute;
	z-index: 20;
	inset-block-start: calc(100% + 8px);
	inset-inline-start: -10px;
	box-sizing: border-box;
	inline-size: max-content;
	min-inline-size: 240px;
	max-inline-size: min(440px, calc(100vw - 32px));
	max-block-size: min(60vh, 440px);
	overflow-y: auto;
	padding: 16px;
	border: 1px solid var(--mn-border);
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 24px 64px rgba(var(--mn-accent-rgb, 40, 53, 131), 0.16);
	color: var(--mn-text);
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
	transform-origin: top left;
	translate: var(--mn-pop-shift, 0) 0;
}

body:not(#mn-design) .mn-variants__pop.is-wide {
	inline-size: min(560px, calc(100vw - 32px));
	max-inline-size: min(560px, calc(100vw - 32px));
}

body:not(#mn-design) .mn-variants__pop[hidden] {
	display: none;
}

body:not(#mn-design) .mn-variants__facet-label {
	margin: 0 0 10px;
	color: var(--mn-muted);
	font-size: 12px;
	font-weight: 700;
}

body:not(#mn-design) .mn-variants__facet + .mn-variants__facet-label {
	margin-top: 18px;
}

body:not(#mn-design) .mn-variants__facet {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

body:not(#mn-design) .mn-variants .mn-variants__chip,
body:not(#mn-design) .mn-variants .mn-variants__chip:hover,
body:not(#mn-design) .mn-variants .mn-variants__chip:focus {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-block-size: 36px;
	margin: 0;
	padding: 0 12px;
	border: 1px solid var(--mn-border);
	border-radius: 999px;
	background: #fff;
	box-shadow: none;
	color: var(--mn-text);
	font-family: inherit;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.2;
	text-transform: none;
	letter-spacing: 0;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

body:not(#mn-design) .mn-variants .mn-variants__chip:hover {
	border-color: rgba(var(--mn-accent-rgb, 40, 53, 131), 0.35);
	background: var(--mn-tint);
}

body:not(#mn-design) .mn-variants .mn-variants__chip:focus-visible {
	outline: 2px solid var(--mn-accent);
	outline-offset: 2px;
}

body:not(#mn-design) .mn-variants .mn-variants__chip[aria-pressed="true"] {
	border-color: var(--mn-accent);
	background: var(--mn-accent);
	color: #fff;
}

body:not(#mn-design) .mn-variants .mn-variants__chip[hidden] {
	display: none;
}

body:not(#mn-design) .mn-variants__n {
	min-inline-size: 18px;
	padding: 1px 6px;
	border-radius: 999px;
	background: var(--mn-tint);
	color: var(--mn-muted);
	font-size: 12px;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	text-align: center;
}

body:not(#mn-design) .mn-variants__chip[aria-pressed="true"] .mn-variants__n {
	background: rgba(255, 255, 255, 0.2);
	color: #fff;
}

body:not(#mn-design) .mn-variants__n:empty {
	display: none;
}

body:not(#mn-design) .mn-variants .mn-variant__needle-icon,
body:not(#mn-design) .mn-variants .mn-variants__chip .mn-variant__needle-icon {
	flex: none;
	inline-size: 20px;
	block-size: 20px;
	stroke-width: 1.8;
}

body:not(#mn-design) .mn-variants .mn-variant__needle-icon circle {
	fill: currentColor;
	stroke: none;
}

body:not(#mn-design) .mn-variants__dot {
	flex: none;
	inline-size: 12px;
	block-size: 12px;
	border-radius: 50%;
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.12);
}

body:not(#mn-design) .mn-variants .mn-variants__more,
body:not(#mn-design) .mn-variants .mn-variants__reset,
body:not(#mn-design) .mn-variants .mn-variants__reset-all {
	align-self: center;
	min-block-size: 36px;
	margin: 0;
	padding: 0 6px;
	border: 0;
	background: none;
	box-shadow: none;
	color: var(--mn-accent);
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
	text-transform: none;
	cursor: pointer;
}

body:not(#mn-design) .mn-variants :is(.mn-variants__reset, .mn-variants__list, .mn-variants__empty)[hidden] {
	display: none;
}

/* Liste: ein gemeinsames Raster für Kopf und alle Zeilen (subgrid) –
   so stehen die Spalten exakt untereinander, egal was in einer Zeile steht. */
body:not(#mn-design) .mn-variants__table {
	display: grid;
	grid-template-columns: var(--mn-variant-grid);
	column-gap: 24px;
	margin-inline: -28px;
	border-block-start: 1px solid #eceef6;
}

body:not(#mn-design) .mn-variants__list {
	display: grid;
	grid-column: 1 / -1;
	grid-template-columns: subgrid;
}

body:not(#mn-design) .mn-variants__row,
body:not(#mn-design) .mn-variants .mn-variant {
	display: grid;
	grid-column: 1 / -1;
	grid-template-columns: subgrid;
	align-items: center;
	margin: 0;
	padding: 12px 28px;
	border-block-end: 1px solid #eceef6;
	font-size: 14px;
}

body:not(#mn-design) .mn-variants__row--head {
	position: sticky;
	inset-block-start: 96px;
	z-index: 6;
	background: #fff;
	padding-block: 8px;
	color: var(--mn-muted);
	font-size: 12px;
	font-weight: 600;
}

body:not(#mn-design) .mn-variants__row--head .is-end {
	text-align: end;
}

/* Preis und Menge in die letzten beiden Spalten, davor die freie Spalte. */
body:not(#mn-design) :is(.mn-variant__price, .mn-variants__row--head .is-price) {
	grid-column: -3 / -2;
}

body:not(#mn-design) :is(.mn-variant__buy, .mn-variants__row--head .is-buy) {
	grid-column: -2 / -1;
}

/* Gruppen: „Auf Lager" und „Derzeit nicht vorrätig" */
body:not(#mn-design) .mn-variants__divider {
	display: flex;
	grid-column: 1 / -1;
	align-items: center;
	gap: 8px;
	padding: 14px 28px 10px;
	border-block-end: 1px solid #eceef6;
	background: #fbfcff;
	color: #1f7a4d;
	font-size: 13px;
	font-weight: 700;
}

body:not(#mn-design) .mn-variants__divider::before {
	content: "";
	inline-size: 8px;
	block-size: 8px;
	border-radius: 50%;
	background: currentColor;
}

body:not(#mn-design) .mn-variants__divider.is-nein {
	color: #b3261e;
}

/* Abstand nur, wenn darüber lieferbare Zeilen stehen. */
body:not(#mn-design) .mn-variants__divider.is-ja:not([hidden]) ~ .mn-variants__divider.is-nein {
	margin-block-start: 20px;
	border-block-start: 1px solid #eceef6;
}

body:not(#mn-design) .mn-variants__divider[hidden] {
	display: none;
}

/* „Derzeit nicht vorrätig" klappt auf und zu (assets/js/variants.js), Start: zu.
   Passen nur nicht vorrätige zu Suche und Filtern, stehen sie trotzdem da. */
body:not(#mn-design) .mn-variants__divider.is-nein {
	padding: 0;
}

body:not(#mn-design) .mn-variants__divider.is-nein::before {
	content: none;
}

body:not(#mn-design) .mn-variants__divider-knopf,
body:not(#mn-design) .mn-variants__divider-knopf:hover,
body:not(#mn-design) .mn-variants__divider-knopf:focus {
	display: flex;
	flex: 1;
	align-items: center;
	gap: 8px;
	padding: 14px 28px 10px;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	text-align: left;
	cursor: pointer;
}

body:not(#mn-design) .mn-variants__divider-knopf::before {
	content: "";
	inline-size: 8px;
	block-size: 8px;
	border-radius: 50%;
	background: currentColor;
}

body:not(#mn-design) .mn-variants__divider-knopf:focus-visible {
	outline: 2px solid var(--mn-accent);
	outline-offset: -2px;
}

body:not(#mn-design) .mn-variants__divider-aktion {
	margin-inline-start: auto;
	color: var(--mn-accent);
	font-weight: 600;
}

body:not(#mn-design) .mn-variants__divider-pfeil {
	flex: none;
	color: var(--mn-accent);
	transition: transform 0.2s ease;
}

body:not(#mn-design) .mn-variants__divider-knopf[aria-expanded="true"] .mn-variants__divider-pfeil {
	transform: rotate(180deg);
}

body:not(#mn-design) .mn-variants__list.is-out-zu:not(.is-nur-out) .mn-variant.is-out {
	display: none;
}

/* Breit wie gefilterte Zeilen: ohne Höhe im Raster, damit die Spalten beim
   Auf- und Zuklappen nicht springen. */
@media (min-width: 1025px) {
	body:not(#mn-design) .mn-variants__list.is-out-zu:not(.is-nur-out) .mn-variant.is-out {
		display: grid;
		visibility: hidden;
		block-size: 0;
		padding-block: 0;
		border: 0;
		overflow: hidden;
	}
}

body:not(#mn-design) .mn-variants__list.is-nur-out .mn-variants__divider-aktion,
body:not(#mn-design) .mn-variants__list.is-nur-out .mn-variants__divider-pfeil {
	visibility: hidden;
}

body:not(#mn-design) .mn-variants__divider-n {
	padding: 1px 7px;
	border-radius: 999px;
	box-shadow: inset 0 0 0 1px currentColor;
	font-size: 12px;
	font-variant-numeric: tabular-nums;
}

body:not(#mn-design) .mn-variants .mn-variant {
	transition: background-color 0.2s ease;
}

body:not(#mn-design) .mn-variants .mn-variant:hover {
	background: #f8faff;
}

body:not(#mn-design) .mn-variants .mn-variant.is-match {
	background: rgba(var(--mn-accent-rgb, 40, 53, 131), 0.05);
	box-shadow: inset 3px 0 0 var(--mn-accent);
}

/* Nicht vorrätig: gedämpft, ohne Bestellmöglichkeit. Nur Text und Symbole –
   die Markierung „Bestellt am …" bleibt voll lesbar. */
body:not(#mn-design) .mn-variants .mn-variant.is-out :is(.mn-variant__sku, .mn-variant__cell, .mn-variant__price) {
	color: #666c96;
}

body:not(#mn-design) .mn-variants .mn-variant.is-out :is(.mn-variant__needle-icon, .mn-variants__dot) {
	opacity: 0.45;
}

body:not(#mn-design) .mn-variants .mn-variant.is-out:hover {
	background: none;
}

body:not(#mn-design) .mn-variants .mn-variant[hidden] {
	display: none;
}

/* Breit: ausgeblendete Zeilen bleiben ohne Höhe im Raster stehen – so richten
   sich die Spaltenbreiten immer nach allen Ausführungen und springen beim
   Filtern nicht. */
@media (min-width: 1025px) {
	body:not(#mn-design) .mn-variants .mn-variant[hidden] {
		display: grid;
		visibility: hidden;
		block-size: 0;
		padding-block: 0;
		border: 0;
		overflow: hidden;
	}
}

body:not(#mn-design) .mn-variant__sku {
	color: var(--mn-text);
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

/* Art.-Nr. per Klick kopieren (copy.js): Symbol beim Überfahren, „Kopiert"
   als kleine Blase darüber – die Spaltenbreite bleibt dabei gleich. */
body:not(#mn-design) :is(.mn-variants .mn-variant__sku, .mn-product__chosen-sku, .mn-offer__sku).mn-copy {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-self: start;
	gap: 5px;
	inline-size: fit-content;
	margin: -3px -6px;
	padding: 3px 6px;
	border-radius: 7px;
	cursor: pointer;
	transition: background-color 0.16s ease, color 0.16s ease;
}

body:not(#mn-design) :is(.mn-variants .mn-variant__sku, .mn-product__chosen-sku, .mn-offer__sku).mn-copy:hover,
body:not(#mn-design) :is(.mn-variants .mn-variant__sku, .mn-product__chosen-sku, .mn-offer__sku).mn-copy.is-copied {
	background: var(--mn-tint);
	color: var(--mn-accent);
}

body:not(#mn-design) :is(.mn-variants .mn-variant__sku, .mn-product__chosen-sku, .mn-offer__sku).mn-copy:hover strong {
	color: var(--mn-accent);
}

body:not(#mn-design) :is(.mn-variants .mn-variant__sku, .mn-product__chosen-sku, .mn-offer__sku).mn-copy:focus {
	outline: none;
}

body:not(#mn-design) :is(.mn-variants .mn-variant__sku, .mn-product__chosen-sku, .mn-offer__sku).mn-copy:focus-visible {
	outline: 2px solid var(--mn-accent);
	outline-offset: 1px;
}

body:not(#mn-design) :is(.mn-variants, .mn-product__chosen, .mn-offer) .mn-copy-state {
	display: inline-flex;
	color: var(--mn-accent);
	opacity: 0;
	transition: opacity 0.16s ease;
}

body:not(#mn-design) :is(.mn-variants .mn-variant, .mn-offer__row):hover .mn-copy-state {
	opacity: 0.35;
}

body:not(#mn-design) :is(.mn-variants, .mn-product__chosen, .mn-offer) .mn-copy:is(:hover, :focus-visible, .is-copied) .mn-copy-state {
	opacity: 1;
}

body:not(#mn-design) :is(.mn-variants, .mn-product__chosen, .mn-offer) .mn-copy-icon {
	inline-size: 14px;
	block-size: 14px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

body:not(#mn-design) :is(.mn-variants, .mn-product__chosen, .mn-offer) .mn-copy-text:empty {
	display: none;
}

body:not(#mn-design) :is(.mn-variants, .mn-product__chosen, .mn-offer) .mn-copy-text {
	position: absolute;
	z-index: 5;
	inset-block-end: calc(100% + 6px);
	inset-inline-start: 50%;
	padding: 6px 10px;
	border: 1px solid rgba(var(--mn-accent-rgb, 40, 53, 131), 0.12);
	border-radius: 8px;
	background: color-mix(in srgb, var(--mn-accent, #283583) 8%, #fbfcff);
	box-shadow: 0 6px 18px rgba(20, 24, 50, 0.12);
	color: var(--mn-accent);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
	transform: translateX(-50%);
	pointer-events: none;
	animation: mn-copy-blase 0.18s ease-out;
}

@keyframes mn-copy-blase {
	from {
		opacity: 0;
		transform: translate(-50%, 4px);
	}
}

/* Ohne Maus: Symbol immer leicht sichtbar, damit man weiß, dass es geht. */
@media (hover: none) {
	body:not(#mn-design) :is(.mn-variants, .mn-product__chosen, .mn-offer) .mn-copy-state {
		opacity: 0.45;
	}
}

@media (prefers-reduced-motion: reduce) {
	body:not(#mn-design) :is(.mn-variants, .mn-product__chosen, .mn-offer) :is(.mn-copy, .mn-copy-state) {
		transition: none;
	}

	body:not(#mn-design) :is(.mn-variants, .mn-product__chosen, .mn-offer) .mn-copy-text {
		animation: none;
	}
}

body:not(#mn-design) .mn-variant__none {
	color: #b9bedc;
}

body:not(#mn-design) .mn-variant__cell {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-inline-size: 0;
	color: var(--mn-text);
	white-space: nowrap;
}

body:not(#mn-design) .mn-variant__cell--nadel {
	white-space: normal;
}

body:not(#mn-design) .mn-variant__cell--usp {
	font-weight: 600;
}

/* Markierungen unter der Nadel: im Warenkorb, bisher bestellt. */
body:not(#mn-design) .mn-variant__text {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-inline-size: 0;
}

/* Nadelteile mit Kategorie im Tooltip, getrennt durch Punkte. */
body:not(#mn-design) .mn-variant__sep {
	margin-inline: 5px;
	color: var(--mn-muted);
	font-weight: 400;
}

body:not(#mn-design) .mn-variant__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

body:not(#mn-design) .mn-variant__tags:not(:has(.mn-variant__tag:not([hidden]))) {
	display: none;
}

body:not(#mn-design) .mn-variant__tag {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 2px 8px 2px 6px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.4;
	white-space: nowrap;
}

body:not(#mn-design) .mn-variant__tag[hidden] {
	display: none;
}

body:not(#mn-design) .mn-variant__tag svg {
	flex: none;
	inline-size: 13px;
	block-size: 13px;
	stroke-width: 2;
}

body:not(#mn-design) .mn-variant__tag--korb {
	background: var(--mn-tint);
	color: var(--mn-accent);
}

body:not(#mn-design) .mn-variant__tag-n {
	font-variant-numeric: tabular-nums;
}

body:not(#mn-design) .mn-variant__tag--bestellt {
	padding-inline: 0;
	color: var(--mn-muted);
	font-weight: 500;
	cursor: help;
}

body:not(#mn-design) .mn-variant__cell--nadel .mn-variant__needle-icon {
	color: var(--mn-accent);
}

body:not(#mn-design) .mn-variant__price {
	color: var(--mn-text);
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	text-align: end;
	white-space: nowrap;
}

body:not(#mn-design) .mn-variant__price del {
	display: block;
	color: var(--mn-muted);
	font-size: 12px;
	font-weight: 500;
}

body:not(#mn-design) .mn-variant__note {
	display: block;
	color: #8a5a00;
	font-size: 12px;
	font-weight: 600;
}

body:not(#mn-design) .mn-variant__buy {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
}

/* Kompakter Mengenwähler in der Zeile */
body:not(#mn-design) .mn-variants .quantity.mn-stepper {
	block-size: 40px;
}

body:not(#mn-design) .mn-variants .mn-stepper .mn-step,
body:not(#mn-design) .mn-variants .mn-stepper .mn-step:hover,
body:not(#mn-design) .mn-variants .mn-stepper .mn-step:focus {
	inline-size: 34px;
}

body:not(#mn-design) .mn-variants .mn-stepper input.qty,
body:not(#mn-design) .mn-variants .mn-stepper input.qty:hover,
body:not(#mn-design) .mn-variants .mn-stepper input.qty:focus {
	inline-size: 42px;
	block-size: 38px;
}

/* In den Warenkorb: nur das Symbol, der Titel kommt als kleiner Tooltip. */
body:not(#mn-design) .mn-variants .mn-variant__add,
body:not(#mn-design) .mn-variants .mn-variant__add:hover,
body:not(#mn-design) .mn-variants .mn-variant__add:focus,
body:not(#mn-design) .mn-wunschliste .mn-variant__add,
body:not(#mn-design) .mn-wunschliste .mn-variant__add:hover,
body:not(#mn-design) .mn-wunschliste .mn-variant__add:focus {
	position: relative;
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	inline-size: 40px;
	block-size: 40px;
	min-block-size: 0;
	margin: 0;
	padding: 0;
	border: 1px solid var(--mn-accent);
	border-radius: var(--mn-radius);
	background: var(--mn-accent);
	box-shadow: none;
	color: #fff;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease, opacity 0.2s ease;
}

body:not(#mn-design) .mn-variants .mn-variant__add:hover,
body:not(#mn-design) .mn-wunschliste .mn-variant__add:hover {
	border-color: var(--mn-accent-hover);
	background: var(--mn-accent-hover);
}

body:not(#mn-design) .mn-variants .mn-variant__add:focus-visible,
body:not(#mn-design) .mn-wunschliste .mn-variant__add:focus-visible {
	outline: 2px solid var(--mn-accent);
	outline-offset: 2px;
}

body:not(#mn-design) .mn-variants .mn-variant__add svg,
body:not(#mn-design) .mn-wunschliste .mn-variant__add svg:not(.mn-added-icon) {
	flex: none;
	inline-size: 19px;
	block-size: 19px;
}

body:not(#mn-design) .mn-variants .mn-variant__add::after,
body:not(#mn-design) .mn-wunschliste .mn-variant__add::after {
	content: attr(data-tip);
	position: absolute;
	z-index: 5;
	inset-block-end: calc(100% + 8px);
	inset-inline-end: 0;
	padding: 6px 10px;
	border-radius: 8px;
	/* Wie die Tooltips in „Ihre Ausführung": Ton von „Im Warenkorb", deckend. */
	border: 1px solid rgba(var(--mn-accent-rgb, 40, 53, 131), 0.12);
	background: color-mix(in srgb, var(--mn-accent, #283583) 8%, #fbfcff);
	box-shadow: 0 6px 18px rgba(20, 24, 50, 0.12);
	color: var(--mn-accent);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
	opacity: 0;
	transform: translateY(4px);
	pointer-events: none;
	transition: opacity 0.16s ease, transform 0.16s ease;
}

body:not(#mn-design) .mn-variants .mn-variant__add:is(:hover, :focus-visible)::after,
body:not(#mn-design) .mn-wunschliste .mn-variant__add:is(:hover, :focus-visible)::after {
	opacity: 1;
	transform: none;
	transition-delay: 0.08s;
}

body:not(#mn-design) .mn-variants .mn-variant__add.is-busy,
body:not(#mn-design) .mn-wunschliste .mn-variant__add.is-busy {
	opacity: 0.6;
	pointer-events: none;
}

body:not(#mn-design) .mn-variants .mn-variant__add.is-added,
body:not(#mn-design) .mn-wunschliste .mn-variant__add.is-added {
	border-color: #1f7a4d;
	background: #1f7a4d;
}

/* Beim Bestätigen nur der Haken; „Im Warenkorb" steht im Tooltip. */
body:not(#mn-design) .mn-variants .mn-variant__add .mn-added-label,
body:not(#mn-design) .mn-wunschliste .mn-variant__add .mn-added-label {
	position: absolute;
	inline-size: 1px;
	block-size: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

body:not(#mn-design) .mn-variants .mn-variant__add.is-added::after,
body:not(#mn-design) .mn-wunschliste .mn-variant__add.is-added::after {
	opacity: 1;
	transform: none;
	border-color: rgba(31, 122, 77, 0.2);
	background: color-mix(in srgb, #1f7a4d 10%, #fff);
	color: #1f7a4d;
}

/* Haken der Bestätigung (wie in der Kaufbox, product.js) */
body:not(#mn-design) .mn-variants .mn-added-icon,
body:not(#mn-design) .mn-wunschliste .mn-added-icon {
	flex: none;
	inline-size: 19px;
	block-size: 19px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2.6;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-dasharray: 1;
	stroke-dashoffset: 0;
}

body:not(#mn-design) .mn-variants__empty {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
	padding: 20px 0 4px;
	color: var(--mn-muted);
	font-size: 15px;
}

body:not(#mn-design) .mn-variants__empty p {
	margin: 0;
}

/* Schmal: Filter untereinander, Zeilen als kleine Karten. */
@media (max-width: 1024px) {
	/* Kopf als Reihe von Filter-Pillen, klebt ebenfalls. */
	body:not(#mn-design) .mn-variants__row--head {
		display: flex;
		flex-wrap: wrap;
		gap: 8px;
		inset-block-start: 88px;
		padding: 12px 28px;
	}

	body:not(#mn-design) .mn-variants__row--head .mn-variants__hcell:not(.has-filter) {
		display: none;
	}

	body:not(#mn-design) .mn-variants__row--head .mn-variants__hcell {
		position: static;
	}

	body:not(#mn-design) .mn-variants .mn-variants__fbtn,
	body:not(#mn-design) .mn-variants .mn-variants__fbtn:hover,
	body:not(#mn-design) .mn-variants .mn-variants__fbtn:focus {
		margin: 0;
		border-color: var(--mn-border);
		min-block-size: 36px;
	}

	body:not(#mn-design) .mn-variants__pop,
	body:not(#mn-design) .mn-variants__pop.is-wide {
		inset-inline: 16px;
		inline-size: auto;
		min-inline-size: 0;
		max-inline-size: none;
		translate: none;
	}

	body:not(#mn-design) .mn-variants__table,
	body:not(#mn-design) .mn-variants__list {
		display: block;
	}

	body:not(#mn-design) .mn-variants .mn-variant {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 6px 14px;
		padding: 16px 28px;
	}

	body:not(#mn-design) .mn-variants .mn-variant__cell--nadel {
		order: -2;
		flex: 1 1 100%;
		font-size: 15px;
		font-weight: 600;
	}

	body:not(#mn-design) .mn-variants .mn-variant__sku {
		order: 5;
		color: var(--mn-muted);
		font-size: 13px;
		font-weight: 500;
	}

	body:not(#mn-design) .mn-variants .mn-variant__sku::before {
		content: "Art.-Nr. ";
	}

	body:not(#mn-design) .mn-variants .mn-variant__price {
		order: 7;
		margin-inline-start: auto;
		font-size: 16px;
	}

	body:not(#mn-design) .mn-variants .mn-variant__buy {
		order: 8;
		flex: 1 1 100%;
		margin-block-start: 6px;
	}

	body:not(#mn-design) .mn-variants .mn-variant__buy {
		justify-content: flex-start;
	}
}

@media (max-width: 767px) {
	body:not(#mn-design) .mn-variants {
		gap: 16px;
		padding: 20px 16px;
	}

	body:not(#mn-design) .mn-variants__table {
		margin-inline: -16px;
	}

	body:not(#mn-design) .mn-variants .mn-variant {
		padding: 16px;
	}

	body:not(#mn-design) .mn-variants__divider,
	body:not(#mn-design) .mn-variants__row--head {
		padding-inline: 16px;
	}

	/* Lange Nadel-Namen umbrechen statt aus dem Bild zu laufen. */
	body:not(#mn-design) .mn-variants .mn-variants__chip {
		max-inline-size: 100%;
		padding-block: 6px;
		text-align: start;
		white-space: normal;
	}

	body:not(#mn-design) .mn-variants__chip-text {
		flex: 0 1 auto;
		min-inline-size: 0;
		overflow-wrap: anywhere;
	}

	body:not(#mn-design) .mn-variants__chip .mn-variants__n {
		flex: none;
	}
}

/* Ohne eigene Art.-Nr.: in der Karte gar nicht erst „Art.-Nr. –" zeigen. */
@media (max-width: 1024px) {
	body:not(#mn-design) .mn-variants .mn-variant__sku.is-empty {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	body:not(#mn-design) :is(.mn-variants__chip, .mn-variant, .mn-variant__add, .mn-variants__input),
	body:not(#mn-design) .mn-variants .mn-variant__add::after {
		transition: none;
	}
}

/* --- Was ist neu (includes/neu.php, assets/js/neu.js) ------------------- */

body:not(#mn-design) :is(.mn-neu-karte, .mn-neu-liste, .mn-neu-pille, .mn-neu-hinweis) {
	box-sizing: border-box;
	color: var(--mn-text);
	font-family: Inter, sans-serif;
	text-align: left;
}

/* Unten links: Karte und Liste öffnen dort, wo die Pille sitzt (rechts unten ist der WhatsApp-Knopf). */
body:not(#mn-design) :is(.mn-neu-karte, .mn-neu-liste, .mn-neu-pille) {
	position: fixed;
	bottom: 24px;
	left: 24px;
	z-index: 9990;
}

body:not(#mn-design) :is(.mn-neu-karte, .mn-neu-liste) {
	border: 1px solid #e3e5f0;
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 24px 60px rgba(var(--mn-accent-rgb, 40, 53, 131), 0.18);
}

body:not(#mn-design) .mn-neu-karte {
	inline-size: 380px;
	max-inline-size: calc(100vw - 32px);
	padding: 22px 22px 18px;
}

body:not(#mn-design) .mn-neu__zeile {
	color: var(--mn-secondary, #1f99cf);
	font-size: 12px;
	font-weight: 600;
}

body:not(#mn-design) .mn-neu__titel {
	margin: 6px 0 8px;
	color: var(--mn-accent);
	font-family: "Bricolage Grotesque", sans-serif;
	font-size: 24px;
	font-weight: 600;
	line-height: 1.15;
	letter-spacing: -0.01em;
}

body:not(#mn-design) .mn-neu__text {
	margin: 0 0 14px;
	font-size: 14px;
	line-height: 1.55;
}

body:not(#mn-design) .mn-neu__x {
	position: absolute;
	top: 12px;
	right: 12px;
	display: grid;
	place-items: center;
	inline-size: 36px;
	block-size: 36px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: #666c96;
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
}

body:not(#mn-design) .mn-neu__x:hover {
	background: var(--mn-tint);
	color: var(--mn-accent);
}

body:not(#mn-design) .mn-neu__x--rund {
	position: static;
	flex: none;
	background: #f3f2f8;
	color: var(--mn-muted);
}

body:not(#mn-design) .mn-neu-karte__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 16px;
}

body:not(#mn-design) .mn-neu-chip {
	padding: 6px 10px;
	border-radius: 10px;
	background: #eef7ee;
	color: #1d6b3d;
	font-size: 12px;
	font-weight: 600;
}

body:not(#mn-design) .mn-neu-karte__aktionen {
	display: flex;
	gap: 8px;
}

body:not(#mn-design) .mn-neu-btn {
	flex: 1;
	min-block-size: 44px;
	padding: 10px 14px;
	border: 0;
	border-radius: 12px;
	background: var(--mn-accent);
	color: #fff;
	font: 600 14px Inter, sans-serif;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

body:not(#mn-design) .mn-neu-btn:hover {
	background: var(--mn-accent-hover);
	color: #fff;
}

body:not(#mn-design) .mn-neu-btn--leise {
	flex: none;
	background: transparent;
	color: var(--mn-accent);
}

body:not(#mn-design) .mn-neu-btn--leise:hover {
	background: var(--mn-tint);
	color: var(--mn-accent);
}

body:not(#mn-design) :is(.mn-neu-btn, .mn-neu__x, .mn-neu-item__kopf, .mn-neu-pille):focus-visible {
	outline: none;
	box-shadow: var(--mn-ring);
}

/* WhatsApp-Button würde Karte und Liste verdecken. */
body:has(:is(.mn-neu-karte, .mn-neu-liste)) .e-contact-buttons {
	visibility: hidden;
	opacity: 0;
}

/* Pille: unten links, rechts sitzt der WhatsApp-Button. */
body:not(#mn-design) .mn-neu-pille {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-block-size: 44px;
	padding: 10px 18px;
	border: 1px solid var(--mn-border);
	border-radius: 999px;
	background: #fff;
	box-shadow: 0 10px 30px rgba(var(--mn-accent-rgb, 40, 53, 131), 0.14);
	color: var(--mn-accent);
	font: 600 14px Inter, sans-serif;
	cursor: pointer;
}

body:not(#mn-design) .mn-neu-pille:hover {
	border-color: var(--mn-accent);
	background: #fff;
	color: var(--mn-accent);
}

body:not(#mn-design) .mn-neu-pille__punkt {
	inline-size: 8px;
	block-size: 8px;
	border-radius: 50%;
	background: #f2a516;
}

/* Liste */
/* So hoch wie der Inhalt – eingeklappte Bereiche halten die Liste kurz. */
body:not(#mn-design) .mn-neu-liste {
	display: flex;
	max-block-size: calc(100vh - 48px);
	flex-direction: column;
	inline-size: 440px;
	max-inline-size: calc(100vw - 32px);
	overflow: hidden;
}

body:not(#mn-design) .mn-neu-liste__kopf {
	padding: 22px 22px 14px;
	border-bottom: 1px solid #ececf4;
}

body:not(#mn-design) .mn-neu-liste__zeile {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
}

body:not(#mn-design) .mn-neu-liste .mn-neu__titel {
	margin: 4px 0 0;
	font-size: 26px;
}

body:not(#mn-design) .mn-neu-liste__balken {
	block-size: 4px;
	margin-top: 12px;
	border-radius: 2px;
	background: #ececf4;
	overflow: hidden;
}

body:not(#mn-design) .mn-neu-liste__balken span {
	display: block;
	block-size: 100%;
	background: #f2a516;
}

body:not(#mn-design) .mn-neu-liste__inhalt {
	flex: 1;
	padding: 4px 10px 12px;
	overflow-y: auto;
	overscroll-behavior: contain;
}

/* Eintrag: Kopfzeile klappt Video und „Auf der Seite zeigen“ auf. */
body:not(#mn-design) .mn-neu-item {
	border-radius: 12px;
}

body:not(#mn-design) .mn-neu-item.is-auf {
	background: #f6f7fc;
}

body:not(#mn-design) .mn-neu-item__kopf {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	inline-size: 100%;
	padding: 10px 12px;
	border: 0;
	border-radius: 12px;
	background: none;
	color: var(--mn-text);
	font: inherit;
	line-height: 1.4;
	text-align: left;
	white-space: normal;
	cursor: pointer;
}

body:not(#mn-design) .mn-neu-item__kopf:hover {
	background: #f6f7fc;
	color: var(--mn-text);
}

body:not(#mn-design) .mn-neu-item__punkt {
	display: grid;
	flex: none;
	place-items: center;
	inline-size: 22px;
	block-size: 22px;
	margin-top: 1px;
	border-radius: 50%;
	background: rgba(242, 165, 22, 0.18);
	color: #1d6b3d;
	font-size: 12px;
	font-weight: 700;
}

body:not(#mn-design) .mn-neu-item.is-gesehen .mn-neu-item__punkt {
	background: #e7f4ec;
}

body:not(#mn-design) .mn-neu-item__text {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 2px;
	min-inline-size: 0;
}

body:not(#mn-design) .mn-neu-item__titel {
	font-size: 14px;
	font-weight: 600;
}

body:not(#mn-design) .mn-neu-item__nutzen {
	overflow-wrap: anywhere;
	color: var(--mn-muted);
	font-size: 13px;
	line-height: 1.45;
}

body:not(#mn-design) .mn-neu-item__pfeil {
	flex: none;
	align-self: center;
	inline-size: 8px;
	block-size: 8px;
	margin: -3px 6px 0;
	border-right: 2px solid var(--mn-accent);
	border-bottom: 2px solid var(--mn-accent);
	transform: rotate(45deg);
	transition: transform 0.2s ease;
}

body:not(#mn-design) .mn-neu-item.is-auf .mn-neu-item__pfeil {
	margin-top: 3px;
	transform: rotate(-135deg);
}

body:not(#mn-design) .mn-neu-item__mehr {
	padding: 0 12px 12px 46px;
}

body:not(#mn-design) .mn-neu-item__video {
	display: block;
	inline-size: 100%;
	aspect-ratio: 960 / 600;
	border: 1px solid #e3e5f0;
	border-radius: 12px;
	background: #fff;
	object-fit: cover;
}

body:not(#mn-design) .mn-neu-item__aktionen {
	display: flex;
	gap: 8px;
	margin-top: 10px;
}

/* Gäste: Neuerungen, die erst nach der Anmeldung zu sehen sind. */
body:not(#mn-design) .mn-neu-liste__login {
	margin: 14px 12px 6px;
	padding-top: 14px;
	border-top: 1px solid #ececf4;
}

body:not(#mn-design) .mn-neu-liste__login-titel {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	color: var(--mn-accent);
	font-size: 14px;
	font-weight: 600;
}

body:not(#mn-design) .mn-neu-liste__login-titel::before,
body:not(#mn-design) .mn-neu-item__login::before {
	content: "";
	inline-size: 12px;
	block-size: 12px;
	flex: none;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'%3E%3Crect x='5' y='11' width='14' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'%3E%3Crect x='5' y='11' width='14' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E") center / contain no-repeat;
}

body:not(#mn-design) .mn-neu-liste__login-text {
	margin: 4px 0 0;
	color: var(--mn-muted);
	font-size: 13px;
	line-height: 1.45;
}

body:not(#mn-design) .mn-neu-item__login {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	align-self: flex-start;
	margin-top: 4px;
	padding: 2px 8px;
	border-radius: 999px;
	background: #eef0fa;
	color: var(--mn-accent);
	font-size: 12px;
	font-weight: 600;
}

body:not(#mn-design) .mn-neu-item__login-text {
	margin: 10px 0 0;
	color: var(--mn-muted);
	font-size: 13px;
	line-height: 1.45;
}

body:not(#mn-design) .mn-neu-item__aktionen a.mn-neu-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
}

body:not(#mn-design) .mn-neu-liste__fuss {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 14px 10px 22px;
	border-top: 1px solid #ececf4;
	color: #666c96;
	font-size: 12px;
}

/* Hinweis an der Funktion */
body:not(#mn-design) .mn-neu-hinweis {
	position: absolute;
	z-index: 9980;
	padding: 16px 18px;
	border-radius: 16px;
	background: var(--mn-accent);
	box-shadow: 0 18px 40px rgba(var(--mn-accent-rgb, 40, 53, 131), 0.28);
	color: #fff;
}

body:not(#mn-design) .mn-neu-hinweis__marke {
	display: inline-block;
	padding: 2px 8px;
	border-radius: 999px;
	background: #f2a516;
	color: #2d1b00;
	font-size: 11px;
	font-weight: 700;
}

body:not(#mn-design) .mn-neu-hinweis__titel {
	margin: 8px 0 4px;
	color: #fff;
	font-size: 15px;
	font-weight: 600;
}

body:not(#mn-design) .mn-neu-hinweis__text {
	margin: 0 0 12px;
	color: #dfe3f6;
	font-size: 13px;
	line-height: 1.5;
}

body:not(#mn-design) .mn-neu-hinweis__aktionen {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

body:not(#mn-design) :is(.mn-neu-hinweis__ok, .mn-neu-hinweis__aus) {
	min-block-size: 36px;
	padding: 8px 14px;
	border: 0;
	border-radius: 10px;
	font: 600 13px Inter, sans-serif;
	cursor: pointer;
}

body:not(#mn-design) .mn-neu-hinweis__ok,
body:not(#mn-design) .mn-neu-hinweis__ok:hover {
	background: #fff;
	color: var(--mn-accent);
}

body:not(#mn-design) .mn-neu-hinweis__aus,
body:not(#mn-design) .mn-neu-hinweis__aus:hover {
	padding-inline: 8px;
	background: transparent;
	color: #dfe3f6;
	font-weight: 500;
}

body:not(#mn-design) :is(.mn-neu-hinweis__ok, .mn-neu-hinweis__aus):focus-visible {
	outline: 2px solid #fff;
	outline-offset: 2px;
}

body:not(#mn-design) .mn-neu-hinweis__pfeil {
	position: absolute;
	bottom: -7px;
	inline-size: 14px;
	block-size: 14px;
	background: var(--mn-accent);
	transform: rotate(45deg);
}

body:not(#mn-design) .mn-neu-hinweis.is-unten .mn-neu-hinweis__pfeil {
	top: -7px;
	bottom: auto;
}

/* Die Stelle selbst: ein ruhiger Ring, solange der Hinweis offen ist. */
body:not(#mn-design) .mn-neu-markiert {
	border-radius: 12px;
	box-shadow: 0 0 0 3px rgba(242, 165, 22, 0.45);
	transition: box-shadow 0.3s ease;
}

@media (max-width: 767px) {
	body:not(#mn-design) :is(.mn-neu-karte, .mn-neu-pille) {
		right: 16px;
		bottom: 16px;
		left: 16px;
	}

	body:not(#mn-design) .mn-neu-pille {
		right: auto;
	}

	body:not(#mn-design) .mn-neu-karte {
		inline-size: auto;
	}

	body:not(#mn-design) .mn-neu-liste {
		top: auto;
		right: 0;
		bottom: 0;
		left: 0;
		inline-size: auto;
		max-inline-size: none;
		max-block-size: 85vh;
		border-radius: 20px 20px 0 0;
	}
}

/* --- Angebote ([mednaht_angebote], templates/angebote.php) ---------------- */

/* So breit wie die Header-Leiste (1320 px), Kanten bündig mit Shop und Konto. */
body:not(#mn-design) .mn-offers {
	box-sizing: border-box;
	inline-size: 100%;
	max-inline-size: calc(1320px + 48px);
	margin: 0 auto;
	padding: 56px 24px 80px;
	color: var(--mn-text);
	font-family: Inter, sans-serif;
}

body:not(#mn-design) .mn-offers__head {
	max-inline-size: 760px;
	margin-bottom: 32px;
}

body:not(#mn-design) .mn-offers__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0 10px;
	margin: 0 0 20px;
	color: var(--mn-muted);
	font-size: 14px;
	font-weight: 500;
}

body:not(#mn-design) .mn-offers__section {
	color: var(--mn-secondary, #1f99cf);
	font-weight: 600;
}

body:not(#mn-design) .mn-offers__title {
	margin: 0;
	color: var(--mn-accent);
	font-family: "Bricolage Grotesque", sans-serif;
	font-size: clamp(36px, 5.2vw, 60px);
	font-weight: 600;
	line-height: 1.08;
	letter-spacing: -0.02em;
}

body:not(#mn-design) .mn-offers__lead {
	margin: 20px 0 0;
	font-size: clamp(18px, 2vw, 21px);
	line-height: 1.5;
	text-wrap: pretty;
}

body:not(#mn-design) .mn-offers__facts {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 28px;
	margin: 24px 0 0;
	padding: 0;
	color: var(--mn-muted);
	font-size: 14px;
	list-style: none;
}

body:not(#mn-design) .mn-offers__facts strong {
	margin-inline-end: 4px;
	color: var(--mn-accent);
	font-family: "Bricolage Grotesque", sans-serif;
	font-size: 22px;
	font-weight: 600;
}

body:not(#mn-design) .mn-offers__gate {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 24px;
	margin-bottom: 24px;
	padding: 16px 20px;
	border-radius: 16px;
	background: var(--mn-tint);
}

body:not(#mn-design) .mn-offers__gate p {
	margin: 0;
	font-size: 15px;
}

body:not(#mn-design) .mn-offers__gate strong {
	color: var(--mn-accent);
}

body:not(#mn-design) .mn-offers__gate-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

body:not(#mn-design) .mn-offers__gate-actions .mn-product__btn {
	inline-size: auto;
	padding-inline: 20px;
}

body:not(#mn-design) .mn-offers__filter {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 20px;
}

body:not(#mn-design) .mn-offers__chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-block-size: 40px;
	padding: 8px 16px;
	border: 1px solid var(--mn-border);
	border-radius: 999px;
	background: #fff;
	color: var(--mn-secondary, #1f99cf);
	font: 500 14px Inter, sans-serif;
	cursor: pointer;
}

body:not(#mn-design) .mn-offers__chip span {
	padding: 1px 7px;
	border-radius: 999px;
	background: var(--mn-tint);
	color: var(--mn-muted);
	font-size: 12px;
}

body:not(#mn-design) .mn-offers__chip:hover {
	border-color: var(--mn-accent);
	background: #fff;
	color: var(--mn-secondary, #1f99cf);
}

body:not(#mn-design) .mn-offers__chip.is-on,
body:not(#mn-design) .mn-offers__chip.is-on:hover {
	border-color: var(--mn-accent);
	background: var(--mn-accent);
	color: #fff;
}

body:not(#mn-design) .mn-offers__chip.is-on span {
	background: rgba(255, 255, 255, 0.2);
	color: #fff;
}

body:not(#mn-design) .mn-offers__chip:focus-visible {
	outline: none;
	box-shadow: var(--mn-ring);
}

body:not(#mn-design) .mn-offers__list {
	display: grid;
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

body:not(#mn-design) .mn-offer {
	padding: 20px 24px;
	border: 1px solid var(--mn-border);
	border-radius: 20px;
	background: #fff;
}

body:not(#mn-design) .mn-offer[hidden] {
	display: none;
}

body:not(#mn-design) .mn-offer__head {
	display: flex;
	align-items: center;
	gap: 16px;
}

body:not(#mn-design) .mn-offer__image {
	flex: none;
	inline-size: 72px;
	block-size: 72px;
	overflow: hidden;
	border: 1px solid #ececf4;
	border-radius: 14px;
	background: #fff;
}

body:not(#mn-design) .mn-offer__image img {
	display: block;
	inline-size: 100%;
	block-size: 100%;
	object-fit: contain;
}

body:not(#mn-design) .mn-offer__info {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 2px;
	min-inline-size: 0;
}

body:not(#mn-design) .mn-offer__cat,
body:not(#mn-design) .mn-offer__count {
	color: var(--mn-muted);
	font-size: 13px;
}

body:not(#mn-design) .mn-offer__cat {
	color: var(--mn-secondary, #1f99cf);
	font-weight: 600;
}

body:not(#mn-design) .mn-offer__name {
	margin: 0;
	font-family: "Bricolage Grotesque", sans-serif;
	font-size: 21px;
	font-weight: 600;
	line-height: 1.25;
}

body:not(#mn-design) .mn-offer__name a {
	color: var(--mn-accent);
	text-decoration: none;
}

body:not(#mn-design) .mn-offer__name a:hover {
	text-decoration: underline;
}

body:not(#mn-design) .mn-offer__badge {
	flex: none;
	padding: 6px 12px;
	border-radius: 999px;
	background: #f2a516;
	color: #2d1b00;
	font-size: 14px;
	font-weight: 700;
	white-space: nowrap;
}

body:not(#mn-design) .mn-offer__rows {
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
}

body:not(#mn-design) .mn-offer__row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	align-items: center;
	gap: 12px 24px;
	padding: 14px 0;
	border-top: 1px solid #ececf4;
}

body:not(#mn-design) .mn-offer__what {
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-inline-size: 0;
}

body:not(#mn-design) .mn-offer__werte {
	font-size: 15px;
	font-weight: 600;
}

body:not(#mn-design) .mn-offer__tags {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
}

body:not(#mn-design) .mn-offer__sku {
	color: var(--mn-muted);
	font-size: 13px;
}

body:not(#mn-design) .mn-offer__sku strong {
	color: var(--mn-text);
	font-weight: 600;
}

body:not(#mn-design) .mn-offer__tag {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 3px 9px;
	border-radius: 999px;
	background: #f3f2f8;
	color: var(--mn-muted);
	font-size: 12px;
	font-weight: 500;
}

body:not(#mn-design) .mn-offer__tag svg {
	inline-size: 14px;
	block-size: 14px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
}

body:not(#mn-design) .mn-offer__tag.is-kurz {
	background: #fdf1d9;
	color: #8a5a00;
}

body:not(#mn-design) .mn-offer__price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: flex-end;
	gap: 4px 10px;
	text-align: end;
}

body:not(#mn-design) .mn-offer__price del {
	color: #666c96;
	font-size: 14px;
}

body:not(#mn-design) .mn-offer__price strong {
	color: var(--mn-accent);
	font-size: 20px;
	font-weight: 700;
}

body:not(#mn-design) .mn-offer__save {
	padding: 2px 8px;
	border-radius: 8px;
	background: #fdf1d9;
	color: #8a5a00;
	font-size: 13px;
	font-weight: 700;
}

body:not(#mn-design) .mn-offer__buy {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
}

body:not(#mn-design) .mn-offer__buy .mn-product__btn {
	inline-size: auto;
	white-space: nowrap;
}

body:not(#mn-design) .mn-offer__sold {
	color: var(--mn-muted);
	font-size: 14px;
}

body:not(#mn-design) .mn-offers__empty {
	padding: 40px 24px;
	border: 1px dashed var(--mn-border);
	border-radius: 20px;
	text-align: center;
}

body:not(#mn-design) .mn-offers__empty .mn-product__btn {
	display: inline-flex;
	inline-size: auto;
	padding-inline: 24px;
}

body:not(#mn-design) .mn-offers__h2 {
	margin: 0 0 8px;
	color: #4d378a;
	font-family: "Inria Serif", serif;
	font-size: clamp(24px, 2.6vw, 30px);
	font-weight: 400;
	line-height: 1.25;
}

body:not(#mn-design) .mn-offers__contact {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 20px 32px;
	margin-top: 48px;
	padding: 28px 32px;
	border-radius: 20px;
	background: #f3f2f8;
}

body:not(#mn-design) .mn-offers__contact p {
	margin: 0;
	color: var(--mn-text);
	font-size: 16px;
	line-height: 1.6;
}

body:not(#mn-design) .mn-offers__contact > div:first-child {
	flex: 1 1 360px;
}

body:not(#mn-design) .mn-offers__contact-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

body:not(#mn-design) .mn-offers__contact-actions .mn-product__btn {
	inline-size: auto;
	padding-inline: 20px;
}

@media (max-width: 767px) {
	body:not(#mn-design) .mn-offers {
		padding: 32px 16px 56px;
	}

	body:not(#mn-design) .mn-offer {
		padding: 16px;
	}

	body:not(#mn-design) .mn-offer__head {
		flex-wrap: wrap;
	}

	body:not(#mn-design) .mn-offer__image {
		inline-size: 56px;
		block-size: 56px;
	}

	body:not(#mn-design) .mn-offer__row {
		grid-template-columns: minmax(0, 1fr);
		gap: 10px;
	}

	body:not(#mn-design) .mn-offer__price {
		justify-content: flex-start;
		text-align: start;
	}

	body:not(#mn-design) .mn-offer__name {
		font-size: 18px;
	}

	body:not(#mn-design) .mn-offer__buy .mn-product__btn {
		flex: 1;
	}

	body:not(#mn-design) .mn-offers__contact {
		padding: 24px 20px;
	}
}

/* --- Popups „Darum sind wir der richtige Partner" (setup-partner-popups.php) */

/* Fakten als Liste wie in den Beiträgen: blaue Punkte, ruhiger Abstand. */
body:not(#mn-design) .mn-facts p {
	margin-block-end: 0.75em;
}

body:not(#mn-design) .mn-facts ul {
	margin-block: 0;
	padding-inline-start: 1.3em;
}

body:not(#mn-design) .mn-facts li {
	margin-block-end: 0.4em;
	padding-inline-start: 0.2em;
}

body:not(#mn-design) .mn-facts li::marker {
	color: var(--mn-secondary, #1f99cf);
}

/* ===================================================================== *
 * Auswahl gewohnt oder neu (includes/auswahl-modus.php)
 * ===================================================================== */

/* Umschalter als kleiner Kasten, Optionen untereinander, darunter der Hinweis.
 * Ab 1024 px fest oben rechts unter dem (klebenden) Header – oben und rechts
 * gleich weit (16 px) –, darunter in der Kaufbox. Fest oben rechts klappt er
 * beim Scrollen zu einem Knopf ein (assets/js/auswahl-knopf.js). */
body:not(#mn-design) .mn-auswahl {
	box-sizing: border-box;
	inline-size: 232px;
	max-inline-size: 100%;
	margin: 0 0 16px;
	padding: 12px;
	border: 1px solid var(--mn-border);
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.92);
	box-shadow: 0 2px 4px rgba(var(--mn-accent-rgb, 40, 53, 131), 0.04), 0 16px 32px -16px rgba(var(--mn-accent-rgb, 40, 53, 131), 0.28);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	transform-origin: top right;
}

body:not(#mn-design) .mn-auswahl__inhalt {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

body:not(#mn-design) .mn-auswahl__inhalt[hidden],
body:not(#mn-design) .mn-auswahl__knopf[hidden] {
	display: none;
}

@media (min-width: 1024px) {
	body:not(#mn-design) .mn-auswahl {
		position: fixed;
		z-index: 90;
		inset-block-start: calc(var(--mn-auswahl-oben, calc(var(--wp-admin--admin-bar--height, 0px) + 86px)) + 16px);
		inset-inline-end: 16px;
		margin: 0;
	}

	/* Offen: Knopf nur zum Zuklappen, unauffällig in der Ecke. */
	body:not(#mn-design) .mn-auswahl:not(.is-zu) .mn-auswahl__knopf {
		display: none;
	}

	body:not(#mn-design) .mn-auswahl:not(.is-zu) {
		animation: mn-auswahl-auf 0.22s cubic-bezier(0.22, 1, 0.36, 1);
	}

	/* Eingeklappt: nur der Knopf als Pille. */
	body:not(#mn-design) .mn-auswahl.is-zu {
		inline-size: auto;
		padding: 0;
		border-radius: 999px;
		animation: mn-auswahl-zu 0.22s cubic-bezier(0.22, 1, 0.36, 1);
	}
}

@keyframes mn-auswahl-auf {
	from {
		opacity: 0;
		transform: scale(0.94);
	}
}

@keyframes mn-auswahl-zu {
	from {
		opacity: 0;
		transform: scale(0.9);
	}
}

@media (prefers-reduced-motion: reduce) {
	body:not(#mn-design) .mn-auswahl {
		animation: none !important;
	}
}

body:not(#mn-design) .mn-auswahl__knopf {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 9px 14px 9px 12px;
	border: 0;
	border-radius: 999px;
	background: none;
	color: var(--mn-muted);
	font: inherit;
	font-size: 13px;
	line-height: 1.2;
	white-space: nowrap;
	cursor: pointer;
}

body:not(#mn-design) .mn-auswahl__knopf:hover {
	background: none;
	color: var(--mn-accent);
}

body:not(#mn-design) .mn-auswahl__knopf:focus-visible {
	outline: 2px solid var(--mn-accent);
	outline-offset: 2px;
}

body:not(#mn-design) .mn-auswahl__knopf strong {
	color: var(--mn-accent);
	font-weight: 600;
}

body:not(#mn-design) .mn-auswahl__knopf svg {
	flex: none;
	inline-size: 18px;
	block-size: 18px;
	fill: none;
	stroke: var(--mn-accent);
	stroke-width: 1.8;
	stroke-linecap: round;
}

body:not(#mn-design) .mn-auswahl__label {
	padding-inline: 4px;
	color: var(--mn-muted);
	font-size: 13px;
}

body:not(#mn-design) .mn-auswahl__schalter {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 4px;
	border-radius: 12px;
	background: #f1f2f8;
}

body:not(#mn-design) .mn-auswahl__schalter a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 6px;
	padding: 8px 12px;
	border-radius: 9px;
	color: var(--mn-muted);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	transition: background-color 0.15s ease, color 0.15s ease;
}

body:not(#mn-design) .mn-auswahl__schalter a:hover {
	color: var(--mn-accent);
}

body:not(#mn-design) .mn-auswahl__schalter a[aria-current] {
	background: #fff;
	color: var(--mn-accent);
	box-shadow: 0 1px 2px rgba(var(--mn-accent-rgb, 40, 53, 131), 0.08), 0 4px 12px -6px rgba(var(--mn-accent-rgb, 40, 53, 131), 0.3);
}

/* Über den Auswahlfeldern: wie „Anwendungsbereiche" (.mn-kurz__titel), mit
 * Linie zum Preis. Unten zurückgenommen: Die Kaufbox hat 16 px Abstand, die
 * erste Feldzeile oben noch 12 px Innenabstand. */
body:not(#mn-design) .mn-product__auswahl-titel {
	margin: 4px 0 -8px;
	padding-top: 18px;
	border-top: 1px solid rgba(var(--mn-accent-rgb, 40, 53, 131), 0.1);
	color: var(--mn-muted);
	font-family: inherit;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
}

body:not(#mn-design) .mn-auswahl__hinweis {
	margin: 0;
	padding-inline: 4px;
	color: var(--mn-muted);
	font-size: 12px;
	line-height: 1.4;
}

/* Vorschau: neun Striche als Pillenreihen (Felder) oder Listenzeilen mit
 * Preis (Liste). Beim Umschalten wandern sie (auswahl-test.js setzt
 * data-modus vor dem Neuladen), beim ersten Besuch einmal hin und zurück. */
body:not(#mn-design) .mn-auswahl__vorschau {
	position: relative;
	block-size: 60px;
	overflow: hidden;
	border-radius: 9px;
	background: #f1f2f8;
}

body:not(#mn-design) .mn-auswahl__vorschau i {
	position: absolute;
	inset-inline-start: var(--x);
	inset-block-start: var(--y);
	inline-size: var(--b);
	block-size: 9px;
	border-radius: 5px;
	background: var(--mn-border);
	transition: inset-inline-start 0.6s cubic-bezier(0.22, 1, 0.36, 1), inset-block-start 0.6s cubic-bezier(0.22, 1, 0.36, 1), inline-size 0.6s cubic-bezier(0.22, 1, 0.36, 1), block-size 0.6s cubic-bezier(0.22, 1, 0.36, 1), background-color 0.4s ease, opacity 0.3s ease;
}

/* Felder: Reihen mit 3, 2 und 4 Pillen, je eine gewählt. */
body:not(#mn-design) .mn-auswahl__vorschau i:nth-child(1) { --x: 6%; --y: 9px; --b: 22%; }
body:not(#mn-design) .mn-auswahl__vorschau i:nth-child(2) { --x: 31%; --y: 9px; --b: 22%; }
body:not(#mn-design) .mn-auswahl__vorschau i:nth-child(3) { --x: 56%; --y: 9px; --b: 22%; }
body:not(#mn-design) .mn-auswahl__vorschau i:nth-child(4) { --x: 6%; --y: 25px; --b: 30%; }
body:not(#mn-design) .mn-auswahl__vorschau i:nth-child(5) { --x: 39%; --y: 25px; --b: 30%; }
body:not(#mn-design) .mn-auswahl__vorschau i:nth-child(6) { --x: 6%; --y: 41px; --b: 17%; }
body:not(#mn-design) .mn-auswahl__vorschau i:nth-child(7) { --x: 26%; --y: 41px; --b: 17%; }
body:not(#mn-design) .mn-auswahl__vorschau i:nth-child(8) { --x: 46%; --y: 41px; --b: 17%; }
body:not(#mn-design) .mn-auswahl__vorschau i:nth-child(9) { --x: 66%; --y: 41px; --b: 17%; }

body:not(#mn-design) .mn-auswahl__vorschau[data-modus="alt"] i:is(:nth-child(1), :nth-child(4), :nth-child(7)) {
	background: var(--mn-accent);
}

/* Liste: vier Zeilen, rechts der Preis; die neunte Pille geht. */
body:not(#mn-design) .mn-auswahl__vorschau[data-modus="neu"] i {
	block-size: 7px;
}

body:not(#mn-design) .mn-auswahl__vorschau[data-modus="neu"] i:nth-child(-n+4) { --x: 6%; --b: 60%; }
body:not(#mn-design) .mn-auswahl__vorschau[data-modus="neu"] i:nth-child(n+5) { --x: 72%; --b: 22%; background: rgba(var(--mn-accent-rgb, 40, 53, 131), 0.45); }
body:not(#mn-design) .mn-auswahl__vorschau[data-modus="neu"] i:is(:nth-child(1), :nth-child(5)) { --y: 8px; }
body:not(#mn-design) .mn-auswahl__vorschau[data-modus="neu"] i:is(:nth-child(2), :nth-child(6)) { --y: 21px; }
body:not(#mn-design) .mn-auswahl__vorschau[data-modus="neu"] i:is(:nth-child(3), :nth-child(7)) { --y: 34px; }
body:not(#mn-design) .mn-auswahl__vorschau[data-modus="neu"] i:is(:nth-child(4), :nth-child(8)) { --y: 47px; }
body:not(#mn-design) .mn-auswahl__vorschau[data-modus="neu"] i:nth-child(9) { --x: 72%; --y: 47px; --b: 22%; opacity: 0; }

@media (prefers-reduced-motion: reduce) {
	body:not(#mn-design) .mn-auswahl__vorschau i {
		transition: none;
	}
}

body:not(#mn-design) .mn-auswahl__frage {
	display: inline;
	padding: 0;
	border: 0;
	background: none;
	color: var(--mn-accent);
	font: inherit;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
	cursor: pointer;
}

body:not(#mn-design) .mn-auswahl__frage:hover {
	background: none;
	color: var(--mn-accent-hover);
}

body:not(#mn-design) .mn-auswahl__frage[hidden],
body:not(#mn-design) .mn-auswahl__feedback[hidden] {
	display: none;
}

body:not(#mn-design) .mn-auswahl__feedback {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0;
	padding: 10px;
	border-radius: 9px;
	background: #f1f2f8;
	font-size: 13px;
}

body:not(#mn-design) .mn-auswahl__feedback fieldset {
	margin: 0;
	padding: 0;
	border: 0;
}

body:not(#mn-design) .mn-auswahl__feedback legend {
	margin-block-end: 6px;
	padding: 0;
	color: var(--mn-text);
	font-weight: 600;
}

body:not(#mn-design) .mn-auswahl__wahl {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 6px;
}

body:not(#mn-design) .mn-auswahl__wahl label {
	position: relative;
	display: block;
	cursor: pointer;
}

body:not(#mn-design) .mn-auswahl__wahl input {
	position: absolute;
	opacity: 0;
}

body:not(#mn-design) .mn-auswahl__wahl span {
	display: block;
	padding: 7px 8px;
	border: 1px solid var(--mn-border);
	border-radius: 8px;
	background: #fff;
	color: var(--mn-muted);
	font-weight: 600;
	text-align: center;
	transition: border-color 0.15s ease, color 0.15s ease;
}

body:not(#mn-design) .mn-auswahl__wahl input:checked + span {
	border-color: var(--mn-accent);
	color: var(--mn-accent);
	box-shadow: var(--mn-ring);
}

body:not(#mn-design) .mn-auswahl__wahl input:focus-visible + span {
	outline: 2px solid var(--mn-accent);
	outline-offset: 2px;
}

body:not(#mn-design) .mn-auswahl__warum {
	display: flex;
	flex-direction: column;
	gap: 4px;
	color: var(--mn-muted);
}

body:not(#mn-design) .mn-auswahl__warum textarea {
	box-sizing: border-box;
	inline-size: 100%;
	min-block-size: 0;
	padding: 6px 8px;
	border: 1px solid var(--mn-border);
	border-radius: 8px;
	background: #fff;
	color: var(--mn-text);
	font: inherit;
	resize: vertical;
}

body:not(#mn-design) .mn-auswahl__warum textarea:focus {
	border-color: var(--mn-accent);
	outline: 0;
	box-shadow: var(--mn-ring);
}

body:not(#mn-design) .mn-auswahl__senden {
	align-self: flex-start;
	padding: 7px 14px;
	border: 0;
	border-radius: 8px;
	background: var(--mn-accent);
	color: #fff;
	font: inherit;
	font-weight: 600;
	cursor: pointer;
}

body:not(#mn-design) .mn-auswahl__senden:hover {
	background: var(--mn-accent-hover);
	color: #fff;
}

body:not(#mn-design) .mn-auswahl__danke {
	margin: 0;
	color: var(--mn-muted);
}

body:not(#mn-design) .mn-auswahl__danke:empty {
	display: none;
}

/* Hinweis B unter den Auswahlfeldern: klappt auf (grid-template-rows). */
body:not(#mn-design) .mn-auswahl-tipp {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

body:not(#mn-design) .mn-auswahl-tipp[hidden] {
	display: none;
}

body:not(#mn-design) .mn-auswahl-tipp.is-offen {
	grid-template-rows: 1fr;
}

body:not(#mn-design) .mn-auswahl-tipp > * {
	overflow: hidden;
}

body:not(#mn-design) .mn-auswahl-tipp__innen {
	margin-block: 4px 12px;
	padding: 12px 14px;
	border-radius: var(--mn-radius);
	background: var(--mn-tint);
}

body:not(#mn-design) .mn-auswahl-tipp__text {
	margin: 0 0 10px;
	color: var(--mn-text);
	font-size: 14px;
	line-height: 1.45;
}

body:not(#mn-design) .mn-auswahl-tipp__text[hidden] {
	display: none;
}

body:not(#mn-design) .mn-auswahl-tipp__knoepfe {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 16px;
}

body:not(#mn-design) .mn-auswahl-tipp__los {
	padding: 8px 14px;
	border-radius: 9px;
	background: var(--mn-accent);
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}

body:not(#mn-design) .mn-auswahl-tipp__los:hover {
	background: var(--mn-accent-hover);
	color: #fff;
}

body:not(#mn-design) .mn-auswahl-tipp__weg {
	padding: 0;
	border: 0;
	background: none;
	color: var(--mn-muted);
	font: inherit;
	font-size: 14px;
	cursor: pointer;
}

body:not(#mn-design) .mn-auswahl-tipp__weg:hover {
	background: none;
	color: var(--mn-accent);
}

@media (prefers-reduced-motion: reduce) {
	body:not(#mn-design) .mn-auswahl-tipp {
		transition: none;
	}
}

body:not(#mn-design) .mn-auswahl__mehr {
	align-self: flex-start;
	padding: 0 4px;
	border: 0;
	background: none;
	color: var(--mn-accent);
	font: inherit;
	font-size: 14px;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}

body:not(#mn-design) .mn-auswahl__mehr:hover {
	background: none;
	color: var(--mn-accent-hover);
}

/* Overlay: Milchglas über der Produktseite, Karte mit Bild und Vorteilen. */
html.mn-modus-offen {
	overflow: hidden;
}

body:not(#mn-design) .mn-modus {
	position: fixed;
	z-index: 9000;
	inset: 0;
	display: grid;
	place-items: center;
	box-sizing: border-box;
	overflow-y: auto;
	padding: 32px 24px;
	background: rgba(242, 244, 250, 0.6);
	-webkit-backdrop-filter: blur(22px) saturate(1.2);
	backdrop-filter: blur(22px) saturate(1.2);
	overscroll-behavior: contain;
}

body:not(#mn-design) .mn-modus[hidden] {
	display: none;
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
	body:not(#mn-design) .mn-modus {
		background: rgba(242, 244, 250, 0.96);
	}
}

body:not(#mn-design):has(.mn-modus:not([hidden])) :is(.mn-neu-karte, .mn-neu-liste, .mn-neu-pille, .mn-neu-hinweis, .e-contact-buttons) {
	display: none !important;
}

body:not(#mn-design) .mn-modus__karte {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
	gap: 12px;
	box-sizing: border-box;
	inline-size: min(1400px, 100%);
	outline: none;
	padding: 12px;
	border: 1px solid rgba(255, 255, 255, 0.9);
	border-radius: 28px;
	background: #fff;
	box-shadow: 0 2px 4px rgba(var(--mn-accent-rgb, 40, 53, 131), 0.04), 0 40px 80px -32px rgba(var(--mn-accent-rgb, 40, 53, 131), 0.35);
}

body:not(#mn-design) .mn-modus__zu {
	position: absolute;
	z-index: 2;
	top: 20px;
	right: 20px;
	display: grid;
	place-items: center;
	inline-size: 40px;
	block-size: 40px;
	padding: 0;
	border: 1px solid var(--mn-border);
	border-radius: 50%;
	background: #fff;
	color: var(--mn-accent);
	cursor: pointer;
}

body:not(#mn-design) .mn-modus__zu:hover {
	background: var(--mn-tint);
	color: var(--mn-accent);
}

/* Links: Blau mit Leitsatz, darunter der Screenshot schräg im Licht. */
body:not(#mn-design) .mn-modus__bild {
	position: relative;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	min-block-size: 520px;
	padding: 32px;
	border-radius: 20px;
	background:
		radial-gradient(circle at 70% 30%, rgba(84, 156, 255, 0.5) 0%, rgba(84, 156, 255, 0) 45%),
		radial-gradient(circle at 10% 100%, rgba(103, 88, 156, 0.6) 0%, rgba(103, 88, 156, 0) 50%),
		linear-gradient(160deg, #2f3e9e 0%, var(--mn-accent, #283583) 40%, #151c52 100%);
	color: #fff;
}

body:not(#mn-design) .mn-modus__claim {
	max-inline-size: 22ch;
	margin: 0 36px 0 0;
	color: #fff;
	font-family: "Bricolage Grotesque", sans-serif;
	font-size: 32px;
	font-weight: 600;
	line-height: 1.1;
}

body:not(#mn-design) .mn-modus__foto {
	margin: auto 0 0;
	padding-top: 24px;
}

/* Video der Liste flach in einem Fenster, in Originalgröße lesbar. */
body:not(#mn-design) .mn-modus__fenster {
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.6);
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 30px 60px -20px rgba(8, 12, 40, 0.7);
}

body:not(#mn-design) .mn-modus__fenster video {
	display: block;
	inline-size: 100%;
	block-size: auto;
	aspect-ratio: 4 / 3;
}

body:not(#mn-design) .mn-modus__unterzeile {
	margin: 12px 0 0;
	color: rgba(255, 255, 255, 0.8);
	font-size: 14px;
	line-height: 1.4;
}

/* Rechts: Titel, Vorteile, was bisher schwer war, Entscheidung. */
body:not(#mn-design) .mn-modus__inhalt {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 28px 32px 24px;
}

body:not(#mn-design) .mn-modus__titel {
	margin: 0 48px 6px 0;
	color: var(--mn-accent);
	font-family: "Bricolage Grotesque", sans-serif;
	font-size: 28px;
	font-weight: 600;
	line-height: 1.15;
}

body:not(#mn-design) .mn-modus__text {
	margin: 0 0 16px;
	color: var(--mn-muted);
	font-size: 15px;
	line-height: 1.55;
}

body:not(#mn-design) .mn-modus__vorteile {
	display: grid;
	gap: 10px;
	margin: 0 0 16px;
	padding: 0;
	list-style: none;
}

body:not(#mn-design) .mn-modus__vorteile li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: 0;
	color: var(--mn-muted);
	font-size: 14px;
	line-height: 1.45;
}

body:not(#mn-design) .mn-modus__vorteile strong {
	display: block;
	color: var(--mn-text);
	font-size: 15px;
}

body:not(#mn-design) .mn-modus__symbol {
	display: grid;
	flex: none;
	place-items: center;
	inline-size: 34px;
	block-size: 34px;
	border-radius: 10px;
	background: var(--mn-tint);
	color: var(--mn-accent);
}

body:not(#mn-design) .mn-modus__alt {
	margin: 0 0 18px;
	padding: 12px 16px;
	border-radius: 14px;
	background: #f7f7fa;
}

body:not(#mn-design) .mn-modus__alt-titel {
	margin: 0 0 6px;
	color: var(--mn-muted);
	font-size: 13px;
	font-weight: 700;
}

body:not(#mn-design) .mn-modus__alt ul {
	display: grid;
	gap: 2px;
	margin: 0;
	padding: 0;
	list-style: none;
}

body:not(#mn-design) .mn-modus__alt li {
	position: relative;
	margin: 0;
	padding-inline-start: 22px;
	color: var(--mn-muted);
	font-size: 14px;
	line-height: 1.5;
}

body:not(#mn-design) .mn-modus__alt li::before {
	content: "";
	position: absolute;
	top: 5px;
	left: 0;
	inline-size: 14px;
	block-size: 14px;
	border-radius: 50%;
	background: #fbe3e1 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b3261e' stroke-width='3.5' stroke-linecap='round'%3E%3Cpath d='M8 8l8 8M16 8l-8 8'/%3E%3C/svg%3E") center / 9px no-repeat;
}

body:not(#mn-design) .mn-modus__knoepfe {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

body:not(#mn-design) .mn-modus__btn {
	display: inline-flex;
	flex: 1 1 auto;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-block-size: 48px;
	padding: 0 20px;
	border: 1px solid var(--mn-border);
	border-radius: var(--mn-radius);
	background: #fff;
	color: var(--mn-accent);
	font: inherit;
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.15s ease, border-color 0.15s ease;
}

body:not(#mn-design) .mn-modus__btn:hover {
	border-color: rgba(var(--mn-accent-rgb, 40, 53, 131), 0.35);
	background: var(--mn-tint);
	color: var(--mn-accent);
}

body:not(#mn-design) .mn-modus__btn--primaer {
	border-color: var(--mn-accent);
	background: var(--mn-accent);
	color: #fff;
	box-shadow: 0 10px 24px -14px rgba(var(--mn-accent-rgb, 40, 53, 131), 0.6);
}

body:not(#mn-design) .mn-modus__btn--primaer:hover,
body:not(#mn-design) .mn-modus__btn--primaer:focus {
	border-color: var(--mn-accent-hover);
	background: var(--mn-accent-hover);
	color: #fff;
}

body:not(#mn-design) .mn-modus__fuss {
	margin: 10px 0 0;
	color: var(--mn-muted);
	font-size: 13px;
	text-align: center;
}

@media (max-width: 900px) {
	body:not(#mn-design) .mn-modus {
		place-items: start stretch;
		padding: 0;
		background: #fff;
	}

	body:not(#mn-design) .mn-modus__karte {
		grid-template-columns: minmax(0, 1fr);
		min-block-size: 100dvh;
		padding: 8px;
		border: 0;
		border-radius: 0;
		box-shadow: none;
		align-content: start;
	}

	body:not(#mn-design) .mn-modus__zu {
		top: 20px;
		right: 20px;
		border-color: rgba(255, 255, 255, 0.35);
		background: rgba(255, 255, 255, 0.16);
		color: #fff;
	}

	body:not(#mn-design) .mn-modus__bild {
		min-block-size: 0;
		padding: 24px 20px 20px;
		border-radius: 18px;
	}

	body:not(#mn-design) .mn-modus__claim {
		margin-right: 64px;
	}

	body:not(#mn-design) .mn-modus__claim {
		font-size: 24px;
	}

	body:not(#mn-design) .mn-modus__foto {
		padding-top: 16px;
	}

	body:not(#mn-design) .mn-modus__inhalt {
		padding: 24px 12px 32px;
	}

	body:not(#mn-design) .mn-modus__titel {
		margin-right: 0;
		font-size: 24px;
	}

	body:not(#mn-design) .mn-modus__knoepfe {
		flex-direction: column;
	}
}

/* ===================================================================== *
 * Konto löschen (includes/konto-loeschen.php)
 * ===================================================================== */

body:not(#mn-design) .mn-loeschen {
	margin-top: 32px;
}

body:not(#mn-design) .mn-loeschen__details {
	border: 1px solid #f1d5d2;
	border-radius: 16px;
	background: #fff;
}

body:not(#mn-design) .mn-loeschen__details > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 20px 24px;
	cursor: pointer;
	list-style: none;
}

body:not(#mn-design) .mn-loeschen__details > summary::-webkit-details-marker {
	display: none;
}

body:not(#mn-design) .mn-loeschen__details > summary::after {
	content: "";
	flex: none;
	inline-size: 10px;
	block-size: 10px;
	border-right: 2px solid #b3261e;
	border-bottom: 2px solid #b3261e;
	transform: rotate(45deg);
	transition: transform 0.2s ease;
}

body:not(#mn-design) .mn-loeschen__details[open] > summary::after {
	transform: rotate(225deg);
}

body:not(#mn-design) .mn-loeschen__titel {
	display: block;
	color: #b3261e;
	font-size: 17px;
	font-weight: 700;
}

body:not(#mn-design) .mn-loeschen__kurz {
	display: block;
	margin-top: 2px;
	color: var(--mn-muted);
	font-size: 14px;
}

body:not(#mn-design) .mn-loeschen__inhalt {
	padding: 0 24px 24px;
	border-top: 1px solid #f6e2e0;
}

body:not(#mn-design) .mn-loeschen__spalten {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	margin: 20px 0 16px;
}

body:not(#mn-design) .mn-loeschen__h {
	margin: 0 0 8px;
	color: var(--mn-text);
	font-size: 14px;
	font-weight: 700;
}

body:not(#mn-design) .mn-loeschen__liste {
	display: grid;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}

body:not(#mn-design) .mn-loeschen__liste li {
	position: relative;
	margin: 0;
	padding-inline-start: 24px;
	color: var(--mn-muted);
	font-size: 14px;
	line-height: 1.5;
}

body:not(#mn-design) .mn-loeschen__liste li::before {
	content: "";
	position: absolute;
	top: 3px;
	left: 0;
	inline-size: 16px;
	block-size: 16px;
	border-radius: 50%;
}

body:not(#mn-design) .mn-loeschen__liste--weg li::before {
	background: #fbe3e1 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b3261e' stroke-width='3.2' stroke-linecap='round'%3E%3Cpath d='M8 8l8 8M16 8l-8 8'/%3E%3C/svg%3E") center / 10px no-repeat;
}

body:not(#mn-design) .mn-loeschen__liste--bleibt li::before {
	background: #fdf3e1 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a5a00' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='6' y='11' width='12' height='9' rx='2'/%3E%3Cpath d='M9 11V8a3 3 0 0 1 6 0v3'/%3E%3C/svg%3E") center / 10px no-repeat;
}

body:not(#mn-design) .mn-loeschen__recht {
	margin: 0 0 20px;
	padding: 14px 16px;
	border-radius: 12px;
	background: #f7f7fa;
	color: var(--mn-muted);
	font-size: 14px;
	line-height: 1.55;
}

body:not(#mn-design) .mn-loeschen__sperre {
	margin: 0;
	padding: 14px 16px;
	border: 1px solid #f3dfb8;
	border-radius: 12px;
	background: #fdf6e8;
	color: #6b4f1d;
	font-size: 14px;
	line-height: 1.55;
}

body:not(#mn-design) .mn-loeschen__form {
	display: grid;
	gap: 14px;
	margin: 0;
	padding: 0;
	border: 0;
}

body:not(#mn-design) .mn-loeschen__form .form-row {
	margin: 0;
	padding: 0;
}

body:not(#mn-design) .mn-loeschen__form label[for="mn-loeschen-email"] {
	display: block;
	margin-bottom: 8px;
	color: var(--mn-text);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
}

body:not(#mn-design) .mn-loeschen__ok {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--mn-text);
	font-size: 15px;
	cursor: pointer;
}

body:not(#mn-design) .mn-loeschen__btn {
	justify-self: start;
	min-block-size: 48px;
	padding: 0 24px;
	border: 1px solid #b3261e;
	border-radius: var(--mn-radius);
	background: #b3261e;
	color: #fff;
	font: inherit;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.15s ease;
}

body:not(#mn-design) .mn-loeschen__btn:hover,
body:not(#mn-design) .mn-loeschen__btn:focus {
	border-color: #8f1d17;
	background: #8f1d17;
	color: #fff;
}

@media (max-width: 767px) {
	body:not(#mn-design) .mn-loeschen__spalten {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
	}

	body:not(#mn-design) .mn-loeschen__details > summary,
	body:not(#mn-design) .mn-loeschen__inhalt {
		padding-inline: 16px;
	}

	body:not(#mn-design) .mn-loeschen__btn {
		justify-self: stretch;
	}
}

/* ===================================================================== *
 * Produkt-Raster der Startseite (Elementor-Loop-Raster mit Klasse
 * „mn-produkt-raster", Karte: Loop-Vorlage „Produktkarte" mit
 * „mn-loop-karte", kleine Karten „--klein" mit „mn-loop-mini").
 * Fest, ohne Blättern, gleich breit wie der Inhalt.
 * Eingerichtet von scripts/lib/setup-produkt-karussell.php.
 * ===================================================================== */

/* Spalten gleich breit, auch wenn ein Name lang ist (er wird mit „…" gekürzt). */
body:not(#mn-design) .mn-produkt-raster .elementor-loop-container {
	grid-template-columns: repeat(var(--grid-columns), minmax(0, 1fr));
}

/* Alle Karten einer Reihe gleich hoch. */
body:not(#mn-design) .mn-produkt-raster .e-loop-item {
	min-inline-size: 0;
	block-size: 100%;
}

/* Kopf eines Slider-Abschnitts: Überschrift und Text links, „Alle ansehen" rechts. */
body:not(#mn-design) .mn-slider-titel .elementor-heading-title {
	margin: 0;
	color: var(--mn-text);
	font-family: inherit;
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.35;
}

body:not(#mn-design) .mn-slider-text .elementor-heading-title {
	margin: 0;
	color: var(--mn-muted);
	font-family: inherit;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.45;
}

body:not(#mn-design) .mn-slider-mehr {
	flex: none;
}

body:not(#mn-design) .mn-slider-mehr .elementor-heading-title {
	margin: 0;
	font-family: inherit;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.4;
}

body:not(#mn-design) .mn-slider-mehr a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--mn-accent);
	text-decoration: none;
}

body:not(#mn-design) .mn-slider-mehr a::after {
	content: "";
	inline-size: 16px;
	block-size: 16px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform 0.15s ease;
}

body:not(#mn-design) .mn-slider-mehr a:hover::after {
	transform: translateX(3px);
}

@media (max-width: 767px) {
	body:not(#mn-design) .mn-slider-kopf {
		flex-wrap: wrap !important;
		align-items: flex-start !important;
		gap: 8px !important;
	}
}

/* Karten: weiß, feiner Rahmen, kleiner Radius, leichter Schatten. */
body:not(#mn-design) :is(.mn-loop-karte, .mn-loop-mini) {
	block-size: 100%;
	box-sizing: border-box;
	border: 1px solid #e9eaf0;
	border-radius: var(--mn-radius);
	background: #fff;
	box-shadow: 0 1px 3px rgba(20, 24, 50, 0.06);
	transition: transform 0.25s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.25s ease;
}

body:not(#mn-design) .mn-loop-karte {
	padding: 8px 8px 14px;
}

body:not(#mn-design) :is(.mn-loop-karte, .mn-loop-mini):hover {
	transform: translateY(-3px);
	box-shadow: 0 1px 3px rgba(20, 24, 50, 0.06), 0 12px 24px -14px rgba(var(--mn-accent-rgb, 40, 53, 131), 0.3);
}

/* Kleine Karte: Bild und Name in einer Zeile. */
body:not(#mn-design) .mn-loop-mini {
	padding: 7px 7px 10px;
}

body:not(#mn-design) .mn-loop-mini__bild,
body:not(#mn-design) .mn-loop-mini__bild .elementor-widget-container {
	inline-size: 100%;
	margin: 0;
}

body:not(#mn-design) .mn-loop-mini__bild a {
	display: block;
}

body:not(#mn-design) .mn-loop-mini__bild img {
	display: block;
	inline-size: 100%;
	block-size: auto;
	aspect-ratio: 1;
	border-radius: 8px; /* Kartenradius minus Innenabstand */
	background: #f4f5f9;
	object-fit: cover;
}

body:not(#mn-design) .mn-loop-mini__titel {
	margin: 10px 1px 0;
}

body:not(#mn-design) .mn-loop-mini__titel :is(h1, h2, h3, h4, p),
body:not(#mn-design) .mn-loop-mini__titel .product_title {
	display: block;
	overflow: hidden;
	margin: 0;
	color: var(--mn-text);
	font-family: inherit;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.35;
	text-overflow: ellipsis;
	white-space: nowrap;
}

body:not(#mn-design) .mn-loop-mini__titel a {
	color: inherit;
	text-decoration: none;
}

body:not(#mn-design) .mn-loop-mini__titel a:hover {
	color: var(--mn-accent);
}

body:not(#mn-design) .mn-loop-karte__bild,
body:not(#mn-design) .mn-loop-karte__bild .elementor-widget-container {
	inline-size: 100%;
	margin: 0;
}

body:not(#mn-design) .mn-loop-karte__bild a {
	display: block;
}

body:not(#mn-design) .mn-loop-karte__bild img {
	display: block;
	inline-size: 100%;
	block-size: auto;
	aspect-ratio: 1;
	border-radius: 8px;
	background: #f4f5f9;
	object-fit: cover;
}

/* Mit Produktfarbe (includes/product.php): freigestellte Packung auf dem
   farbigen Grund, wie die Kacheln im Katalog (wc-product-table). */
body:not(#mn-design) .mn-loop-karte__bild a.mn-loop-karte__farbe {
	overflow: hidden;
	border-radius: 8px;
	background: color-mix(in srgb, var(--mn-karte-farbe) 22%, #fff);
}

body:not(#mn-design) .mn-loop-karte__bild a.mn-loop-karte__farbe img {
	box-sizing: border-box;
	padding: 14px;
	border-radius: 0;
	background: transparent;
	object-fit: contain;
	transition: transform 0.3s ease;
}

body:not(#mn-design) .mn-loop-karte__bild a.mn-loop-karte__farbe img:not(.mn-loop-karte__packung) {
	mix-blend-mode: multiply;
}

body:not(#mn-design) .mn-loop-karte__bild img.mn-loop-karte__packung {
	filter: drop-shadow(0 6px 8px rgba(20, 30, 80, 0.18));
}

body:not(#mn-design) .mn-loop-karte:hover .mn-loop-karte__farbe img {
	transform: scale(1.04);
}

body:not(#mn-design) .mn-loop-karte__titel {
	margin: 14px 3px 0;
}

body:not(#mn-design) .mn-loop-karte__titel :is(h1, h2, h3, h4, p),
body:not(#mn-design) .mn-loop-karte__titel .product_title {
	display: -webkit-box;
	overflow: hidden;
	margin: 0;
	color: var(--mn-text);
	font-family: inherit;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.4;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

body:not(#mn-design) .mn-loop-karte__titel a {
	color: inherit;
	text-decoration: none;
}

body:not(#mn-design) .mn-loop-karte__titel a:hover {
	color: var(--mn-accent);
}

body:not(#mn-design) .mn-loop-karte__versand {
	margin: 2px 3px 0;
}

body:not(#mn-design) .mn-loop-karte__versand p {
	margin: 0;
	color: var(--mn-muted);
	font-size: 12px;
	line-height: 1.4;
}

/* Ohne sichtbaren Preis (Gäste) kein Versandhinweis. */
body:not(#mn-design):not(.logged-in) .mn-loop-karte__versand {
	display: none;
}

body:not(#mn-design) .mn-loop-karte__preis {
	margin: auto 3px 0;
	padding-top: 14px;
}

body:not(#mn-design) .mn-loop-karte__preis .price {
	margin: 0;
	color: var(--mn-text);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.35;
}

body:not(#mn-design) .mn-loop-karte__preis .price small,
body:not(#mn-design) .mn-loop-karte__preis .woocommerce-price-suffix {
	color: var(--mn-muted);
	font-size: 12px;
	font-weight: 400;
}

/* „exkl. MwSt." immer eigene Zeile, auch bei Preisspannen. */
body:not(#mn-design) .mn-loop-karte__preis .woocommerce-price-suffix {
	display: block;
	margin-top: 2px;
}

/* Gäste: „Preise nach Anmeldung – Anmelden" kleiner und ruhig. */
body:not(#mn-design):not(.logged-in) .mn-loop-karte__preis .price {
	color: var(--mn-muted);
	font-size: 13px;
	font-weight: 500;
}

@media (max-width: 767px) {
	body:not(#mn-design) :is(.mn-loop-karte__titel, .mn-loop-mini__titel) :is(h1, h2, h3, h4, p) {
		font-size: 12.5px;
	}

	body:not(#mn-design) .mn-loop-karte__preis .price {
		font-size: 15px;
	}
}

@media (prefers-reduced-motion: reduce) {
	body:not(#mn-design) :is(.mn-loop-karte, .mn-loop-mini) {
		transition: none;
	}

	body:not(#mn-design) :is(.mn-loop-karte, .mn-loop-mini):hover {
		transform: none;
	}
}

/* ===================================================================== *
 * Newsletter-Kachel (Elementor-Widget „mednaht Newsletter",
 * includes/newsletter.php)
 * ===================================================================== */

body:not(#mn-design) .mn-newsletter {
	position: relative;
	overflow: hidden;
	box-sizing: border-box;
	padding: 56px 32px 40px;
	border-radius: 20px;
	background:
		radial-gradient(ellipse at 50% 0%, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0) 60%),
		linear-gradient(90deg, #67589c 0%, #4b3786 18%, #432f7d 50%, #4b3786 82%, #67589c 100%);
	color: #fff;
	text-align: center;
}

body:not(#mn-design) .mn-newsletter__dienst {
	margin: -32px auto 24px;
	padding: 8px 14px;
	max-inline-size: 560px;
	border-radius: 10px;
	background: #fdf3e1;
	color: #6b4600;
	font-size: 13px;
}

body:not(#mn-design) .mn-newsletter__titel {
	max-inline-size: 18ch;
	margin: 0 auto 12px;
	color: #fff;
	font-family: "Inria Serif", serif;
	font-size: clamp(30px, 4vw, 42px);
	font-weight: 400;
	line-height: 1.1;
}

body:not(#mn-design) .mn-newsletter__text {
	max-inline-size: 52ch;
	margin: 0 auto;
	color: rgba(255, 255, 255, 0.9);
	font-size: 17px;
	line-height: 1.55;
}

body:not(#mn-design) .mn-newsletter__linie {
	display: block;
	max-inline-size: 1000px;
	margin: 24px auto 28px;
	border-top: 1px dashed rgba(255, 255, 255, 0.28);
}

body:not(#mn-design) .mn-newsletter__form {
	display: flex;
	align-items: center;
	gap: 8px;
	box-sizing: border-box;
	max-inline-size: 680px;
	margin: 0 auto;
	padding: 6px 6px 6px 18px;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 20px 40px -24px rgba(20, 10, 60, 0.6);
}

body:not(#mn-design) .mn-newsletter__form[hidden] {
	display: none;
}

body:not(#mn-design) .mn-newsletter__form input[type="email"] {
	flex: 1;
	min-inline-size: 0;
	block-size: 44px;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	color: var(--mn-text);
	font: inherit;
	font-size: 15px;
	outline: none;
}

body:not(#mn-design) .mn-newsletter__form:focus-within {
	box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.35), 0 20px 40px -24px rgba(20, 10, 60, 0.6);
}

body:not(#mn-design) .mn-newsletter__form button {
	display: inline-flex;
	flex: none;
	align-items: center;
	gap: 8px;
	block-size: 44px;
	padding: 0 22px;
	border: 0;
	border-radius: 10px;
	background: #432f7d;
	color: #fff;
	font: inherit;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.15s ease;
}

body:not(#mn-design) .mn-newsletter__form button:hover,
body:not(#mn-design) .mn-newsletter__form button:focus-visible {
	background: #33236a;
	color: #fff;
}

body:not(#mn-design) .mn-newsletter__form button[aria-busy] {
	opacity: 0.7;
	cursor: progress;
}

body:not(#mn-design) .mn-newsletter__honig {
	position: absolute;
	left: -9999px;
	inline-size: 1px;
	block-size: 1px;
	opacity: 0;
}

body:not(#mn-design) .mn-newsletter__erfolg {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	max-inline-size: 680px;
	margin: 0 auto;
	padding: 16px 20px;
	border: 1px solid rgba(255, 255, 255, 0.3);
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.12);
	font-size: 15px;
	line-height: 1.5;
	text-align: left;
}

body:not(#mn-design) .mn-newsletter__erfolg[hidden],
body:not(#mn-design) .mn-newsletter__fehler[hidden] {
	display: none;
}

body:not(#mn-design) .mn-newsletter__erfolg svg {
	flex: none;
}

body:not(#mn-design) .mn-newsletter__fehler {
	margin: 12px auto 0;
	color: #ffd9d6;
	font-size: 14px;
}

body:not(#mn-design) .mn-newsletter__hinweis {
	margin: 14px auto 0;
	color: rgba(255, 255, 255, 0.7);
	font-size: 13px;
}

body:not(#mn-design) .mn-newsletter__hinweis a {
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 2px;
}

@media (max-width: 767px) {
	body:not(#mn-design) .mn-newsletter {
		padding: 40px 16px 28px;
		border-radius: 18px;
	}

	body:not(#mn-design) .mn-newsletter__text {
		font-size: 15px;
	}

	body:not(#mn-design) .mn-newsletter__form {
		flex-direction: column;
		align-items: stretch;
		padding: 6px;
	}

	body:not(#mn-design) .mn-newsletter__form input[type="email"] {
		padding: 0 12px;
	}

	body:not(#mn-design) .mn-newsletter__form button {
		justify-content: center;
	}
}

/* ===================================================================== *
 * Banner über dem Footer im Seitenraster (scripts/lib/setup-footer-banner.php)
 * ===================================================================== */

body:not(#mn-design) .mn-footer-banner {
	margin-block: 32px 72px;
	padding-inline: 24px;
}

body:not(#mn-design) .mn-footer-banner > .e-con-inner {
	overflow: hidden;
	border-radius: 24px;
	gap: 0;
}

/* Foto: die Person steht rechts im Bild – bei schmaler Spalte nicht abschneiden. */
body:not(#mn-design) .mn-footer-banner > .e-con-inner > .e-con:last-child {
	background-position: right center;
}

body:not(#mn-design) .mn-footer-banner .elementor-widget-heading:first-child .elementor-heading-title {
	line-height: 1.4;
}

@media (max-width: 1024px) {
	body:not(#mn-design) .mn-footer-banner > .e-con-inner > .e-con {
		inline-size: 100%;
	}

	body:not(#mn-design) .mn-footer-banner > .e-con-inner {
		flex-direction: column;
	}

	body:not(#mn-design) .mn-footer-banner > .e-con-inner > .e-con:last-child {
		min-block-size: 280px;
	}
}

@media (max-width: 767px) {
	body:not(#mn-design) .mn-footer-banner {
		margin-block: 16px 48px;
		padding-inline: 16px;
	}

	body:not(#mn-design) .mn-footer-banner > .e-con-inner {
		border-radius: 18px;
	}

	body:not(#mn-design) .mn-footer-banner > .e-con-inner > .e-con:first-child {
		padding: 40px 24px;
	}

	body:not(#mn-design) .mn-footer-banner .elementor-widget-heading:nth-child(2) .elementor-heading-title {
		font-size: 34px;
		line-height: 1.1;
	}
}

/* --- Kontakt-Kasten über dem Footer ([mednaht_kontakt_kasten], includes/footer.php)
   Linke Spalte im Flieder-Verlauf (hebt das helle Foto ab), Kontaktwege als kleine
   weiße Karten mit Symbol. Rechts bleibt das Foto. */
body:not(#mn-design) .mn-footer-banner > .e-con-inner > .e-con:first-child {
	--background-color: transparent;
	background: linear-gradient(135deg, #ebe7f4 0%, #ddd5ec 55%, #d2c8e6 100%);
	padding: 56px clamp(28px, 6%, 72px);
}

body:not(#mn-design) .mn-footer-banner > .e-con-inner {
	border: 1px solid rgba(104, 86, 155, 0.22);
}

body:not(#mn-design) .mn-kontakt-kasten {
	max-inline-size: 640px;
	font-family: Inter, sans-serif;
}

body:not(#mn-design) .mn-kontakt-kasten svg {
	inline-size: 20px;
	block-size: 20px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

body:not(#mn-design) .mn-kontakt-kasten .mn-kontakt-kasten__titel {
	margin: 0;
	color: var(--mn-accent);
	font-family: "Bricolage Grotesque", sans-serif;
	font-size: clamp(32px, 3.6vw, 48px);
	font-weight: 600;
	line-height: 1.08;
	letter-spacing: -0.02em;
	text-wrap: balance;
}

body:not(#mn-design) .mn-kontakt-kasten__text {
	max-inline-size: 48ch;
	margin: 16px 0 0;
	color: var(--mn-muted);
	font-size: 16px;
	line-height: 1.55;
}

body:not(#mn-design) .mn-kontakt-kasten__wege {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin: 28px 0 0;
	padding: 0;
	list-style: none;
}

body:not(#mn-design) .mn-kontakt-kasten__wege li {
	margin: 0;
}

body:not(#mn-design) .mn-kontakt-kasten__wege a {
	display: flex;
	align-items: center;
	gap: 12px;
	block-size: 100%;
	box-sizing: border-box;
	padding: 12px 14px;
	border: 1px solid rgba(var(--mn-accent-rgb, 40, 53, 131), 0.1);
	border-radius: 14px;
	background: #fff;
	color: var(--mn-text);
	text-decoration: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

body:not(#mn-design) .mn-kontakt-kasten__wege a:is(:hover, :focus-visible) {
	border-color: rgba(104, 86, 155, 0.45);
	box-shadow: 0 10px 24px -14px rgba(var(--mn-accent-rgb, 40, 53, 131), 0.35);
	transform: translateY(-1px);
}

/* Tastatur: deutlicher Fokusring wie bei den Buttons, der Flieder-Rahmen allein ist zu schwach. */
body:not(#mn-design) .mn-kontakt-kasten__wege a:focus-visible {
	outline: 2px solid var(--mn-accent);
	outline-offset: 2px;
}

body:not(#mn-design) .mn-kontakt-kasten__symbol {
	display: grid;
	flex: none;
	place-items: center;
	inline-size: 40px;
	block-size: 40px;
	border-radius: 11px;
	background: var(--mn-tint);
	color: var(--mn-accent);
}

body:not(#mn-design) .mn-kontakt-kasten__weg {
	display: grid;
	min-inline-size: 0;
	line-height: 1.3;
}

body:not(#mn-design) .mn-kontakt-kasten__weg span {
	color: var(--mn-muted);
	font-size: 12px;
}

body:not(#mn-design) .mn-kontakt-kasten__weg strong {
	overflow: hidden;
	color: var(--mn-accent);
	font-size: 15px;
	font-weight: 600;
	text-overflow: ellipsis;
	white-space: nowrap;
}

body:not(#mn-design) .mn-kontakt-kasten__zeiten {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 20px 0 0;
	color: var(--mn-muted);
	font-size: 14px;
}

body:not(#mn-design) .mn-kontakt-kasten__zeiten svg {
	inline-size: 16px;
	block-size: 16px;
	color: var(--mn-accent);
}

@media (max-width: 767px) {
	body:not(#mn-design) .mn-footer-banner > .e-con-inner > .e-con:first-child {
		padding: 36px 20px;
	}

	body:not(#mn-design) .mn-kontakt-kasten__wege {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (prefers-reduced-motion: reduce) {
	body:not(#mn-design) .mn-kontakt-kasten__wege a {
		transition: none;
	}

	body:not(#mn-design) .mn-kontakt-kasten__wege a:is(:hover, :focus-visible) {
		transform: none;
	}
}

/* ===================================================================== *
 * Kurzbeschreibung geordnet (includes/kurzbeschreibung.php)
 * ===================================================================== */

body:not(#mn-design) .mn-kurz {
	display: grid;
	gap: 20px;
	margin: 0 0 24px;
}

body:not(#mn-design) .mn-kurz ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Steht unter dem Produktnamen, außerhalb von .mn-kurz. */
body:not(#mn-design) .mn-kurz__merkmale {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

body:not(#mn-design) .mn-kurz__merkmale li {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	padding: 6px 12px;
	border-radius: 999px;
	background: var(--mn-tint);
	color: var(--mn-accent);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
}

body:not(#mn-design) .mn-kurz__zeit svg {
	inline-size: 16px;
	block-size: 16px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
}

body:not(#mn-design) .mn-kurz__abschnitt {
	display: grid;
	gap: 10px;
	padding-top: 18px;
	border-top: 1px solid rgba(var(--mn-accent-rgb, 40, 53, 131), 0.1);
}

body:not(#mn-design) .mn-kurz__titel {
	margin: 0;
	color: var(--mn-muted);
	font-family: inherit;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
}

body:not(#mn-design) .mn-kurz__text {
	margin: 0;
	color: var(--mn-muted);
	font-size: 15px;
	line-height: 1.6;
}

body:not(#mn-design) .mn-kurz__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

/* Anwendungsbereiche wie die Merkmale oben (.mn-kurz__merkmale li). */
body:not(#mn-design) .mn-kurz__tags li {
	margin: 0;
	padding: 6px 12px;
	border-radius: 999px;
	background: var(--mn-tint);
	color: var(--mn-accent);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
}

/* Je Färbung eine Gruppe: Farbpunkt und Färbung, darunter die Pillen. */
/* Zwischen den Färbungen deutlich mehr Luft als innerhalb: so liest man Gruppe für Gruppe. */
body:not(#mn-design) .mn-kurz__gruppen {
	display: grid;
	gap: 28px;
}

body:not(#mn-design) .mn-kurz__gruppe {
	display: grid;
	gap: 10px;
}

body:not(#mn-design) .mn-kurz__gruppe-titel {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	color: var(--mn-text);
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
}

body:not(#mn-design) .mn-kurz__gruppe-titel .mn-variants__dot {
	inline-size: 10px;
	block-size: 10px;
}

body:not(#mn-design) .mn-kurz__liste {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px 20px;
}

body:not(#mn-design) .mn-kurz__liste li {
	position: relative;
	margin: 0;
	padding-inline-start: 24px;
	color: var(--mn-text);
	font-size: 14px;
	line-height: 1.5;
}

body:not(#mn-design) .mn-kurz__liste li::before {
	content: "";
	position: absolute;
	top: 3px;
	left: 0;
	inline-size: 16px;
	block-size: 16px;
	border-radius: 50%;
	background: var(--mn-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23283583' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center / 10px no-repeat;
}

@media (max-width: 767px) {
	body:not(#mn-design) .mn-kurz__liste {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* ===================================================================== *
 * Warenkorb: kompakte Merkmale, Zusagen, schnell nachbestellen
 * (includes/warenkorb-extras.php)
 * ===================================================================== */

/* Merkmale einer Ausführung als ruhiges Raster: Bezeichnung links, Wert rechts. */
body:not(#mn-design) .woocommerce-cart-form .product-name dl.variation {
	display: grid;
	grid-template-columns: max-content minmax(0, 1fr);
	gap: 1px 12px;
	margin: 8px 0 0;
	font-size: 13px;
	line-height: 1.5;
}

body:not(#mn-design) .woocommerce-cart-form .product-name dl.variation :is(dt, dd) {
	float: none;
	margin: 0;
	padding: 0;
	font-weight: 400;
}

body:not(#mn-design) .woocommerce-cart-form .product-name dl.variation dt {
	color: #666c96;
}

body:not(#mn-design) .woocommerce-cart-form .product-name dl.variation dd p {
	margin: 0;
	color: var(--mn-text);
}

/* Nachbestellen steht im Formular unter der Tabelle. */
body:not(#mn-design) .woocommerce-cart-form .mn-nachbestellen {
	margin: 8px 24px 24px;
	padding-top: 24px;
	border-top: 1px solid rgba(var(--mn-accent-rgb, 40, 53, 131), 0.1);
}

/* Zusagen unter „Zur Kasse". */
body:not(#mn-design) .mn-korb-zusagen {
	display: grid;
	gap: 12px;
	margin: 20px 0 0;
	padding: 18px 0 0;
	border-top: 1px solid rgba(var(--mn-accent-rgb, 40, 53, 131), 0.1);
	list-style: none;
}

body:not(#mn-design) .mn-korb-zusagen li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: 0;
	color: var(--mn-muted);
	font-size: 13px;
	line-height: 1.45;
}

body:not(#mn-design) .mn-korb-zusagen strong {
	display: block;
	color: var(--mn-text);
	font-size: 14px;
	font-weight: 600;
}

body:not(#mn-design) .mn-korb-zusagen a {
	color: var(--mn-accent);
	font-weight: 600;
}

body:not(#mn-design) .mn-korb-zusagen svg {
	flex: none;
	inline-size: 34px;
	block-size: 34px;
	padding: 8px;
	box-sizing: border-box;
	border-radius: 10px;
	background: var(--mn-tint);
	fill: none;
	stroke: var(--mn-accent);
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

body:not(#mn-design) .mn-korb-weiter {
	display: block;
	margin-top: 18px;
	color: var(--mn-accent);
	font-size: 14px;
	font-weight: 600;
	text-align: center;
	text-decoration: none;
}

body:not(#mn-design) .mn-korb-weiter:hover {
	text-decoration: underline;
}

/* Schnell nachbestellen. */
body:not(#mn-design) .mn-nachbestellen {
	margin-top: 32px;
}

body:not(#mn-design) .mn-nachbestellen__kopf {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 14px;
}

body:not(#mn-design) .mn-nachbestellen__kopf h2 {
	margin: 0;
	color: var(--mn-accent);
	font-family: "Bricolage Grotesque", sans-serif;
	font-size: 22px;
	font-weight: 600;
}

body:not(#mn-design) .mn-nachbestellen__kopf a {
	color: var(--mn-muted);
	font-size: 14px;
}

body:not(#mn-design) .mn-nachbestellen__liste {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

body:not(#mn-design) .mn-nachbestellen__karte {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0;
	padding: 12px;
	border: 1px solid var(--mn-border);
	border-radius: 14px;
	background: #fff;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

body:not(#mn-design) .mn-nachbestellen__karte:hover {
	border-color: rgba(var(--mn-accent-rgb, 40, 53, 131), 0.3);
	box-shadow: 0 8px 20px -14px rgba(var(--mn-accent-rgb, 40, 53, 131), 0.35);
}

body:not(#mn-design) .mn-nachbestellen__bild img {
	display: block;
	inline-size: 56px;
	block-size: 56px;
	border-radius: 10px;
	object-fit: cover;
}

body:not(#mn-design) .mn-nachbestellen__text {
	display: grid;
	flex: 1;
	gap: 2px;
	min-inline-size: 0;
}

body:not(#mn-design) .mn-nachbestellen__name {
	overflow: hidden;
	color: var(--mn-text);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	text-overflow: ellipsis;
	white-space: nowrap;
}

body:not(#mn-design) .mn-nachbestellen__merkmale {
	overflow: hidden;
	color: var(--mn-muted);
	font-size: 12px;
	text-overflow: ellipsis;
	white-space: nowrap;
}

body:not(#mn-design) .mn-nachbestellen__preis {
	color: var(--mn-text);
	font-size: 14px;
	font-weight: 600;
}

body:not(#mn-design) .mn-nachbestellen__preis small {
	color: var(--mn-muted);
	font-size: 11px;
	font-weight: 400;
}

body:not(#mn-design) .mn-nachbestellen__btn {
	display: grid;
	flex: none;
	place-items: center;
	inline-size: 40px;
	block-size: 40px;
	border-radius: 12px;
	background: var(--mn-accent);
	color: #fff;
	transition: background-color 0.15s ease;
}

body:not(#mn-design) .mn-nachbestellen__btn:hover {
	background: var(--mn-accent-hover);
}

body:not(#mn-design) .mn-nachbestellen__btn svg {
	inline-size: 18px;
	block-size: 18px;
	fill: none;
	stroke: #fff;
	stroke-width: 2.2;
	stroke-linecap: round;
}

@media (max-width: 767px) {
	body:not(#mn-design) .mn-nachbestellen__liste {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* ===================================================================== *
 * Kostenlose Lieferung (includes/versand.php)
 * ===================================================================== */

/* Pille „Kostenlose Lieferung ab … netto“: dunkel (Katalog) oder hell (Seitenkopf). */
/* Info-Pille wie die Merkmale auf der Produktseite (.mn-kurz__merkmale li), kein Button-Look. */
body:not(#mn-design) .mn-versand-pille {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	inline-size: fit-content;
	margin: 0;
	padding: 6px 12px;
	border-radius: 999px;
	background: var(--mn-tint);
	color: var(--mn-accent);
	font-family: Inter, sans-serif;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
}

body:not(#mn-design) .mn-versand-pille svg {
	flex: none;
	inline-size: 16px;
	block-size: 16px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

body:not(#mn-design) .mn-offers__head .mn-versand-pille,
body:not(#mn-design) .mn-service__intro .mn-versand-pille {
	margin-top: 24px;
}

@media (max-width: 480px) {
	body:not(#mn-design) .mn-versand-pille {
		font-size: 13px;
	}
}

/* Warenkorb: Fortschritt bis zur kostenlosen Lieferung. */
body:not(#mn-design) .mn-gratis {
	margin: 0 0 20px;
	padding: 14px 16px 16px;
	border-radius: 14px;
	background: var(--mn-tint);
	color: var(--mn-text);
}

body:not(#mn-design) .mn-gratis__text {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 10px;
	font-size: 14px;
	line-height: 1.4;
}

body:not(#mn-design) .mn-gratis__text svg {
	flex: none;
	inline-size: 20px;
	block-size: 20px;
	fill: none;
	stroke: var(--mn-accent);
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

body:not(#mn-design) .mn-gratis__text strong {
	color: var(--mn-accent);
	font-weight: 700;
	white-space: nowrap;
}

body:not(#mn-design) .mn-gratis__balken {
	block-size: 6px;
	border-radius: 999px;
	background: rgba(var(--mn-accent-rgb, 40, 53, 131), 0.12);
	overflow: hidden;
}

body:not(#mn-design) .mn-gratis__balken span {
	display: block;
	block-size: 100%;
	border-radius: inherit;
	background: var(--mn-accent);
	transition: inline-size 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

body:not(#mn-design) .mn-gratis.is-erreicht {
	background: #e7f5ee;
}

body:not(#mn-design) .mn-gratis.is-erreicht .mn-gratis__text {
	color: #17663b;
	font-weight: 600;
}

body:not(#mn-design) .mn-gratis.is-erreicht svg {
	stroke: currentColor;
}

body:not(#mn-design) .mn-gratis.is-erreicht .mn-gratis__balken span {
	background: #1f8a4f;
}

/* Produktseite: Lieferzeit, Versand, Reklamation nebeneinander. */
body:not(#mn-design) .mn-product__infos {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin: 8px 0 0;
	padding: 20px 0 0;
	border-top: 1px solid rgba(var(--mn-accent-rgb, 40, 53, 131), 0.1);
	list-style: none;
}

body:not(#mn-design) .mn-product__infos li {
	display: grid;
	grid-template-columns: 20px minmax(0, 1fr);
	align-content: start;
	gap: 2px 10px;
	margin: 0;
}

body:not(#mn-design) .mn-product__infos svg {
	grid-row: span 2;
	inline-size: 20px;
	block-size: 20px;
	margin-top: 1px;
	color: var(--mn-accent);
}

body:not(#mn-design) .mn-product__info-titel {
	color: var(--mn-text);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
}

body:not(#mn-design) .mn-product__info-text {
	color: var(--mn-muted);
	font-size: 13px;
	line-height: 1.4;
}

body:not(#mn-design) a.mn-product__info-text {
	text-decoration: underline;
	text-decoration-color: rgba(91, 97, 144, 0.45);
	text-underline-offset: 3px;
}

body:not(#mn-design) a.mn-product__info-text:hover {
	color: var(--mn-accent);
	text-decoration-color: currentColor;
}

body:not(#mn-design) .mn-product__infos + .mn-product__trust {
	padding-top: 16px;
}

@media (max-width: 420px) {
	body:not(#mn-design) .mn-product__infos {
		grid-template-columns: minmax(0, 1fr);
		gap: 12px;
	}
}

/* ===================================================================== *
 * Serviceseiten: Kontakt & FAQ, Reklamation (includes/service-seiten.php)
 * ===================================================================== */

/* So breit wie die Header-Leiste (1320 px), Kanten bündig mit Shop und Konto. */
body:not(#mn-design) .mn-service {
	box-sizing: border-box;
	inline-size: 100%;
	max-inline-size: calc(1320px + 48px);
	margin: 0 auto;
	padding: 40px 24px 96px;
	color: var(--mn-text);
	font-family: Inter, sans-serif;
	interpolate-size: allow-keywords;
}

body:not(#mn-design) .mn-service svg {
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

body:not(#mn-design) .mn-service__hero {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr);
	align-items: center;
	gap: 40px;
	padding: 56px;
	border-radius: 28px;
	background: linear-gradient(135deg, var(--mn-hell-1, #e5f2fa) 0%, var(--mn-hell-2, #eef0fa) 55%, var(--mn-hell-3, #f5f6fc) 100%);
}

body:not(#mn-design) .mn-service__hero:not(:has(.mn-service__seite)) {
	grid-template-columns: minmax(0, 1fr);
}

body:not(#mn-design) .mn-service__eyebrow {
	margin: 0;
	color: var(--mn-secondary, #1f99cf);
	font-size: 13px;
	font-weight: 600;
}

body:not(#mn-design) .mn-service__title {
	max-inline-size: 22ch;
	margin: 12px 0 0;
	color: var(--mn-accent);
	font-family: "Bricolage Grotesque", sans-serif;
	font-size: clamp(34px, 4.6vw, 54px);
	font-weight: 600;
	line-height: 1.08;
	letter-spacing: -0.02em;
	text-wrap: balance;
}

body:not(#mn-design) .mn-service__lead {
	max-inline-size: 60ch;
	margin: 18px 0 0;
	font-size: clamp(17px, 1.8vw, 19px);
	line-height: 1.55;
	text-wrap: pretty;
}

body:not(#mn-design) .mn-service__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 28px;
}

body:not(#mn-design) .mn-service .mn-product__btn {
	flex: 0 0 auto;
	gap: 8px;
}

body:not(#mn-design) .mn-service .mn-product__btn svg {
	inline-size: 18px;
	block-size: 18px;
}

/* Rechts im Kopf: die zwei wichtigsten Punkte. */
body:not(#mn-design) .mn-service__seite {
	display: grid;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

body:not(#mn-design) .mn-service__seite li {
	display: grid;
	gap: 6px;
	margin: 0;
	padding: 22px 24px;
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.85);
	box-shadow: 0 0 0 1px rgba(var(--mn-accent-rgb, 40, 53, 131), 0.07), 0 10px 30px -18px rgba(var(--mn-accent-rgb, 40, 53, 131), 0.35);
}

body:not(#mn-design) .mn-service__seite strong {
	color: var(--mn-accent);
	font-size: 17px;
	font-weight: 600;
}

body:not(#mn-design) .mn-service__seite span {
	color: var(--mn-muted);
	font-size: 15px;
	line-height: 1.5;
}

/* Karten: Kontaktwege, Fälle, Schritte. */
body:not(#mn-design) :is(.mn-service__kontakt, .mn-service__raster, .mn-service__schritte) {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}

body:not(#mn-design) .mn-service__kontakt {
	margin-top: 24px;
}

body:not(#mn-design) .mn-service__karte {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	margin: 0;
	padding: 26px;
	border: 1px solid var(--mn-border);
	border-radius: 20px;
	background: #fff;
}

body:not(#mn-design) .mn-service__karte p {
	margin: 0;
	color: var(--mn-muted);
	font-size: 15px;
	line-height: 1.6;
}

body:not(#mn-design) .mn-service__karte p a {
	color: var(--mn-accent);
	font-weight: 600;
}

body:not(#mn-design) .mn-service__icon {
	display: grid;
	place-items: center;
	inline-size: 44px;
	block-size: 44px;
	margin-bottom: 6px;
	border-radius: 14px;
	background: var(--mn-tint);
	color: var(--mn-accent);
}

body:not(#mn-design) .mn-service__icon svg {
	inline-size: 22px;
	block-size: 22px;
}

body:not(#mn-design) :is(.mn-service__karte-titel, .mn-service__schritt-titel) {
	margin: 0;
	color: var(--mn-text);
	font-family: Inter, sans-serif;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0;
}

body:not(#mn-design) .mn-service__wert {
	color: var(--mn-accent);
	font-size: 18px;
	font-weight: 600;
	text-decoration: none;
	font-variant-numeric: tabular-nums;
}

body:not(#mn-design) .mn-service__wert:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

body:not(#mn-design) .mn-service__zeiten {
	display: grid;
	grid-template-columns: auto auto;
	justify-content: start;
	gap: 6px 20px;
	margin: 0;
	font-size: 15px;
}

body:not(#mn-design) .mn-service__zeiten dt {
	color: var(--mn-muted);
	font-weight: 400;
}

body:not(#mn-design) .mn-service__zeiten dd {
	margin: 0;
	color: var(--mn-text);
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

body:not(#mn-design) .mn-service__chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: auto;
	padding: 8px 14px;
	border: 1px solid var(--mn-border);
	border-radius: 999px;
	color: var(--mn-accent);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

body:not(#mn-design) .mn-service__chip:hover {
	border-color: rgba(var(--mn-accent-rgb, 40, 53, 131), 0.35);
	background: var(--mn-tint);
}

body:not(#mn-design) .mn-service__chip svg {
	inline-size: 18px;
	block-size: 18px;
}

body:not(#mn-design) .mn-service__link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: auto;
	padding-top: 6px;
	color: var(--mn-accent);
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
}

body:not(#mn-design) .mn-service__link svg {
	inline-size: 16px;
	block-size: 16px;
	transition: transform 0.2s ease;
}

body:not(#mn-design) .mn-service__link:hover svg {
	transform: translateX(3px);
}

/* Abschnitte. */
body:not(#mn-design) .mn-service__abschnitt {
	margin-top: 88px;
}

body:not(#mn-design) .mn-service__abschnitt--flaeche {
	padding: 48px;
	border-radius: 28px;
	background: #f4f5fb;
}

body:not(#mn-design) .mn-service__h2 {
	max-inline-size: 26ch;
	margin: 10px 0 28px;
	color: var(--mn-accent);
	font-family: "Bricolage Grotesque", sans-serif;
	font-size: clamp(28px, 3.4vw, 40px);
	font-weight: 600;
	line-height: 1.15;
	letter-spacing: -0.015em;
	text-wrap: balance;
}

/* Schritte: Nummer vor dem Titel. */
body:not(#mn-design) .mn-service__schritte {
	counter-reset: mn-schritt;
}

body:not(#mn-design) .mn-service__schritte > li {
	counter-increment: mn-schritt;
}

body:not(#mn-design) .mn-service__schritt-titel::before {
	content: counter(mn-schritt) ". ";
	color: var(--mn-secondary, #1f99cf);
}

/* Häufige Fragen. */
body:not(#mn-design) .mn-service__faq {
	display: grid;
	gap: 12px;
}

body:not(#mn-design) .mn-service__frage {
	border: 1px solid var(--mn-border);
	border-radius: 16px;
	background: #fff;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

body:not(#mn-design) .mn-service__frage[open] {
	border-color: rgba(var(--mn-accent-rgb, 40, 53, 131), 0.28);
	box-shadow: 0 10px 30px -22px rgba(var(--mn-accent-rgb, 40, 53, 131), 0.5);
}

body:not(#mn-design) .mn-service__frage summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 20px 24px;
	color: var(--mn-text);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
	list-style: none;
	cursor: pointer;
}

body:not(#mn-design) .mn-service__frage summary::-webkit-details-marker {
	display: none;
}

body:not(#mn-design) .mn-service__frage summary:focus-visible {
	border-radius: 16px;
	outline: 2px solid var(--mn-accent);
	outline-offset: 2px;
}

body:not(#mn-design) .mn-service__plus {
	position: relative;
	flex: none;
	inline-size: 28px;
	block-size: 28px;
	border-radius: 50%;
	background: var(--mn-tint);
}

body:not(#mn-design) .mn-service__plus::before,
body:not(#mn-design) .mn-service__plus::after {
	content: "";
	position: absolute;
	inset: 50% auto auto 50%;
	inline-size: 12px;
	block-size: 2px;
	border-radius: 2px;
	background: var(--mn-accent);
	translate: -50% -50%;
	transition: rotate 0.25s ease;
}

body:not(#mn-design) .mn-service__plus::after {
	rotate: 90deg;
}

body:not(#mn-design) .mn-service__frage[open] .mn-service__plus::after {
	rotate: 0deg;
}

body:not(#mn-design) .mn-service__antwort {
	padding: 0 24px 22px;
}

body:not(#mn-design) .mn-service__antwort p {
	max-inline-size: 75ch;
	margin: 0;
	color: var(--mn-muted);
	font-size: 15px;
	line-height: 1.65;
}

body:not(#mn-design) .mn-service__antwort a {
	color: var(--mn-accent);
	font-weight: 600;
}

/* Auf- und Zuklappen weich, wo der Browser es kann. */
@supports selector(::details-content) {
	body:not(#mn-design) .mn-service__frage::details-content {
		block-size: 0;
		overflow: clip;
		transition: block-size 0.3s cubic-bezier(0.22, 1, 0.36, 1), content-visibility 0.3s allow-discrete;
	}

	body:not(#mn-design) .mn-service__frage[open]::details-content {
		block-size: auto;
	}
}

/* Abschluss: dunkle Fläche mit Buttons. */
body:not(#mn-design) .mn-service__cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px 48px;
	margin-top: 88px;
	padding: 44px 48px;
	border-radius: 28px;
	background: linear-gradient(120deg, var(--mn-accent, #283583) 0%, #34429a 100%);
	color: #fff;
}

body:not(#mn-design) .mn-service__cta > div:first-child {
	max-inline-size: 62ch;
}

body:not(#mn-design) .mn-service__cta .mn-service__eyebrow {
	color: #8fd3f0;
}

body:not(#mn-design) .mn-service__cta .mn-service__h2 {
	margin-bottom: 12px;
	color: #fff;
}

body:not(#mn-design) .mn-service__cta p:not(.mn-service__eyebrow) {
	margin: 0;
	color: rgba(255, 255, 255, 0.82);
	font-size: 16px;
	line-height: 1.6;
}

body:not(#mn-design) .mn-service__cta .mn-service__actions {
	flex: none;
	margin-top: 0;
}

body:not(#mn-design) .mn-service__cta .mn-product__btn {
	border-color: rgba(255, 255, 255, 0.4);
	background: transparent;
	color: #fff;
}

body:not(#mn-design) .mn-service__cta .mn-product__btn:hover {
	border-color: #fff;
	background: rgba(255, 255, 255, 0.1);
	color: #fff;
}

body:not(#mn-design) .mn-service__cta .mn-product__btn--primary,
body:not(#mn-design) .mn-service__cta .mn-product__btn--primary:visited,
body:not(#mn-design) .mn-service__cta .mn-product__btn--primary:focus {
	border-color: #fff;
	background: #fff;
	color: var(--mn-accent);
}

body:not(#mn-design) .mn-service__cta .mn-product__btn--primary:hover {
	border-color: #e6e9f7;
	background: #e6e9f7;
	color: var(--mn-accent);
}

@media (max-width: 900px) {
	body:not(#mn-design) .mn-service__hero {
		grid-template-columns: minmax(0, 1fr);
		padding: 36px 28px;
	}

	body:not(#mn-design) .mn-service__cta {
		flex-direction: column;
		align-items: flex-start;
		padding: 36px 28px;
	}
}

@media (max-width: 767px) {
	body:not(#mn-design) .mn-service {
		padding: 24px 16px 72px;
	}

	body:not(#mn-design) .mn-service__hero {
		padding: 28px 20px;
		border-radius: 22px;
	}

	body:not(#mn-design) :is(.mn-service__abschnitt, .mn-service__cta) {
		margin-top: 64px;
	}

	body:not(#mn-design) .mn-service__abschnitt--flaeche {
		padding: 28px 16px;
		border-radius: 22px;
	}

	body:not(#mn-design) .mn-service__frage summary {
		padding: 18px;
	}

	body:not(#mn-design) .mn-service__antwort {
		padding: 0 18px 18px;
	}

	body:not(#mn-design) .mn-service .mn-product__btn {
		flex: 1 1 auto;
	}
}

/* ===================================================================== *
 * Sendungsverfolgung im Kundenkonto (includes/sendungsverfolgung.php)
 * ===================================================================== */

body:not(#mn-design) .mn-sendung-suche {
	margin: 0 0 24px;
	padding: 20px 24px;
	border: 1px solid var(--mn-border);
	border-radius: 16px;
	background: #fff;
}

body:not(#mn-design) .mn-sendung-suche label {
	display: block;
	margin: 0 0 10px;
	color: var(--mn-accent);
	font-size: 16px;
	font-weight: 600;
}

body:not(#mn-design) .mn-sendung-suche__zeile {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 10px;
}

body:not(#mn-design) .mn-sendung-suche__zeile input {
	flex: 1 1 240px;
	min-inline-size: 0;
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.02em;
}

/* Knopf so hoch wie das Feld und auf derselben Linie (die Formular-Knöpfe im
   Konto haben sonst 8 px Abstand oben und eine eigene Höhe). */
body:not(#mn-design) .mn-sendung-suche__zeile .button,
body:not(#mn-design) .woocommerce-MyAccount-content form .mn-sendung-suche__zeile button[type="submit"] {
	flex: 0 0 auto;
	block-size: auto;
	margin: 0;
}

body:not(#mn-design) .mn-sendung-suche__hinweis {
	margin: 10px 0 0;
	color: var(--mn-muted);
	font-size: 13px;
	line-height: 1.5;
}

/* Spalte „Sendung“ in der Bestellliste. */
body:not(#mn-design) .mn-sendung__link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--mn-accent);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}

body:not(#mn-design) .mn-sendung__link:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

body:not(#mn-design) :is(.mn-sendung__link, .mn-sendung__icon) svg {
	inline-size: 18px;
	block-size: 18px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

body:not(#mn-design) .mn-sendung__leer {
	color: var(--mn-muted);
}

/* Bestellung im Konto: Karte über den Positionen. */
body:not(#mn-design) .mn-sendung {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px 20px;
	margin: 0 0 32px;
	padding: 20px 24px;
	border-radius: 16px;
	background: var(--mn-tint);
}

body:not(#mn-design) .mn-sendung__icon {
	display: grid;
	flex: none;
	place-items: center;
	inline-size: 44px;
	block-size: 44px;
	border-radius: 14px;
	background: #fff;
	color: var(--mn-accent);
}

body:not(#mn-design) .mn-sendung__icon svg {
	inline-size: 22px;
	block-size: 22px;
}

body:not(#mn-design) .mn-sendung__text {
	flex: 1 1 280px;
}

body:not(#mn-design) .mn-sendung__titel {
	margin: 0 0 4px;
	color: var(--mn-accent);
	font-family: Inter, sans-serif;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0;
}

body:not(#mn-design) .mn-sendung__text p {
	margin: 0;
	font-size: 15px;
	line-height: 1.5;
}

body:not(#mn-design) .mn-sendung__nummer {
	color: var(--mn-accent);
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	text-underline-offset: 3px;
}

body:not(#mn-design) .mn-sendung__aktionen {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

body:not(#mn-design) .mn-sendung__aktionen .mn-product__btn {
	flex: 0 0 auto;
	min-block-size: 44px;
}

@media (prefers-reduced-motion: reduce) {
	body:not(#mn-design) .mn-gratis__balken span,
	body:not(#mn-design) .mn-service__plus::before,
	body:not(#mn-design) .mn-service__plus::after,
	body:not(#mn-design) .mn-service__link svg {
		transition: none;
	}

	body:not(#mn-design) .mn-service__frage::details-content {
		transition: none;
	}
}

/* Kontoübersicht: „Versendet“ (includes/sendungsverfolgung.php). */
body:not(#mn-design) .mn-versendet__liste {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

body:not(#mn-design) .mn-versendet__eintrag {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 16px;
	margin: 0;
	padding: 14px 16px;
	border-radius: 14px;
	background: var(--mn-tint);
}

body:not(#mn-design) .mn-versendet__text {
	display: grid;
	flex: 1 1 220px;
	gap: 2px;
}

body:not(#mn-design) .mn-versendet__bestellung {
	color: var(--mn-accent);
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
}

body:not(#mn-design) .mn-versendet__meta {
	color: var(--mn-muted);
	font-size: 14px;
}

body:not(#mn-design) .mn-versendet .mn-product__btn {
	flex: 0 0 auto;
	min-block-size: 42px;
	padding-inline: 18px;
}

/* ===================================================================== *
 * Footer: [mednaht_footer] (includes/footer.php) in der Elementor-Vorlage 96
 * (scripts/lib/setup-footer.php). Ohne Fläche und Rahmen, Inhalt auf den
 * Kanten des Seiteninhalts (wie Header-Leiste, Shop, Konto). Dahinter ein
 * Verlauf von Hellblau unten ins Weiß oben.
 * ===================================================================== */

body:not(#mn-design) .mn-footer {
	position: relative;
	box-sizing: border-box;
	inline-size: calc(100% - 48px);
	max-inline-size: 1320px;
	margin: 0 auto;
	padding: 72px 0 24px;
	color: var(--mn-text);
	font-family: Inter, sans-serif;
}

body:not(#mn-design) .mn-footer svg {
	flex: none;
	inline-size: 16px;
	block-size: 16px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

body:not(#mn-design) .mn-footer__oben {
	display: grid;
	grid-template-columns: minmax(240px, 1fr) minmax(0, 2.8fr);
	gap: 56px;
}

/* Marke: Logo, ein Satz, Kontakt. */
body:not(#mn-design) .mn-footer__logo img {
	display: block;
	inline-size: 160px;
	block-size: auto;
	border-radius: 0;
	box-shadow: none;
	filter: none;
}

body:not(#mn-design) .mn-footer__satz {
	max-inline-size: 30ch;
	margin: 20px 0 0;
	color: var(--mn-muted);
	font-size: 15px;
	line-height: 1.55;
}

body:not(#mn-design) .mn-footer__kontakt {
	display: grid;
	gap: 10px;
	margin: 24px 0 0;
	padding: 0;
	list-style: none;
	font-size: 14px;
	line-height: 1.45;
}

body:not(#mn-design) .mn-footer__kontakt li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0;
	color: var(--mn-muted);
}

body:not(#mn-design) .mn-footer__kontakt svg {
	margin-block-start: 2px;
	color: var(--mn-secondary, #1f99cf);
}

body:not(#mn-design) .mn-footer__kontakt a {
	color: var(--mn-accent);
	font-weight: 600;
	text-decoration: none;
}

body:not(#mn-design) .mn-footer__kontakt a:is(:hover, :focus-visible) {
	text-decoration: underline;
}

/* Händlerbund-Siegel unter dem Kontakt. Der Code des Händlerbunds bleibt
   unverändert (hspace/vspace), daher Abstände und Bildstile hier neutralisieren. */
body:not(#mn-design) .mn-footer__siegel {
	margin-block-start: 24px;
}

body:not(#mn-design) .mn-footer__siegel a {
	display: inline-block;
}

body:not(#mn-design) .mn-footer__siegel img {
	display: block;
	inline-size: 120px;
	block-size: auto;
	margin: 0;
	border-radius: 0;
	box-shadow: none;
	filter: none;
}

/* Spalten aus den Menüs: kleine Versal-Überschrift, ruhige Links. */
body:not(#mn-design) .mn-footer__spalten {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 32px;
}

body:not(#mn-design) .mn-footer__titel {
	margin: 4px 0 18px;
	color: #666c96;
	font-size: 12px;
	font-weight: 600;
}

body:not(#mn-design) .mn-footer__links {
	display: grid;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

body:not(#mn-design) .mn-footer__links li {
	margin: 0;
}

body:not(#mn-design) .mn-footer__links a {
	color: var(--mn-text);
	font-size: 15px;
	line-height: 1.35;
	text-decoration: none;
	transition: color 0.15s ease;
}

body:not(#mn-design) .mn-footer__links a:is(:hover, :focus-visible) {
	color: var(--mn-accent);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Unten: Copyright und Erreichbarkeit, über dem Raster. */
body:not(#mn-design) .mn-footer__unten {
	position: relative;
	z-index: 1;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 8px 24px;
	margin-block-start: 64px;
	padding-block: 20px;
	border-block-start: 1px solid #e6e9f2;
	color: var(--mn-muted);
	font-size: 13px;
}

body:not(#mn-design) .mn-footer__unten p {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
}

/* Hintergrund: leichter Verlauf wie die Wissens-Karten (Startseite), unten
   hellblau, nach oben durchsichtig – so geht er ohne Kante in jeden
   Seitenhintergrund über (weiß, Produktseite --mn-seite). Volle Breite am
   Elementor-Abschnitt. */
body:not(#mn-design) .elementor-location-footer .elementor-element-mnfoot0 {
	background: linear-gradient(to top, var(--mn-hell-1, #e5f2fa) 0%, var(--mn-hell-2, #eef0fa) 38%, transparent 100%);
}

@media (max-width: 1024px) {
	body:not(#mn-design) .mn-footer {
		padding-block-start: 56px;
	}

	body:not(#mn-design) .mn-footer__oben {
		grid-template-columns: minmax(0, 1fr);
		gap: 40px;
	}

	body:not(#mn-design) .mn-footer__spalten {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 32px 24px;
	}

}

@media (max-width: 767px) {
	body:not(#mn-design) .mn-footer {
		inline-size: calc(100% - 32px);
		padding-block-start: 40px;
	}

	body:not(#mn-design) .mn-footer__spalten {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 28px 20px;
	}

	body:not(#mn-design) .mn-footer__unten {
		flex-direction: column;
		margin-block-start: 40px;
	}

}

/* ===================================================================== *
 * Partner auf der Startseite: [mednaht_partner] (includes/partner.php).
 * Zwei Karten wie die Wissens-Karten („Unsere Nadeln"), Logo als Maske im
 * mednaht-Blau, ganze Karte ist der Link.
 * ===================================================================== */

body:not(#mn-design) .mn-partner {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-family: Inter, sans-serif;
}

body:not(#mn-design) .mn-partner li {
	display: flex;
	margin: 0;
}

body:not(#mn-design) .mn-partner .mn-partner__karte {
	position: relative;
	display: flex;
	flex-direction: column;
	inline-size: 100%;
	box-sizing: border-box;
	padding: 32px 96px 32px 32px;
	border: 1px solid rgba(var(--mn-secondary-rgb, 31, 153, 207), 0.18);
	border-radius: 20px;
	background: linear-gradient(135deg, var(--mn-hell-1, #e5f2fa) 0%, var(--mn-hell-2, #eef0fa) 60%, var(--mn-hell-3, #f5f6fc) 100%);
	color: var(--mn-text);
	text-decoration: none;
	transition: transform 0.25s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.25s ease, border-color 0.25s ease;
}

body:not(#mn-design) .mn-partner__logo {
	display: block;
	inline-size: 150px;
	block-size: 52px;
	margin-block-end: 24px;
	background-color: var(--mn-accent);
	-webkit-mask: var(--mn-partner-logo) left center / contain no-repeat;
	mask: var(--mn-partner-logo) left center / contain no-repeat;
}

/* ZARYS: Bildmarke über dem Schriftzug, braucht mehr Höhe. */
body:not(#mn-design) .mn-partner__karte--zarys .mn-partner__logo {
	inline-size: 52px;
	block-size: 57px;
	margin-block-end: 19px;
}

body:not(#mn-design) .mn-partner__satz {
	margin-block-start: 0;
	max-inline-size: 46ch;
	color: var(--mn-muted);
	font-size: 15px;
	line-height: 1.55;
}

body:not(#mn-design) .mn-partner__mehr {
	margin-block-start: 16px;
	color: var(--mn-accent);
	font-size: 14px;
	font-weight: 600;
}

/* Pfeil-Knopf rechts, mittig – wie bei den Wissens-Karten. */
body:not(#mn-design) .mn-partner__karte::after {
	content: "";
	position: absolute;
	inset-block-start: 50%;
	inset-inline-end: 28px;
	inline-size: 44px;
	block-size: 44px;
	border: 1px solid rgba(var(--mn-accent-rgb, 40, 53, 131), 0.16);
	border-radius: 50%;
	background:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23283583' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / 18px no-repeat,
		#fff;
	transform: translateY(-50%);
	transition: transform 0.25s cubic-bezier(0.22, 1, 0.36, 1);
}

body:not(#mn-design) .mn-partner .mn-partner__karte:is(:hover, :focus-visible) {
	border-color: rgba(var(--mn-secondary-rgb, 31, 153, 207), 0.4);
	box-shadow: 0 18px 40px -18px rgba(var(--mn-accent-rgb, 40, 53, 131), 0.35);
	transform: translateY(-2px);
}

body:not(#mn-design) .mn-partner__karte:is(:hover, :focus-visible)::after {
	transform: translate(4px, -50%);
}

body:not(#mn-design) .mn-partner .mn-partner__karte:focus-visible {
	outline: 2px solid var(--mn-secondary, #1f99cf);
	outline-offset: 3px;
}

/* mednaht: Wortmarke, flacher als die Bildmarken. */
body:not(#mn-design) .mn-partner__karte--mednaht .mn-partner__logo {
	inline-size: 150px;
	block-size: 44px;
	margin-block-end: 28px;
}

/* Am Ende der Unternehmensseiten: in der Lesespalte, bündig mit Text und
   Überschriften; Karten kompakter, ohne Pfeil-Knopf (dafür fehlt der Platz). */
body:not(#mn-design) .mn-partner-bereich {
	box-sizing: border-box;
	inline-size: 100%;
	max-inline-size: var(--mn-read, 680px);
	margin: 64px auto 0;
	padding: 0;
}

body:not(#mn-design) .mn-partner-bereich .mn-partner-bereich__titel {
	margin: 0 0 24px;
}

/* Listeneinzug und Aufzählungspunkte aus article.css nicht übernehmen. */
body:not(#mn-design) .mn-article__body .mn-partner-bereich .mn-partner {
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

body:not(#mn-design) .mn-article__body .mn-partner-bereich .mn-partner li {
	margin: 0;
	padding: 0;
}

body:not(#mn-design) .mn-article__body .mn-partner-bereich .mn-partner li::before,
body:not(#mn-design) .mn-article__body .mn-partner-bereich .mn-partner li::marker {
	content: none;
}

body:not(#mn-design) .mn-partner-bereich .mn-partner__karte {
	padding: 24px;
}

body:not(#mn-design) .mn-partner-bereich .mn-partner__karte::after {
	display: none;
}

body:not(#mn-design) .mn-partner-bereich .mn-partner__satz {
	font-size: 14px;
}

/* Drei Karten (Startseite): ab 1200 px nebeneinander, darunter steht die
   dritte über die ganze Breite statt allein in der linken Spalte. */
@media (min-width: 768px) {
	body:not(#mn-design) .mn-partner > li:nth-child(3):last-child {
		grid-column: 1 / -1;
	}
}

@media (min-width: 1200px) {
	body:not(#mn-design) .mn-partner:has(> li:nth-child(3):last-child) {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	body:not(#mn-design) .mn-partner > li:nth-child(3):last-child {
		grid-column: auto;
	}
}

@media (max-width: 767px) {
	body:not(#mn-design) .mn-partner {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
	}

	body:not(#mn-design) .mn-partner .mn-partner__karte {
		padding: 24px 20px;
	}

	body:not(#mn-design) .mn-partner__karte::after {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	body:not(#mn-design) .mn-partner .mn-partner__karte,
	body:not(#mn-design) .mn-partner__karte::after {
		transition: none;
	}

	body:not(#mn-design) .mn-partner .mn-partner__karte:is(:hover, :focus-visible) {
		transform: none;
	}
}

/* ===================================================================== *
 * Kunden werben (includes/kunden-werben.php, templates/kunden-werben.php)
 * ===================================================================== */

body:not(#mn-design) .mn-werben {
	display: grid;
	gap: 40px;
	color: var(--mn-text);
}

body:not(#mn-design) .mn-werben svg {
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

body:not(#mn-design) .mn-werben__kopf {
	padding: 32px;
	border-radius: 20px;
	background: linear-gradient(135deg, var(--mn-hell-1, #e5f2fa) 0%, var(--mn-hell-2, #eef0fa) 60%, var(--mn-hell-3, #f5f6fc) 100%);
}

body:not(#mn-design) .mn-werben__eyebrow {
	margin: 0;
	color: var(--mn-secondary, #1f99cf);
	font-size: 13px;
	font-weight: 600;
}

body:not(#mn-design) .mn-werben__titel {
	margin: 8px 0 0;
	color: var(--mn-accent);
	font-family: "Bricolage Grotesque", sans-serif;
	font-size: clamp(26px, 3vw, 34px);
	font-weight: 600;
	line-height: 1.15;
}

body:not(#mn-design) .mn-werben__text {
	max-inline-size: 62ch;
	margin: 12px 0 0;
	font-size: 16px;
	line-height: 1.6;
}

body:not(#mn-design) .mn-werben__teilen {
	display: grid;
	grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.3fr);
	gap: 12px;
	margin-top: 24px;
}

body:not(#mn-design) .mn-werben__feld {
	display: grid;
	gap: 6px;
	padding: 14px 16px;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 0 0 1px rgba(var(--mn-accent-rgb, 40, 53, 131), 0.1);
}

body:not(#mn-design) .mn-werben__label {
	color: var(--mn-muted);
	font-size: 13px;
	font-weight: 500;
}

body:not(#mn-design) :is(.mn-werben__code, .mn-werben__link, .mn-werben__gutschein) {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	color: var(--mn-accent);
	font-weight: 700;
	cursor: pointer;
}

body:not(#mn-design) .mn-werben__code {
	font-size: 22px;
	letter-spacing: 0.08em;
	font-variant-numeric: tabular-nums;
}

body:not(#mn-design) .mn-werben__link {
	min-inline-size: 0;
	font-size: 15px;
	font-weight: 600;
	overflow-wrap: anywhere;
}

body:not(#mn-design) .mn-werben .mn-copy-state {
	display: inline-flex;
	flex: none;
	align-items: center;
	gap: 4px;
	color: var(--mn-muted);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0;
}

body:not(#mn-design) .mn-werben .mn-copy-icon {
	inline-size: 18px;
	block-size: 18px;
}

body:not(#mn-design) .mn-werben__aktionen {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 16px;
}

body:not(#mn-design) .mn-werben__aktionen .mn-product__btn {
	flex: 0 0 auto;
	gap: 8px;
}

body:not(#mn-design) .mn-werben__aktionen svg {
	inline-size: 18px;
	block-size: 18px;
}

body:not(#mn-design) .mn-werben__h3 {
	margin: 0 0 16px;
	color: var(--mn-accent);
	font-family: Inter, sans-serif;
	font-size: 19px;
	font-weight: 600;
}

body:not(#mn-design) .mn-werben__schritte {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 12px;
	margin: 0;
	padding: 0;
	counter-reset: mn-werben;
	list-style: none;
}

body:not(#mn-design) .mn-werben__schritte li {
	display: grid;
	gap: 6px;
	margin: 0;
	padding: 18px 20px;
	border: 1px solid var(--mn-border);
	border-radius: 16px;
	counter-increment: mn-werben;
}

body:not(#mn-design) .mn-werben__schritte strong::before {
	content: counter(mn-werben) ". ";
	color: var(--mn-secondary, #1f99cf);
}

body:not(#mn-design) .mn-werben__schritte span {
	color: var(--mn-muted);
	font-size: 14px;
	line-height: 1.5;
}

body:not(#mn-design) .mn-werben__liste {
	display: grid;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

body:not(#mn-design) .mn-werben__eintrag {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 4px 16px;
	margin: 0;
	padding: 14px 18px;
	border: 1px solid var(--mn-border);
	border-radius: 14px;
	background: #fff;
}

body:not(#mn-design) .mn-werben__name {
	font-weight: 600;
}

body:not(#mn-design) .mn-werben__datum {
	color: var(--mn-muted);
	font-size: 13px;
	text-align: end;
}

body:not(#mn-design) .mn-werben__status {
	color: var(--mn-muted);
	font-size: 14px;
}

body:not(#mn-design) .mn-werben__eintrag:is(.mn-werben__eintrag--gutschein, .mn-werben__eintrag--praemie_offen) .mn-werben__status {
	color: #17663b;
	font-weight: 600;
}

body:not(#mn-design) .mn-werben__gutschein {
	grid-column: 1 / -1;
	justify-self: start;
	padding: 6px 12px;
	border-radius: 10px;
	background: #e7f5ee;
	color: #17663b;
	font-size: 16px;
	letter-spacing: 0.06em;
}

body:not(#mn-design) .mn-werben__leer,
body:not(#mn-design) .mn-werben__klein {
	margin: 0;
	color: var(--mn-muted);
	font-size: 14px;
	line-height: 1.6;
}

body:not(#mn-design) .mn-werben__klein {
	font-size: 13px;
}

/* Übersicht: Hinweis auf das Programm. */
body:not(#mn-design) a.mn-werben-teaser {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 0 0 32px;
	padding: 18px 20px;
	border-radius: 16px;
	background: var(--mn-tint);
	color: var(--mn-text);
	text-decoration: none;
	transition: background-color 0.2s ease;
}

body:not(#mn-design) a.mn-werben-teaser:hover {
	background: rgba(var(--mn-accent-rgb, 40, 53, 131), 0.13);
}

body:not(#mn-design) .mn-werben-teaser__icon {
	display: grid;
	flex: none;
	place-items: center;
	inline-size: 44px;
	block-size: 44px;
	border-radius: 14px;
	background: #fff;
	color: var(--mn-accent);
}

body:not(#mn-design) .mn-werben-teaser__icon svg {
	inline-size: 22px;
	block-size: 22px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

body:not(#mn-design) .mn-werben-teaser > span:last-child {
	display: grid;
	gap: 2px;
	font-size: 14px;
	line-height: 1.5;
}

body:not(#mn-design) .mn-werben-teaser strong {
	color: var(--mn-accent);
	font-size: 16px;
}

@media (max-width: 767px) {
	body:not(#mn-design) .mn-werben__kopf {
		padding: 22px 18px;
	}

	body:not(#mn-design) .mn-werben__teilen {
		grid-template-columns: minmax(0, 1fr);
	}

	body:not(#mn-design) .mn-werben__aktionen .mn-product__btn {
		flex: 1 1 auto;
	}
}

/* ===================================================================== *
 * Kauf auf Rechnung (includes/rechnung.php)
 * ===================================================================== */

/* Aufbau wie „Zahlung ausstehend“ bei der Überweisung (includes/girocode.php),
 * aber in Blau: Eine Rechnung ist kein Rückstand. Bezahlt: grün. */
body:not(#mn-design) .mn-rechnung {
	display: grid;
	gap: 16px;
	margin: 0 0 32px;
}

body:not(#mn-design) .mn-rechnung .mn-zahlung-offen__hinweis {
	border-color: rgba(var(--mn-accent-rgb, 40, 53, 131), 0.14);
	background: var(--mn-tint);
}

body:not(#mn-design) .mn-rechnung .mn-zahlung-offen__icon {
	background: #fff;
	color: var(--mn-accent);
}

body:not(#mn-design) .mn-rechnung :is(.mn-zahlung-offen__titel, .mn-zahlung-offen__text strong) {
	color: var(--mn-accent);
}

body:not(#mn-design) .mn-rechnung .mn-zahlung-offen__text {
	color: var(--mn-text);
}

body:not(#mn-design) .mn-rechnung.is-bezahlt .mn-zahlung-offen__hinweis {
	border-color: #bfe3cd;
	background: #e7f5ee;
}

body:not(#mn-design) .mn-rechnung.is-bezahlt :is(.mn-zahlung-offen__icon, .mn-zahlung-offen__titel) {
	color: #17663b;
}

body:not(#mn-design) .mn-rechnung-kasse {
	margin: 0;
	color: var(--mn-muted);
	font-size: 14px;
	line-height: 1.5;
}


/* ===================================================================== *
 * Shop-Kopf über dem Katalog ([mednaht_shop_kopf], includes/shop-kopf.php)
 * ===================================================================== */

body:not(#mn-design) .mn-shopkopf {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 340px);
	align-items: center;
	gap: 32px 48px;
	padding: 40px 44px;
	border-radius: 24px;
	background: linear-gradient(135deg, var(--mn-hell-1, #e5f2fa) 0%, var(--mn-hell-2, #eef0fa) 55%, var(--mn-hell-3, #f5f6fc) 100%);
	color: var(--mn-text);
	font-family: Inter, sans-serif;
}

body:not(#mn-design) .mn-shopkopf svg {
	flex: none;
	inline-size: 18px;
	block-size: 18px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

body:not(#mn-design) .mn-shopkopf__titel {
	margin: 0;
	color: var(--mn-accent);
	font-family: "Bricolage Grotesque", sans-serif;
	font-size: clamp(32px, 4vw, 48px);
	font-weight: 600;
	line-height: 1.08;
	letter-spacing: -0.02em;
	text-wrap: balance;
}

body:not(#mn-design) .mn-shopkopf__text {
	max-inline-size: 58ch;
	margin: 14px 0 0;
	font-size: 17px;
	line-height: 1.55;
	text-wrap: pretty;
}

body:not(#mn-design) .mn-shopkopf__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 22px 0 0;
	padding: 0;
	list-style: none;
}

/* Info-Pillen wie die Merkmale auf der Produktseite (.mn-kurz__merkmale li), kein Button-Look. */
body:not(#mn-design) .mn-shopkopf__chips li {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	padding: 6px 12px;
	border-radius: 999px;
	background: var(--mn-tint);
	color: var(--mn-accent);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
}

body:not(#mn-design) .mn-shopkopf__chips svg {
	inline-size: 16px;
	block-size: 16px;
}

body:not(#mn-design) .mn-shopkopf__beratung {
	display: grid;
	gap: 6px;
	padding: 22px 24px;
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.85);
	box-shadow: 0 0 0 1px rgba(var(--mn-accent-rgb, 40, 53, 131), 0.07), 0 10px 30px -18px rgba(var(--mn-accent-rgb, 40, 53, 131), 0.35);
}

body:not(#mn-design) .mn-shopkopf__beratung-titel {
	margin: 0;
	color: var(--mn-accent);
	font-size: 17px;
	font-weight: 600;
}

body:not(#mn-design) .mn-shopkopf__beratung-text {
	margin: 0;
	color: var(--mn-muted);
	font-size: 14px;
	line-height: 1.5;
}

body:not(#mn-design) .mn-shopkopf__aktionen {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 10px;
}

body:not(#mn-design) .mn-shopkopf__aktionen .mn-product__btn {
	flex: 1 1 auto;
	gap: 8px;
	min-block-size: 44px;
	padding-inline: 16px;
}

body:not(#mn-design) .mn-shopkopf__wissen {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 6px;
	color: var(--mn-accent);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}

body:not(#mn-design) .mn-shopkopf__wissen svg {
	inline-size: 16px;
	block-size: 16px;
	transition: transform 0.2s ease;
}

body:not(#mn-design) .mn-shopkopf__wissen:hover svg {
	transform: translateX(3px);
}

@media (max-width: 900px) {
	body:not(#mn-design) .mn-shopkopf {
		grid-template-columns: minmax(0, 1fr);
		padding: 32px 28px;
	}
}

@media (max-width: 767px) {
	body:not(#mn-design) .mn-shopkopf {
		padding: 26px 18px;
		border-radius: 20px;
	}

	body:not(#mn-design) .mn-shopkopf__text {
		font-size: 16px;
	}
}

/* Abschnittskopf über den Reitern: sagt, was darunter kommt, mit Luft zum Kopf darüber. */
body:not(#mn-design) .mn-sortiment {
	max-inline-size: 720px;
	margin-block-start: 64px;
	font-family: Inter, sans-serif;
}

body:not(#mn-design) .mn-sortiment__titel {
	margin: 0;
	color: var(--mn-accent);
	font-family: "Bricolage Grotesque", sans-serif;
	font-size: clamp(26px, 2.6vw, 34px);
	font-weight: 600;
	line-height: 1.15;
	letter-spacing: -0.015em;
	text-wrap: balance;
}

body:not(#mn-design) .mn-sortiment__text {
	margin: 10px 0 0;
	color: var(--mn-muted);
	font-size: 16px;
	line-height: 1.55;
	text-wrap: pretty;
}

/* Kategorie-Reiter (wc-product-table, category-tabs.css): Elementors Linkfarbe
   nicht übernehmen – inaktiv ruhig, aktiv im mednaht-Blau. */
body:not(#mn-design) .wcpt-tabs .wcpt-tab {
	color: var(--mn-muted);
}

body:not(#mn-design) .wcpt-tabs .wcpt-tab:is(:hover, :focus-visible, .is-active) {
	color: var(--mn-accent);
}

/* Reiter und Suche gehören zusammen: kein zusätzlicher Abstand über der Tabelle (Elementor-Widget). */
body:not(#mn-design) .elementor-widget-wcpt_category_tabs + .elementor-widget-wcpt_product_table > .elementor-widget-container {
	padding-block-start: 0;
}

@media (max-width: 767px) {
	body:not(#mn-design) .mn-sortiment {
		margin-block-start: 44px;
	}

	body:not(#mn-design) .mn-sortiment__text {
		font-size: 15px;
	}
}

@media (prefers-reduced-motion: reduce) {
	body:not(#mn-design) .mn-shopkopf__wissen svg {
		transition: none;
	}
}

/* ===================================================================== *
 * Testpaket (includes/testpaket.php)
 * ===================================================================== */

/* Auswahl auf der Produktseite. */
body:not(#mn-design) .mn-tp {
	display: grid;
	gap: 10px;
	margin: 0 0 16px;
	padding: 0;
	border: 0;
	min-inline-size: 0;
}

body:not(#mn-design) .mn-tp__titel {
	margin: 0 0 4px;
	padding: 0;
	color: var(--mn-accent);
	font-size: 16px;
	font-weight: 600;
}

body:not(#mn-design) .mn-tp__option {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: 0;
	padding: 14px 16px;
	border: 1px solid var(--mn-border);
	border-radius: var(--mn-radius);
	background: #fff;
	cursor: pointer;
	transition: border-color 0.2s ease, background-color 0.2s ease;
}

body:not(#mn-design) .mn-tp__option:has(input:checked) {
	border-color: var(--mn-accent);
	background: var(--mn-tint);
}

body:not(#mn-design) .mn-tp__option input {
	flex: none;
	margin-top: 3px;
}

body:not(#mn-design) .mn-tp__option > span {
	display: grid;
	gap: 2px;
}

body:not(#mn-design) .mn-tp__option strong {
	color: var(--mn-text);
	font-size: 15px;
}

body:not(#mn-design) .mn-tp__option > span > span {
	color: var(--mn-muted);
	font-size: 14px;
	line-height: 1.45;
}

body:not(#mn-design) .mn-tp__chirurgie {
	display: none;
	gap: 8px;
	padding: 4px 2px 0;
}

body:not(#mn-design) .mn-tp:has(input[value="chirurgie"]:checked) .mn-tp__chirurgie {
	display: grid;
}

body:not(#mn-design) .mn-tp__frage {
	margin: 4px 0 0;
	color: var(--mn-text);
	font-size: 14px;
	font-weight: 600;
}

body:not(#mn-design) :is(.mn-tp__staerken, .mn-umfrage__wahl) {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

body:not(#mn-design) :is(.mn-tp__staerken, .mn-umfrage__wahl) label {
	position: relative;
	margin: 0;
	cursor: pointer;
}

body:not(#mn-design) :is(.mn-tp__staerken, .mn-umfrage__wahl) input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

body:not(#mn-design) :is(.mn-tp__staerken, .mn-umfrage__wahl) span {
	display: inline-block;
	min-inline-size: 52px;
	padding: 8px 12px;
	border: 1px solid var(--mn-border);
	border-radius: 999px;
	background: #fff;
	color: var(--mn-accent);
	font-size: 14px;
	font-weight: 600;
	text-align: center;
	font-variant-numeric: tabular-nums;
}

body:not(#mn-design) :is(.mn-tp__staerken, .mn-umfrage__wahl) input:checked + span {
	border-color: var(--mn-accent);
	background: var(--mn-accent);
	color: #fff;
}

body:not(#mn-design) :is(.mn-tp__staerken, .mn-umfrage__wahl) input:focus-visible + span {
	outline: 2px solid var(--mn-accent);
	outline-offset: 2px;
}

body:not(#mn-design) .mn-tp textarea {
	box-sizing: border-box;
	inline-size: 100%;
	padding: 10px 14px;
	border: 1px solid var(--mn-border);
	border-radius: var(--mn-radius);
	font: inherit;
	font-size: 14px;
}

/* Hinweis statt Knopf, wenn man das Paket nicht (mehr) bestellen darf. */
body:not(#mn-design) .mn-tp-sperre {
	padding: 16px 18px;
	border-radius: 14px;
	background: var(--mn-tint);
}

body:not(#mn-design) .mn-tp-sperre p {
	margin: 0;
	color: var(--mn-text);
	font-size: 14px;
	line-height: 1.5;
}

body:not(#mn-design) .mn-tp-sperre .mn-tp-sperre__titel {
	margin-bottom: 4px;
	color: var(--mn-accent);
	font-size: 15px;
	font-weight: 600;
}

/* Konto-Übersicht: Kennenlernangebot. */
body:not(#mn-design) a.mn-tp-teaser {
	display: flex;
	align-items: center;
	gap: 18px;
	margin: 0 0 32px;
	padding: 14px 20px 14px 14px;
	border-radius: 18px;
	background: linear-gradient(135deg, var(--mn-hell-1, #e5f2fa) 0%, var(--mn-hell-2, #eef0fa) 100%);
	color: var(--mn-text);
	text-decoration: none;
	box-shadow: 0 0 0 1px rgba(var(--mn-accent-rgb, 40, 53, 131), 0.08);
	transition: box-shadow 0.2s ease;
}

body:not(#mn-design) a.mn-tp-teaser:hover {
	box-shadow: 0 0 0 1px rgba(var(--mn-accent-rgb, 40, 53, 131), 0.2), 0 10px 26px -18px rgba(var(--mn-accent-rgb, 40, 53, 131), 0.5);
}

body:not(#mn-design) .mn-tp-teaser__bild img {
	display: block;
	inline-size: 72px;
	block-size: 72px;
	border-radius: 12px;
	object-fit: cover;
}

body:not(#mn-design) .mn-tp-teaser__text {
	display: grid;
	flex: 1 1 auto;
	gap: 2px;
	font-size: 14px;
	line-height: 1.5;
}

body:not(#mn-design) .mn-tp-teaser__eyebrow {
	color: var(--mn-secondary, #1f99cf);
	font-size: 12px;
	font-weight: 600;
}

body:not(#mn-design) .mn-tp-teaser strong {
	color: var(--mn-accent);
	font-size: 17px;
}

body:not(#mn-design) .mn-tp-teaser__preis {
	flex: none;
	padding: 10px 18px;
	border-radius: var(--mn-radius);
	background: var(--mn-accent);
	color: #fff;
	font-size: 14px;
	font-weight: 600;
}

@media (max-width: 600px) {
	body:not(#mn-design) a.mn-tp-teaser {
		flex-wrap: wrap;
	}

	body:not(#mn-design) .mn-tp-teaser__bild {
		display: none;
	}

	body:not(#mn-design) .mn-tp-teaser__preis {
		inline-size: 100%;
		text-align: center;
	}
}

/* Auswahl über die volle Breite, Knopf darunter in normaler Höhe. */
body:not(#mn-design) .mn-product .mn-product__cart form.cart:not(.variations_form):has(.mn-tp) {
	flex-wrap: wrap;
	align-items: center;
}

body:not(#mn-design) .mn-product .mn-product__cart form.cart .mn-tp {
	flex: 1 1 100%;
	inline-size: 100%;
}

body:not(#mn-design) .mn-product .mn-product__cart form.cart:not(.variations_form):has(.mn-tp) .single_add_to_cart_button {
	flex: 1 1 auto;
	align-self: auto;
	block-size: auto;
	min-block-size: var(--mn-height);
}

/* Banner „Kennenlernangebot für Neukunden“ (Shop, Startseite, Registrierung). */
body:not(#mn-design) .mn-tp-banner {
	position: relative;
	display: flex;
	align-items: center;
	gap: 20px 24px;
	box-sizing: border-box;
	inline-size: 100%;
	margin: 16px 0 0;
	padding: 16px 56px 16px 16px;
	border-radius: 20px;
	background: linear-gradient(120deg, var(--mn-accent, #283583) 0%, #3c4aa0 100%);
	color: #fff;
	font-family: Inter, sans-serif;
}

body:not(#mn-design) .mn-tp-banner[hidden] {
	display: none;
}

body:not(#mn-design) .mn-tp-banner__bild img {
	display: block;
	inline-size: 88px;
	block-size: 88px;
	border-radius: 14px;
	object-fit: cover;
}

body:not(#mn-design) .mn-tp-banner__text {
	display: grid;
	flex: 1 1 auto;
	gap: 4px;
	min-inline-size: 0;
}

body:not(#mn-design) .mn-tp-banner p {
	margin: 0;
}

body:not(#mn-design) .mn-tp-banner__eyebrow {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	color: #8fd3f0;
	font-size: 12px;
	font-weight: 600;
}

body:not(#mn-design) .mn-tp-banner__prozent {
	padding: 2px 8px;
	border-radius: 999px;
	background: #e6007e;
	color: #fff;
	letter-spacing: 0.02em;
}

body:not(#mn-design) .mn-tp-banner__titel {
	color: #fff;
	font-family: "Bricolage Grotesque", sans-serif;
	font-size: 21px;
	font-weight: 600;
	line-height: 1.25;
}

body:not(#mn-design) .mn-tp-banner__satz {
	max-inline-size: 72ch;
	color: rgba(255, 255, 255, 0.85);
	font-size: 14px;
	line-height: 1.5;
}

body:not(#mn-design) .mn-tp-banner .mn-tp-banner__knopf,
body:not(#mn-design) .mn-tp-banner .mn-tp-banner__knopf:visited {
	flex: none;
	border-color: #fff;
	background: #fff;
	color: var(--mn-accent);
}

body:not(#mn-design) .mn-tp-banner .mn-tp-banner__knopf:hover {
	border-color: #e6e9f7;
	background: #e6e9f7;
	color: var(--mn-accent);
}

body:not(#mn-design) .mn-tp-banner__zu {
	position: absolute;
	inset: 12px 12px auto auto;
	display: grid;
	place-items: center;
	inline-size: 32px;
	block-size: 32px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
	cursor: pointer;
}

body:not(#mn-design) .mn-tp-banner__zu:hover {
	background: rgba(255, 255, 255, 0.22);
}

body:not(#mn-design) .mn-tp-banner__zu svg {
	inline-size: 16px;
	block-size: 16px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
}

/* Kompakt in Registrierung und Danke-Seite: heller, ohne Bild und Schließen. */
body:not(#mn-design) :is(.mn-tp-banner--registrierung, .mn-tp-banner--danke) {
	margin: 0 0 20px;
	padding: 14px 16px;
	border-radius: 14px;
	background: var(--mn-tint);
	color: var(--mn-text);
}

body:not(#mn-design) :is(.mn-tp-banner--registrierung, .mn-tp-banner--danke) .mn-tp-banner__eyebrow {
	color: var(--mn-secondary, #1f99cf);
}

body:not(#mn-design) :is(.mn-tp-banner--registrierung, .mn-tp-banner--danke) .mn-tp-banner__titel {
	color: var(--mn-accent);
	font-size: 16px;
}

body:not(#mn-design) :is(.mn-tp-banner--registrierung, .mn-tp-banner--danke) .mn-tp-banner__satz {
	color: var(--mn-text);
	font-size: 13px;
}

body:not(#mn-design) .mn-tp-banner--danke {
	margin: 24px 0 0;
}

/* Startseite: eigener Abschnitt mit Seitenbreite. */
/* Oben so viel Luft wie unten bis „Unsere Empfehlung“ (dort 5rem Außenabstand). */
body:not(#mn-design) .mn-tp-banner--start {
	margin: 5rem 0 0;
}

@media (max-width: 767px) {
	body:not(#mn-design) .mn-tp-banner {
		flex-wrap: wrap;
		padding: 18px 48px 18px 18px;
	}

	body:not(#mn-design) .mn-tp-banner__bild {
		display: none;
	}

	body:not(#mn-design) .mn-tp-banner .mn-tp-banner__knopf {
		inline-size: 100%;
	}

	body:not(#mn-design) .mn-tp-banner__titel {
		font-size: 18px;
	}
}

/* Startseite: Abschnitt ohne Banner (Bestandskunden) nimmt keinen Platz ein. */
body:not(#mn-design) .mn-tp-banner-abschnitt:not(:has(.mn-tp-banner:not([hidden]))) {
	display: none;
}

/* ===================================================================== *
 * Produktbeschreibung im Lese-Stil (includes/beschreibung.php)
 * Eine Schriftgröße für alles (16 px); Überschriften, Einleitung und
 * Kästen heben sich über Farbe, Gewicht und Fläche ab.
 * ===================================================================== */

body:not(#mn-design) .mn-desc {
	max-inline-size: 72ch;
	color: var(--mn-text);
	font-size: 16px;
	line-height: 1.7;
}

body:not(#mn-design) .mn-desc > * + * {
	margin-top: 16px;
}

body:not(#mn-design) .mn-desc p {
	margin: 0;
	text-wrap: pretty;
}

body:not(#mn-design) .mn-desc .mn-desc__lead {
	color: var(--mn-text);
}

body:not(#mn-design) .mn-desc strong {
	color: var(--mn-accent);
	font-weight: 600;
}

body:not(#mn-design) .mn-desc .mn-desc__h {
	margin: 28px 0 0;
	color: var(--mn-accent);
	font-family: Inter, sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
}

body:not(#mn-design) .mn-desc .mn-desc__h + * {
	margin-top: 10px;
}

/* Liste mit Haken, ab drei Punkten zweispaltig, wo Platz ist. */
body:not(#mn-design) .mn-desc .mn-desc__liste {
	display: grid;
	gap: 8px 24px;
	padding: 0;
	list-style: none;
}

body:not(#mn-design) .mn-desc ol.mn-desc__liste {
	counter-reset: mn-desc;
}

body:not(#mn-design) .mn-desc .mn-desc__liste li {
	position: relative;
	margin: 0;
	padding-inline-start: 30px;
	line-height: 1.5;
}

body:not(#mn-design) .mn-desc ul.mn-desc__liste li::before {
	content: "";
	position: absolute;
	inset: 2px auto auto 0;
	inline-size: 20px;
	block-size: 20px;
	border-radius: 50%;
	background: var(--mn-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23283583' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center / 12px no-repeat;
}

body:not(#mn-design) .mn-desc ol.mn-desc__liste li {
	counter-increment: mn-desc;
}

body:not(#mn-design) .mn-desc ol.mn-desc__liste li::before {
	content: counter(mn-desc);
	position: absolute;
	inset: 1px auto auto 0;
	display: grid;
	place-items: center;
	inline-size: 22px;
	block-size: 22px;
	border-radius: 50%;
	background: var(--mn-tint);
	color: var(--mn-accent);
	font-size: 12px;
	font-weight: 700;
}

@media (min-width: 640px) {
	body:not(#mn-design) .mn-desc ul.mn-desc__liste:has(li:nth-child(5)) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Kästen: Tipp/Hinweis (auch „Achtung:“) blau, Vorsicht/Warnung gelb. */
body:not(#mn-design) .mn-desc .mn-desc__box {
	padding: 14px 18px;
	border-inline-start: 4px solid var(--mn-accent);
	border-radius: 4px 12px 12px 4px;
	background: var(--mn-tint);
	line-height: 1.6;
}

body:not(#mn-design) .mn-desc .mn-desc__box--achtung {
	border-inline-start-color: #d39b1c;
	background: #fdf6e8;
}

body:not(#mn-design) .mn-desc .mn-desc__box-titel {
	margin-bottom: 2px;
	color: var(--mn-accent);
	font-weight: 700;
}

body:not(#mn-design) .mn-desc .mn-desc__box--achtung .mn-desc__box-titel {
	color: #8a5a00;
}

body:not(#mn-design) .mn-desc a {
	color: var(--mn-accent);
	font-weight: 600;
	text-underline-offset: 3px;
}

/* Datenzeilen („Rohmaterial: …“) als zweispaltige Liste wie die technischen Daten. */
body:not(#mn-design) .mn-desc .mn-desc__daten {
	display: grid;
	grid-template-columns: minmax(120px, max-content) minmax(0, 1fr);
	margin-block: 16px 0;
	border-block-start: 1px solid rgba(var(--mn-accent-rgb, 40, 53, 131), 0.09);
	line-height: 1.5;
}

body:not(#mn-design) .mn-desc .mn-desc__daten :is(dt, dd) {
	margin: 0;
	padding: 10px 0;
	border-block-end: 1px solid rgba(var(--mn-accent-rgb, 40, 53, 131), 0.09);
}

body:not(#mn-design) .mn-desc .mn-desc__daten dt {
	padding-inline-end: 20px;
	color: var(--mn-muted);
}

body:not(#mn-design) .mn-desc .mn-desc__daten dd {
	color: var(--mn-text);
	font-weight: 600;
}

@media (max-width: 480px) {
	body:not(#mn-design) .mn-desc .mn-desc__daten {
		grid-template-columns: minmax(0, 1fr);
	}

	body:not(#mn-design) .mn-desc .mn-desc__daten dt {
		padding-block-end: 0;
		border-block-end: 0;
	}

	body:not(#mn-design) .mn-desc .mn-desc__daten dd {
		padding-block-start: 2px;
	}
}

/* ===================================================================== *
 * Startseite, „Unsere Nadeln“: Karten zu den weiteren Nadel-Seiten
 * (scripts/lib/setup-nadeln-startseite.php, Klasse mn-nadel-link).
 * Hellblau wie die Kacheln darüber, Symbol links, Pfeil rechts.
 * ===================================================================== */

body:not(#mn-design) .e-con.mn-nadel-link {
	--mn-nadel-symbol: none;
	position: relative;
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr);
	grid-auto-flow: row dense;
	align-content: start;
	column-gap: 20px;
	row-gap: 0;
	padding: 28px 84px 28px 28px;
	border: 1px solid rgba(var(--mn-secondary-rgb, 31, 153, 207), 0.18);
	border-radius: 20px;
	background: linear-gradient(135deg, var(--mn-hell-1, #e5f2fa) 0%, var(--mn-hell-2, #eef0fa) 60%, var(--mn-hell-3, #f5f6fc) 100%);
	color: var(--mn-text);
	text-decoration: none;
	transition: transform 0.25s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.25s ease, border-color 0.25s ease;
}

/* Symbol: weiße Kachel wie die Menü-Symbole (mednaht-navigation), Strichzeichnung als Maske im mednaht-Blau. */
body:not(#mn-design) .e-con.mn-nadel-link::before {
	content: "";
	grid-column: 1;
	grid-row: 1 / span 4;
	inline-size: 56px;
	block-size: 56px;
	box-sizing: border-box;
	border: 1px solid #d9dcec;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 1px 2px rgba(var(--mn-accent-rgb, 40, 53, 131), 0.06);
}

body:not(#mn-design) .e-con.mn-nadel-link::after {
	content: "";
	position: absolute;
	inset-block-start: 44px;
	inset-inline-start: 44px;
	inline-size: 24px;
	block-size: 24px;
	background: var(--mn-accent);
	-webkit-mask: var(--mn-nadel-symbol) center / contain no-repeat;
	mask: var(--mn-nadel-symbol) center / contain no-repeat;
}

/* Werkstoff: Schichten. */
body:not(#mn-design) .e-con.mn-nadel-link--material {
	--mn-nadel-symbol: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l9 5-9 5-9-5z'/%3E%3Cpath d='M3 13l9 5 9-5'/%3E%3Cpath d='M3 17.5l9 5 9-5'/%3E%3C/svg%3E");
}

/* Nadelserien: Krone. */
body:not(#mn-design) .e-con.mn-nadel-link--krone {
	--mn-nadel-symbol: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8l4.5 4L12 5l4.5 7L21 8l-2 10H5z'/%3E%3Cpath d='M5 21h14'/%3E%3C/svg%3E");
}

body:not(#mn-design) .e-con.mn-nadel-link > .elementor-widget {
	grid-column: 2;
	inline-size: auto;
	margin: 0;
}

body:not(#mn-design) .mn-nadel-link .mn-nadel-link__zeile .elementor-heading-title {
	color: var(--mn-secondary, #1f99cf);
	font-family: Inter, sans-serif;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.4;
}

body:not(#mn-design) .mn-nadel-link .mn-nadel-link__titel .elementor-heading-title {
	margin-block-start: 4px;
	color: var(--mn-accent);
	font-family: "Bricolage Grotesque", sans-serif;
	font-size: 24px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -0.01em;
}

body:not(#mn-design) .mn-nadel-link .mn-nadel-link__text .elementor-heading-title {
	margin-block-start: 8px;
	color: var(--mn-muted);
	font-family: Inter, sans-serif;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.55;
	text-wrap: pretty;
}

/* „Weiterlesen“ und Pfeil-Knopf: der Knopf sitzt rechts, mittig. */
body:not(#mn-design) .mn-nadel-link .mn-nadel-link__mehr .elementor-heading-title {
	margin-block-start: 14px;
	color: var(--mn-accent);
	font-family: Inter, sans-serif;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
}

body:not(#mn-design) .e-con.mn-nadel-link > .mn-nadel-link__mehr {
	position: static;
}

body:not(#mn-design) .mn-nadel-link .mn-nadel-link__mehr::after {
	content: "";
	position: absolute;
	inset-block-start: 50%;
	inset-inline-end: 24px;
	inline-size: 40px;
	block-size: 40px;
	border: 1px solid rgba(var(--mn-accent-rgb, 40, 53, 131), 0.16);
	border-radius: 50%;
	background:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23283583' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / 18px no-repeat,
		#fff;
	transform: translateY(-50%);
	transition: transform 0.25s cubic-bezier(0.22, 1, 0.36, 1), background-color 0.25s ease;
}

body:not(#mn-design) .e-con.mn-nadel-link:is(:hover, :focus-visible) {
	border-color: rgba(var(--mn-secondary-rgb, 31, 153, 207), 0.4);
	box-shadow: 0 18px 40px -18px rgba(var(--mn-accent-rgb, 40, 53, 131), 0.35);
	transform: translateY(-2px);
}

body:not(#mn-design) .e-con.mn-nadel-link:is(:hover, :focus-visible) .mn-nadel-link__mehr::after {
	transform: translate(4px, -50%);
}

body:not(#mn-design) .e-con.mn-nadel-link:focus-visible {
	outline: 2px solid var(--mn-secondary, #1f99cf);
	outline-offset: 3px;
}

@media (max-width: 767px) {
	body:not(#mn-design) .e-con.mn-nadel-link {
		grid-template-columns: 44px minmax(0, 1fr);
		column-gap: 16px;
		padding: 22px 20px 22px 20px;
	}

	body:not(#mn-design) .e-con.mn-nadel-link::before {
		inline-size: 44px;
		block-size: 44px;
		border-radius: 12px;
	}

	body:not(#mn-design) .e-con.mn-nadel-link::after {
		inset-block-start: 33px;
		inset-inline-start: 31px;
		inline-size: 20px;
		block-size: 20px;
	}

	/* Pfeil-Knopf fällt weg, „Weiterlesen“ reicht. */
	body:not(#mn-design) .mn-nadel-link .mn-nadel-link__mehr::after {
		display: none;
	}

	body:not(#mn-design) .mn-nadel-link .mn-nadel-link__titel .elementor-heading-title {
		font-size: 21px;
	}
}

@media (prefers-reduced-motion: reduce) {
	body:not(#mn-design) .e-con.mn-nadel-link,
	body:not(#mn-design) .mn-nadel-link .mn-nadel-link__mehr::after {
		transition: none;
	}

	body:not(#mn-design) .e-con.mn-nadel-link:is(:hover, :focus-visible) {
		transform: none;
	}
}

/* ===================================================================== *
 * Kopfverlauf: Jede Seite beginnt oben auf demselben Verlauf und läuft
 * weich in den Seitenhintergrund aus.
 *   Basis  – immer der Blau-Flieder-Verlauf der Hinweis-Karten (--mn-hell-*).
 *   Akzent – optional eine Farbe, die von rechts oben dazukommt
 *            (--mn-kopf-akzent), z. B. die Produktfarbe.
 * Die Startseite trägt ihn im eigenen Kopfbereich, weil der Auslauf dort
 * an den Kacheln ausgerichtet ist.
 * ===================================================================== */

:root {
	--mn-kopf-hoehe: 760px;
	--mn-kopf-akzent: transparent;
	--mn-kopf-auslauf: #fff;
}

@media (max-width: 767px) {
	:root {
		--mn-kopf-hoehe: 560px;
	}
}

/* Die Verläufe erst am body zusammensetzen: Variablen in var() werden dort
   aufgelöst, wo sie definiert sind – an :root gäbe es noch keine Produktfarbe. */
body:not(#mn-design),
body.home .elementor-element.elementor-element-54d379b {
	--mn-kopf-basis: linear-gradient(135deg, var(--mn-hell-1, #e5f2fa) 0%, var(--mn-hell-2, #eef0fa) 60%, var(--mn-hell-3, #f5f6fc) 100%);
	--mn-kopf-akzent-fleck: radial-gradient(80% 100% at 92% 0%, color-mix(in srgb, var(--mn-kopf-akzent) 20%, transparent) 0%, color-mix(in srgb, var(--mn-kopf-akzent) 8%, transparent) 45%, transparent 75%);
}

body:not(#mn-design) {
	background-image:
		linear-gradient(to bottom, transparent 35%, var(--mn-kopf-auslauf) 100%),
		var(--mn-kopf-akzent-fleck),
		var(--mn-kopf-basis);
	background-position: top center;
	background-size: 100% var(--mn-kopf-hoehe);
	background-repeat: no-repeat;
}

/* Kopf-Karten (Service-Seiten, Shop, Kunden werben) stehen offen auf dem
   Kopfverlauf statt als zweiter Verlauf darauf; Text bündig mit dem Inhalt. */
body:not(#mn-design) :is(.mn-service__hero, .mn-shopkopf, .mn-werben__kopf) {
	padding-inline: 0;
	border-radius: 0;
	background: none;
}

/* Produktseite: Produktfarbe als Akzent, Auslauf in den Seitenton. */
body:not(#mn-design).single-product {
	--mn-kopf-auslauf: var(--mn-seite, #f7fafe);
}

body:not(#mn-design).mn-produktfarbe {
	--mn-kopf-akzent: var(--mn-produktfarbe);
}

/* Startseite (Elementor 67, 54d379b): Oben Anschluss an die Kopfleiste,
   unten weich ins Weiß, bevor die Kacheln (--mn-hero-ueberstand) über den
   Rand ragen. Der Seitenverlauf selbst bleibt hier aus. */
body.home:not(#mn-design) {
	background-image: none;
}

body.home .elementor-element.elementor-element-54d379b {
	--mn-kopf-grund: #f5fbff;
	background-image:
		linear-gradient(to bottom, transparent calc(100% - var(--mn-hero-ueberstand, 150px) - 320px), var(--mn-kopf-auslauf) calc(100% - var(--mn-hero-ueberstand, 150px) + 40px)),
		linear-gradient(to bottom, var(--mn-kopf-grund), transparent 220px),
		var(--mn-kopf-akzent-fleck),
		var(--mn-kopf-basis);
}

html:is(.mn-farbe-a, .mn-farbe-b, .mn-farbe-c) body.home .elementor-element.elementor-element-54d379b {
	--mn-kopf-grund: var(--mn-hell-3);
}

/* ===================================================================== *
 * Farbvorschau (includes/farbvorschau.php): Flieder-Varianten, nur sichtbar
 * mit ?farbe=a|b|c. Setzt ausschließlich Farb-Variablen.
 * a = Flieder, b = Aubergine (dunkel), c = Flieder hell.
 * ===================================================================== */

html.mn-farbe-a,
html.mn-farbe-a body {
	--mn-accent: #5b4a9e;
	--mn-accent-rgb: 91, 74, 158;
	--mn-accent-hover: #47397f;
	--mn-secondary: #9c86d6;
	--mn-secondary-rgb: 156, 134, 214;
	--mn-hell-1: #efeaf8;
	--mn-hell-2: #ece8f6;
	--mn-hell-3: #f6f4fb;
	--mn-seite: #f8f6fc;
	--mn-muted: #6b6290;
	--mn-border: #e0dbee;
	--mn-heading: #5b4a9e;
	--mn-subheading: #5b4a9e;
	--mn-link: #5b4a9e;
	--e-global-color-accent: #5b4a9e;
	--e-global-color-71b8860: #5b4a9e;
	--e-global-color-4e0833d: #47397f;
	--e-global-color-6774367: #9c86d6;
	--e-global-color-b48c658: #5b4a9e;
}

html.mn-farbe-b,
html.mn-farbe-b body {
	--mn-accent: #3e2c6b;
	--mn-accent-rgb: 62, 44, 107;
	--mn-accent-hover: #2e2052;
	--mn-secondary: #8e6cc8;
	--mn-secondary-rgb: 142, 108, 200;
	--mn-hell-1: #ebe5f5;
	--mn-hell-2: #e6e0f2;
	--mn-hell-3: #f4f1f9;
	--mn-seite: #f7f5fb;
	--mn-muted: #5e5585;
	--mn-border: #ddd6ec;
	--mn-heading: #3e2c6b;
	--mn-subheading: #3e2c6b;
	--mn-link: #3e2c6b;
	--e-global-color-accent: #3e2c6b;
	--e-global-color-71b8860: #3e2c6b;
	--e-global-color-4e0833d: #2e2052;
	--e-global-color-6774367: #8e6cc8;
	--e-global-color-b48c658: #3e2c6b;
}

html.mn-farbe-c,
html.mn-farbe-c body {
	--mn-accent: #6e5aae;
	--mn-accent-rgb: 110, 90, 174;
	--mn-accent-hover: #5a4893;
	--mn-secondary: #b49ae0;
	--mn-secondary-rgb: 180, 154, 224;
	--mn-hell-1: #f4f0fb;
	--mn-hell-2: #f1edf9;
	--mn-hell-3: #faf8fd;
	--mn-seite: #fbfaff;
	--mn-muted: #716a92;
	--mn-border: #e6e1f2;
	--mn-heading: #6e5aae;
	--mn-subheading: #6e5aae;
	--mn-link: #6e5aae;
	--e-global-color-accent: #6e5aae;
	--e-global-color-71b8860: #6e5aae;
	--e-global-color-4e0833d: #5a4893;
	--e-global-color-6774367: #b49ae0;
	--e-global-color-b48c658: #6e5aae;
}

/* Kopfleiste der Header-Vorlage (Elementor 70) hat eigene feste Farben. */
html:is(.mn-farbe-a, .mn-farbe-b, .mn-farbe-c) body.home .elementor-location-header .elementor-element-1b3c965:not(.elementor-sticky--effects) {
	background-color: var(--mn-hell-3);
}

/* Umschalter unten in der Mitte. */
.mn-farbwahl {
	position: fixed;
	inset-block-end: 20px;
	inset-inline-start: 50%;
	z-index: 100001;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 6px;
	max-inline-size: calc(100vw - 24px);
	padding: 6px 6px 6px 14px;
	border: 1px solid rgba(var(--mn-accent-rgb, 40, 53, 131), 0.2);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.92);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	box-shadow: 0 12px 32px -12px rgba(20, 30, 80, 0.35);
	font: 600 13px/1 Inter, sans-serif;
	transform: translateX(-50%);
}

.mn-farbwahl__titel {
	margin-inline-end: 4px;
	color: #5b6190;
	font-size: 12px;
}

.mn-farbwahl button {
	min-block-size: 32px;
	margin: 0;
	padding: 0 12px;
	border: 1px solid #d9dcec;
	border-radius: 999px;
	background: #fff;
	color: #2d3134;
	font: inherit;
	cursor: pointer;
}

.mn-farbwahl button[aria-pressed="true"] {
	border-color: var(--mn-accent, #283583);
	background: var(--mn-accent, #283583);
	color: #fff;
}

.mn-farbwahl .mn-farbwahl__zu {
	border-color: transparent;
	background: none;
	color: #5b6190;
}

@media (max-width: 767px) {
	.mn-farbwahl {
		inset-block-end: 96px;
		border-radius: 18px;
	}
}

/* ===================================================================== *
 * Schnellbestellung im Kundenkonto (includes/schnellbestellung.php)
 * ===================================================================== */

body:not(#mn-design) .mn-schnell {
	display: grid;
	gap: 24px;
	margin: 0;
	color: var(--mn-text);
}

/* Keine Karte um die Karten (Formulare im Konto sind sonst selbst eine). */
body:not(#mn-design) .woocommerce-MyAccount-content > form.mn-schnell {
	max-inline-size: none;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
}

body:not(#mn-design) .woocommerce-MyAccount-content form.mn-schnell button.mn-schnell__senden {
	margin: 0;
}

body:not(#mn-design) .mn-schnell svg {
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

body:not(#mn-design) .mn-schnell__karte,
body:not(#mn-design) .mn-schnell__bestellt {
	padding: 20px 24px;
	border: 1px solid var(--mn-border);
	border-radius: var(--mn-radius);
	background: #fff;
}

body:not(#mn-design) .mn-schnell__titel {
	margin: 0;
	color: var(--mn-accent);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
}

body:not(#mn-design) .mn-schnell__hinweis {
	max-inline-size: 70ch;
	margin: 4px 0 0;
	color: var(--mn-muted);
	font-size: 13px;
	line-height: 1.5;
}

/* Bisher bestellt: Zeilen wie Standardsortiment und Wunschliste – Artikel oben, Lager, Preis
   und letzte Bestellung darunter, rechts der Knopf, der die Nummer in die Zeilen übernimmt. */
body:not(#mn-design) .mn-sortiment__zeile.mn-schnell__bestellt-zeile {
	grid-template-columns: minmax(0, 1fr) 130px auto;
}

body:not(#mn-design) .mn-sortiment__zeile.mn-schnell__bestellt-zeile .mn-sortiment__menge {
	grid-area: 1 / 2 / 3;
}

body:not(#mn-design) .mn-sortiment__zeile.mn-schnell__bestellt-zeile .mn-sortiment__artikel {
	grid-area: 1 / 1;
}

body:not(#mn-design) .mn-sortiment__zeile.mn-schnell__bestellt-zeile .mn-schnell__meta {
	grid-area: 2 / 1;
}

body:not(#mn-design) .mn-sortiment__zeile.mn-schnell__bestellt-zeile button.mn-schnell__holen {
	grid-area: 1 / 3 / 3;
	justify-self: end;
	flex: none;
	min-block-size: 38px;
	margin: 0;
	padding: 0 14px;
	font-size: 13px;
	white-space: nowrap;
}

body:not(#mn-design) .mn-sortiment__zeile.mn-schnell__bestellt-zeile button.mn-schnell__holen.is-drin {
	border-color: var(--mn-accent);
	background: var(--mn-tint);
	color: var(--mn-accent);
}

/* Alternativen zu nicht vorrätigen Nummern */
body:not(#mn-design) .mn-schnell__ersatz {
	display: grid;
	gap: 12px;
	margin: 18px 0 0;
	padding: 0;
	list-style: none;
}

body:not(#mn-design) .mn-schnell__ersatz-eintrag {
	margin: 0;
	padding: 14px 16px;
	border-radius: var(--mn-radius);
	background: var(--mn-tint);
	outline: none;
}

body:not(#mn-design) .mn-schnell__ersatz-eintrag.is-hervor {
	animation: mn-schnell-hervor 1.4s ease;
}

@keyframes mn-schnell-hervor {
	0%, 30% {
		box-shadow: 0 0 0 2px var(--mn-accent);
	}

	100% {
		box-shadow: 0 0 0 2px transparent;
	}
}

body:not(#mn-design) .mn-schnell__ersatz p {
	margin: 0;
}

body:not(#mn-design) .mn-schnell__ersatz-kopf {
	color: var(--mn-text);
	font-size: 14px;
}

body:not(#mn-design) .mn-schnell__ersatz-karte {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 20px;
	margin: 10px 0 0;
	padding: 14px 16px;
	border: 1px solid var(--mn-border);
	border-radius: 10px;
	background: #fff;
}

body:not(#mn-design) .mn-schnell__ersatz-text {
	display: grid;
	flex: 1 1 320px;
	gap: 3px;
	min-inline-size: 0;
}

body:not(#mn-design) .mn-schnell__ersatz-titel {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 10px;
	color: var(--mn-accent);
	font-size: 15px;
}

body:not(#mn-design) .mn-schnell__ersatz-label {
	color: var(--mn-muted);
	font-size: 13px;
	font-weight: 600;
}

body:not(#mn-design) .mn-schnell__ersatz-lager {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #1f7a4d;
	font-size: 12px;
}

body:not(#mn-design) .mn-schnell__ersatz-lager::before {
	content: "";
	inline-size: 7px;
	block-size: 7px;
	border-radius: 50%;
	background: currentColor;
}

body:not(#mn-design) .mn-schnell__ersatz-spez {
	color: var(--mn-text);
	font-size: 13px;
}

body:not(#mn-design) .mn-schnell__ersatz-warum {
	color: var(--mn-muted);
	font-size: 13px;
	line-height: 1.5;
}

body:not(#mn-design) .mn-schnell__ersatz-warum a {
	color: var(--mn-accent);
	font-weight: 600;
}

body:not(#mn-design) .mn-schnell__ersatz-aktionen {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

body:not(#mn-design) .mn-schnell__ersatz-aktionen .mn-product__btn {
	flex: none;
	min-block-size: 42px;
	padding: 0 16px;
	font-size: 14px;
}

/* Zeilen */
body:not(#mn-design) .mn-schnell__tabelle {
	margin: 16px 0 0;
}

body:not(#mn-design) .mn-schnell__spalten,
body:not(#mn-design) .mn-schnell__zeile {
	display: grid;
	grid-template-columns: minmax(150px, 210px) 130px minmax(0, 1fr) 36px;
	align-items: start;
	gap: 10px;
}

body:not(#mn-design) .mn-schnell__spalten {
	padding: 0 0 6px;
	color: var(--mn-muted);
	font-size: 12px;
	font-weight: 600;
}

body:not(#mn-design) .mn-schnell__zeilen {
	display: grid;
}

body:not(#mn-design) .mn-schnell__zeile {
	padding: 8px 0;
	border-top: 1px solid rgba(var(--mn-accent-rgb, 40, 53, 131), 0.08);
}

/* Rahmen, Radius und Höhe wie alle Felder (.input-text, oben); Menge als
   Mengenwähler wie im Katalog (quantity.js, „Mengenwähler" oben). */
body:not(#mn-design) .mn-schnell__nr {
	inline-size: 100%;
	margin: 0;
}

body:not(#mn-design) .mn-schnell__nr {
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.02em;
	text-transform: none;
}

body:not(#mn-design) .mn-schnell__zeile.is-ok .mn-schnell__nr {
	border-color: rgba(31, 122, 77, 0.45);
}

body:not(#mn-design) .mn-schnell__zeile.is-fehlt .mn-schnell__nr {
	border-color: #d9a441;
}

body:not(#mn-design) .mn-schnell__info {
	display: grid;
	gap: 2px;
	min-block-size: 44px;
	align-content: center;
	font-size: 14px;
	line-height: 1.4;
}

body:not(#mn-design) .mn-schnell__zeile.is-laedt .mn-schnell__info {
	opacity: 0.5;
}

body:not(#mn-design) .mn-schnell__artikel {
	display: flex;
	flex-wrap: wrap;
	gap: 0 8px;
}

body:not(#mn-design) .mn-schnell__name {
	color: var(--mn-accent);
	font-weight: 600;
}

body:not(#mn-design) .mn-schnell__spez {
	color: var(--mn-text);
	font-size: 13px;
}

body:not(#mn-design) .mn-schnell__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 2px 12px;
	color: var(--mn-muted);
	font-size: 12px;
}

body:not(#mn-design) .mn-schnell__lager {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

body:not(#mn-design) .mn-schnell__lager::before {
	content: "";
	inline-size: 7px;
	block-size: 7px;
	border-radius: 50%;
	background: #b8bccf;
}

body:not(#mn-design) .mn-schnell__lager.is-in-stock {
	color: #1f7a4d; /* wie „Auf Lager" in der Ausführungsliste */
}

body:not(#mn-design) .mn-schnell__lager.is-in-stock::before {
	background: currentColor;
}

body:not(#mn-design) .mn-schnell__lager.is-backorder {
	color: #9a6a12;
}

body:not(#mn-design) .mn-schnell__lager.is-backorder::before {
	background: currentColor;
}

body:not(#mn-design) .mn-schnell__preis {
	color: var(--mn-text);
	font-weight: 600;
}

body:not(#mn-design) .mn-schnell__warnung {
	color: #9a6a12;
	font-weight: 600;
}

body:not(#mn-design) .mn-schnell__fehlt {
	color: #9a6a12;
	font-size: 13px;
	font-weight: 600;
}

body:not(#mn-design) .mn-schnell__vorschlaege {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	font-size: 13px;
}

body:not(#mn-design) .mn-schnell__vorschlag-titel {
	color: var(--mn-muted);
}

body:not(#mn-design) button.mn-schnell__vorschlag {
	min-block-size: 30px;
	margin: 0;
	padding: 3px 10px;
	border: 1px solid var(--mn-border);
	border-radius: 999px;
	background: var(--mn-tint);
	box-shadow: none;
	color: var(--mn-accent);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
	cursor: pointer;
}

body:not(#mn-design) button.mn-schnell__vorschlag:hover {
	border-color: var(--mn-accent);
	background: #fff;
	color: var(--mn-accent);
}

body:not(#mn-design) button.mn-schnell__weg {
	display: grid;
	place-items: center;
	inline-size: 36px;
	block-size: 44px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 8px;
	background: transparent;
	box-shadow: none;
	color: var(--mn-muted);
	cursor: pointer;
}

body:not(#mn-design) button.mn-schnell__weg:hover {
	background: var(--mn-tint);
	color: var(--mn-accent);
}

body:not(#mn-design) .mn-schnell__weg svg {
	inline-size: 16px;
	block-size: 16px;
}

body:not(#mn-design) button.mn-schnell__mehr {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 8px 0 0;
	padding: 6px 2px;
	border: 0;
	background: transparent;
	box-shadow: none;
	color: var(--mn-accent);
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
}

body:not(#mn-design) button.mn-schnell__mehr:hover {
	background: transparent;
	color: var(--mn-accent);
	text-decoration: underline;
	text-underline-offset: 3px;
}

body:not(#mn-design) .mn-schnell__mehr svg {
	inline-size: 16px;
	block-size: 16px;
}

/* Liste einfügen */
body:not(#mn-design) .mn-schnell__liste {
	margin: 16px 0 0;
	padding: 14px 0 0;
	border-top: 1px solid rgba(var(--mn-accent-rgb, 40, 53, 131), 0.08);
}

body:not(#mn-design) .mn-schnell__liste summary {
	color: var(--mn-accent);
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
}

body:not(#mn-design) .mn-schnell__text {
	box-sizing: border-box;
	inline-size: 100%;
	margin: 10px 0 0;
	font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size: 14px;
	line-height: 1.6;
}

body:not(#mn-design) .mn-schnell__uebernehmen {
	flex: none;
	margin: 10px 0 0;
}

body:not(#mn-design) .mn-schnell.is-laedt .mn-schnell__zeilen {
	opacity: 0.6;
}

/* Summe und Absenden */
body:not(#mn-design) .mn-schnell__fuss {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 20px;
	margin: 20px 0 0;
	padding: 18px 0 0;
	border-top: 1px solid var(--mn-border);
}

body:not(#mn-design) .mn-schnell__summe {
	margin: 0;
	color: var(--mn-text);
	font-size: 15px;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

body:not(#mn-design) .mn-schnell__senden {
	flex: none;
	gap: 8px;
	padding-inline: 28px;
}

body:not(#mn-design) .mn-schnell__senden svg {
	inline-size: 20px;
	block-size: 20px;
}

/* Standardsortiment (templates/sortiment.php), oben auf der Schnellbestellung */
body:not(#mn-design) .woocommerce-MyAccount-content > form.mn-sortiment {
	max-inline-size: none;
	margin: 0 0 24px;
	padding: 20px 24px;
	border: 1px solid var(--mn-border);
	border-radius: var(--mn-radius);
	background: #fff;
	scroll-margin-block-start: 120px;
}

body:not(#mn-design) :is(.mn-sortiment, .mn-anfrage) svg {
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

body:not(#mn-design) .mn-sortiment__liste {
	margin: 14px 0 0;
	padding: 0;
	list-style: none;
}

body:not(#mn-design) .mn-sortiment__eintrag {
	margin: 0;
	padding: 10px 0;
	border-top: 1px solid rgba(var(--mn-accent-rgb, 40, 53, 131), 0.08);
}

body:not(#mn-design) .mn-sortiment__zeile {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto 130px 36px;
	align-items: center;
	gap: 6px 14px;
}

body:not(#mn-design) .mn-sortiment__artikel {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0 8px;
	min-inline-size: 0;
	font-size: 14px;
	line-height: 1.4;
}

body:not(#mn-design) .mn-sortiment__nr {
	color: var(--mn-text);
	font-weight: 700;
	letter-spacing: 0.02em;
}

body:not(#mn-design) .mn-sortiment__eintrag.is-leer .mn-sortiment__artikel {
	opacity: 0.6;
}

/* Menge: Mengenwähler wie im Katalog (quantity.js, „Mengenwähler" oben). */

/* „Entfernen" ist hier ein Absende-Knopf: ohne die Maße der Formular-Knöpfe im Konto. */
body:not(#mn-design) .woocommerce-MyAccount-content form:is(.mn-sortiment, .mn-anfrage) button.mn-schnell__weg {
	min-block-size: 0;
	margin: 0;
	padding: 0;
	font-size: inherit;
}

body:not(#mn-design) .mn-sortiment__ersatz {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 6px 16px;
	margin: 8px 0 0;
	padding: 10px 12px;
	border-radius: 8px;
	background: var(--mn-tint);
	color: var(--mn-text);
	font-size: 13px;
	line-height: 1.5;
}

body:not(#mn-design) .mn-sortiment__ersatz p {
	flex: 1 1 320px;
	margin: 0;
}

body:not(#mn-design) .mn-sortiment__ersatz-aktionen {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 14px;
}

body:not(#mn-design) .mn-sortiment__ersatz-aktionen a,
body:not(#mn-design) button.mn-sortiment__nehmen {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
	color: var(--mn-accent);
	font-size: 13px;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}

body:not(#mn-design) button.mn-sortiment__nehmen:hover {
	background: none;
	color: var(--mn-accent);
}

body:not(#mn-design) .mn-sortiment .mn-schnell__fuss .mn-product__btn,
body:not(#mn-design) .mn-schnell .mn-schnell__fuss .mn-schnell__merken {
	flex: none;
	gap: 8px;
	margin: 0;
}

body:not(#mn-design) .mn-schnell__merken svg {
	inline-size: 18px;
	block-size: 18px;
}

body:not(#mn-design) .mn-schnell__fuss .mn-schnell__summe {
	flex: 1 1 auto;
}

/* Schnellbestellung: Summe in eigener Zeile, beide Knöpfe rechts darunter. */
body:not(#mn-design) .mn-schnell .mn-schnell__fuss .mn-schnell__summe {
	flex-basis: 100%;
}

body:not(#mn-design) .mn-schnell .mn-schnell__fuss .mn-schnell__merken {
	margin-inline-start: auto;
}

/* Übersicht: Sortiment mit „Alles in den Warenkorb" */
body:not(#mn-design) .mn-sortiment-kurz {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px 16px;
	margin: 0 0 32px;
	padding: 18px 20px;
	border-radius: 16px;
	background: var(--mn-tint);
}

body:not(#mn-design) .woocommerce-MyAccount-content > form.mn-sortiment-kurz {
	max-inline-size: none;
	border: 0;
}

body:not(#mn-design) .mn-sortiment-kurz__text {
	display: grid;
	flex: 1 1 260px;
	gap: 2px;
	font-size: 14px;
	line-height: 1.5;
}

body:not(#mn-design) .mn-sortiment-kurz strong {
	color: var(--mn-accent);
	font-size: 16px;
}

body:not(#mn-design) .mn-sortiment-kurz__aktionen {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

body:not(#mn-design) .mn-sortiment-kurz .mn-product__btn,
body:not(#mn-design) .woocommerce-MyAccount-content form.mn-sortiment-kurz button[type="submit"] {
	flex: none;
	min-block-size: 44px;
	margin: 0;
	padding: 0 18px;
	font-size: 14px;
}

@media (max-width: 640px) {
	body:not(#mn-design) .woocommerce-MyAccount-content > form.mn-sortiment {
		padding: 16px;
	}

	body:not(#mn-design) .mn-sortiment__zeile {
		grid-template-columns: minmax(0, 1fr) 130px 36px;
	}

	body:not(#mn-design) .mn-sortiment__artikel {
		grid-column: 1 / -1;
	}

	body:not(#mn-design) .mn-sortiment .mn-schnell__fuss .mn-product__btn,
	body:not(#mn-design) .mn-schnell .mn-schnell__fuss .mn-schnell__merken {
		inline-size: 100%;
	}
}

/* Bisher bestellt schmal: Artikel und Angaben über die volle Breite, der Knopf darunter. */
@media (max-width: 640px) {
	body:not(#mn-design) .mn-sortiment__zeile.mn-schnell__bestellt-zeile {
		grid-template-columns: 130px auto;
		justify-content: start;
	}

	body:not(#mn-design) .mn-sortiment__zeile.mn-schnell__bestellt-zeile .mn-sortiment__artikel,
	body:not(#mn-design) .mn-sortiment__zeile.mn-schnell__bestellt-zeile .mn-schnell__meta {
		grid-column: 1 / -1;
	}

	body:not(#mn-design) .mn-sortiment__zeile.mn-schnell__bestellt-zeile .mn-sortiment__menge {
		grid-area: 3 / 1;
	}

	body:not(#mn-design) .mn-sortiment__zeile.mn-schnell__bestellt-zeile button.mn-schnell__holen {
		grid-area: 3 / 2;
		justify-self: start;
	}
}

@media (max-width: 640px) {
	body:not(#mn-design) .mn-schnell__karte,
	body:not(#mn-design) .mn-schnell__bestellt {
		padding: 16px;
	}

	body:not(#mn-design) .woocommerce-MyAccount-content > form.mn-schnell {
		padding: 0;
	}

	body:not(#mn-design) .mn-schnell__spalten {
		display: none;
	}

	body:not(#mn-design) .mn-schnell__zeile {
		grid-template-columns: minmax(0, 1fr) 130px 36px;
		gap: 6px 8px;
		padding: 12px 0;
	}

	body:not(#mn-design) .mn-schnell__info {
		grid-column: 1 / -1;
		grid-row: 2;
		min-block-size: 0;
	}

	body:not(#mn-design) .mn-schnell__info:empty {
		display: none;
	}

	body:not(#mn-design) .mn-schnell__senden {
		inline-size: 100%;
	}

	body:not(#mn-design) .mn-schnell__ersatz-aktionen .mn-product__btn {
		flex: 1 1 auto;
	}
}

/* ===================================================================== *
 * Lieferbarkeit (includes/verfuegbarkeit.php): „Benachrichtigen",
 * „wieder lieferbar ab", Liefertermin
 * ===================================================================== */

body:not(#mn-design) button.mn-warten {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-block-size: 32px;
	margin: 0;
	padding: 4px 12px 4px 10px;
	border: 1px solid var(--mn-border);
	border-radius: 999px;
	background: #fff;
	color: var(--mn-text);
	font: inherit;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.2;
	white-space: nowrap;
	cursor: pointer;
	transition: border-color .15s, background-color .15s, color .15s;
}

body:not(#mn-design) button.mn-warten:hover {
	border-color: var(--mn-accent);
	background: var(--mn-tint);
	color: var(--mn-text);
}

body:not(#mn-design) button.mn-warten:focus-visible {
	outline: 2px solid var(--mn-accent);
	outline-offset: 2px;
}

body:not(#mn-design) button.mn-warten svg {
	inline-size: 16px;
	block-size: 16px;
	flex: none;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

body:not(#mn-design) button.mn-warten[aria-pressed="true"] {
	border-color: #1f7a4d;
	background: #eef7f1;
	color: #1f7a4d;
}

body:not(#mn-design) button.mn-warten[aria-pressed="true"] svg path:first-child {
	fill: currentColor;
}

body:not(#mn-design) button.mn-warten.is-busy {
	opacity: .6;
	cursor: progress;
}

/* Ausführungszeile: Datum über dem Knopf, rechtsbündig wie Menge und Warenkorb. */
body:not(#mn-design) .mn-variant.is-out .mn-variant__buy {
	flex-wrap: wrap;
	row-gap: 4px;
}

body:not(#mn-design) .mn-variant__wieder,
body:not(#mn-design) .mn-schnell__wieder {
	color: #9a6a12;
	font-size: 12px;
	font-weight: 500;
}

body:not(#mn-design) .mn-variant__wieder {
	flex: 1 1 100%;
	text-align: end;
}

body:not(#mn-design) .mn-schnell__ersatz-kopf {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 12px;
}

body:not(#mn-design) .mn-schnell__ersatz-kopf .mn-warten {
	margin-inline-start: auto;
}

body:not(#mn-design) .mn-schnell__meta .mn-warten {
	min-block-size: 28px;
	padding-block: 2px;
	font-size: 12px;
}

body:not(#mn-design) .mn-schnell__termin {
	flex-basis: 100%;
	margin: -4px 0 0;
	color: var(--mn-muted);
	font-size: 13px;
}

@media (max-width: 1024px) {
	body:not(#mn-design) .mn-variant__wieder {
		flex: 0 1 auto;
		text-align: start;
	}
}

body:not(#mn-design) .mn-sortiment__ersatz-aktionen:has(.mn-warten) {
	align-items: center;
}

/* ===================================================================== *
 * Ersatz: Ausführungsliste (assets/js/ersatz.js) und Warenkorb
 * (includes/ersatz-warenkorb.php)
 * ===================================================================== */

body:not(#mn-design) .mn-variants .mn-variant__ersatz {
	grid-column: 1 / -1;
	margin: 2px 0 0;
	padding: 8px 12px;
	border-radius: 8px;
	background: var(--mn-tint);
	color: var(--mn-text);
	font-size: 13px;
	line-height: 1.5;
	text-wrap: pretty;
}

body:not(#mn-design) .mn-variants .mn-variant__ersatz[hidden] {
	display: none;
}

body:not(#mn-design) .mn-ersatz__label {
	color: var(--mn-muted);
}

body:not(#mn-design) a.mn-ersatz__nr {
	color: var(--mn-accent);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
}

body:not(#mn-design) .mn-ersatz__lager {
	color: #1f7a4d;
	font-size: 12px;
	font-weight: 500;
}

body:not(#mn-design) .mn-ersatz__lager::before {
	content: "· ";
	color: var(--mn-muted);
}

body:not(#mn-design) .mn-ersatz__warum {
	display: block;
	color: var(--mn-muted);
}

body:not(#mn-design) .mn-variants .mn-variant.is-hervor {
	animation: mn-schnell-hervor 1.4s ease;
}

body:not(#mn-design) .mn-korb-ersatz {
	display: grid;
	gap: 6px;
	margin-block-start: 10px;
	padding: 12px 14px;
	border: 1px solid #f0dcb4;
	border-radius: var(--mn-radius, 12px);
	background: #fdf8ee;
	color: var(--mn-text);
	font-size: 13px;
	font-weight: 400;
	line-height: 1.5;
	white-space: normal;
}

body:not(#mn-design) .mn-korb-ersatz p {
	margin: 0;
}

body:not(#mn-design) .mn-korb-ersatz__kopf strong {
	color: #9a6a12;
}

body:not(#mn-design) .mn-korb-ersatz__aktionen {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-block-start: 4px;
}

body:not(#mn-design) a.mn-korb-ersatz__tauschen {
	min-block-size: 34px;
	padding: 6px 14px;
	font-size: 13px;
}

@media (max-width: 1024px) {
	body:not(#mn-design) .mn-variants .mn-variant__ersatz {
		order: 9;
		flex: 1 1 100%;
	}
}

/* Warenkorb: die Regeln für den Produktnamen-Link nicht auf das Ersatz-Feld übertragen. */
body:not(#mn-design) .elementor-widget-woocommerce-cart .cart .product-name .mn-korb-ersatz a {
	font-size: 13px;
}

body:not(#mn-design) .elementor-widget-woocommerce-cart .cart .product-name .mn-korb-ersatz a.mn-korb-ersatz__tauschen {
	color: #fff;
	text-decoration: none;
}

/* ===================================================================== *
 * Packungsinhalt und Preis je Faden (includes/packung.php)
 * ===================================================================== */

body:not(#mn-design) .mn-variant__packung {
	display: block;
	color: var(--mn-muted);
	font-size: 12px;
	font-weight: 500;
}

body:not(#mn-design) .mn-schnell__packung {
	color: var(--mn-muted);
	font-size: 12px;
}

/* ===================================================================== *
 * Anfrage für Konten in Prüfung (includes/anfrage.php)
 * ===================================================================== */

body:not(#mn-design) .woocommerce-MyAccount-navigation-link--anfrage a::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h12v18l-6-4-6 4z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h12v18l-6-4-6 4z'/%3E%3C/svg%3E");
}

body:not(#mn-design) button.mn-anfrage-knopf {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-block-size: 34px;
	margin: 0;
	padding: 4px 14px 4px 11px;
	border: 1px solid var(--mn-border);
	border-radius: 999px;
	background: #fff;
	color: var(--mn-accent);
	font: inherit;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
	cursor: pointer;
	transition: border-color .15s, background-color .15s, color .15s;
}

body:not(#mn-design) button.mn-anfrage-knopf:hover {
	border-color: var(--mn-accent);
	background: var(--mn-tint);
	color: var(--mn-accent);
}

body:not(#mn-design) button.mn-anfrage-knopf:focus-visible {
	outline: 2px solid var(--mn-accent);
	outline-offset: 2px;
}

body:not(#mn-design) button.mn-anfrage-knopf svg {
	inline-size: 15px;
	block-size: 15px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linejoin: round;
}

body:not(#mn-design) button.mn-anfrage-knopf[aria-pressed="true"] {
	border-color: var(--mn-accent);
	background: var(--mn-accent);
	color: #fff;
}

body:not(#mn-design) button.mn-anfrage-knopf[aria-pressed="true"] svg {
	fill: currentColor;
}

body:not(#mn-design) button.mn-anfrage-knopf.is-busy {
	opacity: .6;
	cursor: progress;
}

body:not(#mn-design) .mn-variant__anfrage {
	display: flex;
	justify-content: flex-end;
}

body:not(#mn-design) a.mn-anfrage-link {
	align-self: center;
	color: var(--mn-accent);
	font-size: 14px;
	font-weight: 600;
}

body:not(#mn-design) a.mn-anfrage-link[hidden] {
	display: none;
}

body:not(#mn-design) .woocommerce-MyAccount-content > form.mn-anfrage {
	display: grid;
	gap: 16px;
}

body:not(#mn-design) .mn-anfrage__zeile {
	grid-template-columns: minmax(0, 1fr) 130px 36px;
}

@media (max-width: 640px) {
	body:not(#mn-design) .woocommerce-MyAccount-content > form.mn-anfrage {
		padding: 16px;
	}

	body:not(#mn-design) .mn-anfrage__zeile {
		grid-template-columns: minmax(0, 1fr) 36px;
	}

	body:not(#mn-design) .mn-anfrage .mn-schnell__fuss .mn-product__btn {
		inline-size: 100%;
	}
}

body:not(#mn-design) .mn-anfrage__feld {
	display: grid;
	gap: 6px;
	margin: 0;
}

body:not(#mn-design) .mn-anfrage__feld label {
	color: var(--mn-text);
	font-size: 14px;
	font-weight: 600;
}

body:not(#mn-design) .mn-anfrage__feld textarea {
	inline-size: 100%;
	padding: 10px 12px;
	border: 1px solid var(--mn-border);
	border-radius: 10px;
	font: inherit;
	font-size: 14px;
}

body:not(#mn-design) .mn-anfrage__leer {
	margin: 0;
	color: var(--mn-muted);
}

@media (max-width: 1024px) {
	body:not(#mn-design) .mn-variants .mn-variant__anfrage {
		order: 8;
		flex: 1 1 100%;
		justify-content: flex-start;
	}
}

/* Hauptbereich um Elementor-Vorlagen (includes/barrierefreiheit.php):
   nur Ziel des Links „Zum Inhalt springen", ohne eigenes Aussehen. */
body:not(#mn-design) main.mn-main {
	display: block;
}

body:not(#mn-design) main.mn-main:focus {
	outline: none;
}

/* „Anmelden" statt Preis (b2b-registration): die globale Linkfarbe #1f99cf
   erreicht auf Weiß nur 3,2:1. */
body:not(#mn-design) .b2b-price-placeholder a {
	color: var(--mn-accent, #283583);
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* ===================================================================== *
 * Konto → Benachrichtigungen (includes/benachrichtigungen.php)
 * ===================================================================== */

body:not(#mn-design) .woocommerce-MyAccount-navigation-link--benachrichtigungen a::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 16V11a6 6 0 0 1 12 0v5l1.5 2h-15z'/%3E%3Cpath d='M10 20.5a2 2 0 0 0 4 0'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 16V11a6 6 0 0 1 12 0v5l1.5 2h-15z'/%3E%3Cpath d='M10 20.5a2 2 0 0 0 4 0'/%3E%3C/svg%3E");
}

body:not(#mn-design) .mn-hinweise__zeile {
	grid-template-columns: minmax(0, 1fr) auto auto;
}

body:not(#mn-design) .mn-hinweise__status {
	visibility: hidden;
	color: var(--mn-muted);
	font-size: 13px;
}

/* Entfernt: Zeile blass, Hinweis sichtbar, Knopf heißt „Rückgängig". */
body:not(#mn-design) .mn-hinweise__eintrag:has(.mn-hinweise__knopf[aria-pressed="false"]) .mn-sortiment__artikel {
	opacity: 0.45;
}

body:not(#mn-design) .mn-hinweise__eintrag:has(.mn-hinweise__knopf[aria-pressed="false"]) .mn-hinweise__status {
	visibility: visible;
}

body:not(#mn-design) button.mn-warten.mn-hinweise__knopf,
body:not(#mn-design) button.mn-warten.mn-hinweise__knopf:hover,
body:not(#mn-design) button.mn-warten.mn-hinweise__knopf:focus {
	min-block-size: 36px;
	padding: 6px 14px;
	border: 1px solid var(--mn-border);
	border-radius: 999px;
	background: #fff;
	color: var(--mn-text);
	font-size: 13px;
	font-weight: 500;
}

body:not(#mn-design) button.mn-warten.mn-hinweise__knopf:hover {
	border-color: rgba(179, 38, 30, 0.35);
	background: rgba(179, 38, 30, 0.06);
	color: #b3261e;
}

body:not(#mn-design) button.mn-warten.mn-hinweise__knopf[aria-pressed="false"],
body:not(#mn-design) button.mn-warten.mn-hinweise__knopf[aria-pressed="false"]:hover {
	border-color: var(--mn-accent);
	background: #fff;
	color: var(--mn-accent);
	font-weight: 600;
}

body:not(#mn-design) button.mn-warten.mn-hinweise__knopf[aria-pressed="false"]:hover {
	background: var(--mn-tint);
}

body:not(#mn-design) button.mn-warten.mn-hinweise__knopf.is-busy {
	opacity: 0.6;
	cursor: progress;
}

@media (max-width: 640px) {
	body:not(#mn-design) .mn-hinweise__zeile {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	body:not(#mn-design) .mn-hinweise__status {
		grid-column: 1;
		justify-self: start;
	}
}

/* ===================================================================== *
 * Wunschliste: Knopf „Merken" (includes/wunschliste.php)
 * ===================================================================== */

body:not(#mn-design) button.mn-wunsch,
body:not(#mn-design) button.mn-wunsch:hover,
body:not(#mn-design) button.mn-wunsch:focus {
	position: relative;
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	gap: 6px;
	box-sizing: border-box;
	inline-size: 40px;
	block-size: 40px;
	min-block-size: 0;
	margin: 0;
	padding: 0;
	border: 1px solid var(--mn-border);
	border-radius: var(--mn-radius);
	background: #fff;
	box-shadow: none;
	color: var(--mn-accent);
	font: inherit;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, opacity 0.2s ease;
}

body:not(#mn-design) button.mn-wunsch:hover {
	border-color: var(--mn-accent);
	background: var(--mn-tint);
}

body:not(#mn-design) button.mn-wunsch:focus-visible {
	outline: 2px solid var(--mn-accent);
	outline-offset: 2px;
}

body:not(#mn-design) button.mn-wunsch svg {
	flex: none;
	inline-size: 19px;
	block-size: 19px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
	transition: fill 0.2s ease;
}

/* Gemerkt: Herz gefüllt im Pink der „Neu"-Markierungen. */
body:not(#mn-design) button.mn-wunsch[aria-pressed="true"] {
	color: #f8438c;
}

body:not(#mn-design) button.mn-wunsch[aria-pressed="true"] svg {
	fill: currentColor;
}

body:not(#mn-design) button.mn-wunsch.is-busy {
	opacity: 0.6;
	pointer-events: none;
}

/* Mit Text: im Kasten „Ihre Ausführung" und bei einfachen Produkten. */
body:not(#mn-design) button.mn-wunsch.mn-wunsch--text {
	inline-size: auto;
	block-size: 32px;
	padding: 0 12px 0 10px;
	border-radius: 999px;
	font-size: 13px;
}

body:not(#mn-design) button.mn-wunsch.mn-wunsch--text svg {
	inline-size: 16px;
	block-size: 16px;
}

body:not(#mn-design) .mn-product__chosen-status button.mn-wunsch {
	margin-inline-start: auto;
}

body:not(#mn-design) button.mn-wunsch.mn-wunsch--produkt {
	align-self: flex-start;
}

/* Nur Herz: Tooltip wie beim Warenkorb-Knopf der Zeile. */
body:not(#mn-design) button.mn-wunsch[data-tip]::after {
	content: attr(data-tip);
	position: absolute;
	z-index: 5;
	inset-block-end: calc(100% + 8px);
	inset-inline-end: 0;
	padding: 6px 10px;
	border-radius: 8px;
	border: 1px solid rgba(var(--mn-accent-rgb, 40, 53, 131), 0.12);
	background: color-mix(in srgb, var(--mn-accent, #283583) 8%, #fbfcff);
	box-shadow: 0 6px 18px rgba(20, 24, 50, 0.12);
	color: var(--mn-accent);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
	opacity: 0;
	transform: translateY(4px);
	pointer-events: none;
	transition: opacity 0.16s ease, transform 0.16s ease;
}

body:not(#mn-design) button.mn-wunsch[data-tip]:is(:hover, :focus-visible)::after {
	opacity: 1;
	transform: none;
	transition-delay: 0.08s;
}

/* ===================================================================== *
 * Konto → Wunschliste (templates/wunschliste.php)
 * Zeilen wie Standardsortiment; Menge + Warenkorb wie in der Ausführungsliste.
 * ===================================================================== */

/* Artikel oben, Lager und Preis darunter; rechts Menge + Warenkorb und das Herz. */
body:not(#mn-design) .mn-wunschliste__zeile {
	grid-template-columns: minmax(0, 1fr) auto 40px;
}

body:not(#mn-design) .mn-wunschliste__zeile .mn-sortiment__artikel {
	grid-area: 1 / 1;
}

body:not(#mn-design) .mn-wunschliste__zeile .mn-schnell__meta {
	grid-area: 2 / 1;
}

body:not(#mn-design) .mn-wunschliste__kaufen,
body:not(#mn-design) .mn-wunschliste__status {
	grid-area: 1 / 2 / 3;
	justify-self: end;
}

body:not(#mn-design) .mn-wunschliste__zeile .mn-wunsch {
	grid-area: 1 / 3 / 3;
}

body:not(#mn-design) .mn-wunschliste__kaufen {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
}

body:not(#mn-design) .mn-wunschliste__kaufen .mn-sortiment__menge {
	inline-size: 130px;
}

/* Mengenwähler, Warenkorb und Herz gleich hoch (40px) wie in der Ausführungsliste. */
body:not(#mn-design) .mn-wunschliste .quantity.mn-stepper {
	block-size: 40px;
}

body:not(#mn-design) .mn-wunschliste .mn-stepper input.qty,
body:not(#mn-design) .mn-wunschliste .mn-stepper input.qty:hover,
body:not(#mn-design) .mn-wunschliste .mn-stepper input.qty:focus {
	block-size: 38px;
}

/* Ohne die Maße der Absende-Knöpfe im Konto. */
body:not(#mn-design) .woocommerce-MyAccount-content .mn-wunschliste form button.mn-variant__add {
	min-block-size: 0;
	margin: 0;
	padding: 0;
}

/* Das Wagen-Symbol bekommt seine Linien sonst vom Produktformular. */
body:not(#mn-design) .mn-wunschliste .mn-variant__add svg:not(.mn-added-icon) {
	fill: none;
	stroke: currentColor;
	stroke-width: 1.9;
	stroke-linecap: round;
	stroke-linejoin: round;
}

body:not(#mn-design) .mn-wunschliste__status {
	visibility: hidden;
	color: var(--mn-muted);
	font-size: 13px;
}

/* Heruntergenommen: Zeile blass, Hinweis statt Warenkorb, das Herz holt ihn zurück. */
body:not(#mn-design) .mn-wunschliste__eintrag:has(.mn-wunsch[aria-pressed="false"]) :is(.mn-sortiment__artikel, .mn-schnell__meta) {
	opacity: 0.45;
}

body:not(#mn-design) .mn-wunschliste__eintrag:has(.mn-wunsch[aria-pressed="false"]) .mn-wunschliste__kaufen {
	visibility: hidden;
}

body:not(#mn-design) .mn-wunschliste__eintrag:has(.mn-wunsch[aria-pressed="false"]) .mn-wunschliste__status {
	visibility: visible;
}

@media (max-width: 640px) {
	body:not(#mn-design) .mn-wunschliste__zeile .mn-sortiment__artikel,
	body:not(#mn-design) .mn-wunschliste__zeile .mn-schnell__meta {
		grid-column: 1 / -1;
	}

	body:not(#mn-design) .mn-wunschliste__kaufen,
	body:not(#mn-design) .mn-wunschliste__status {
		grid-area: 3 / 1 / 4 / 3;
		justify-self: start;
	}

	body:not(#mn-design) .mn-wunschliste__zeile .mn-wunsch {
		grid-area: 3 / 3;
	}
}

@media (prefers-reduced-motion: reduce) {
	body:not(#mn-design) button.mn-wunsch,
	body:not(#mn-design) button.mn-wunsch svg,
	body:not(#mn-design) button.mn-wunsch[data-tip]::after {
		transition: none;
	}
}


/* ==========================================================================
   Cookie-Hinweis (includes/cookie-hinweis.php, assets/js/cookie-hinweis.js)
   Karte unten links – rechts sitzen WhatsApp-Knopf und „Was ist neu".
   ========================================================================== */

body:not(#mn-design) .mn-cookies {
	position: fixed;
	bottom: 24px;
	left: 24px;
	z-index: 9995;
	box-sizing: border-box;
	inline-size: 420px;
	max-inline-size: calc(100vw - 32px);
	color: var(--mn-text);
	font-family: Inter, sans-serif;
	text-align: left;
}

body:not(#mn-design) .mn-cookies[hidden] {
	display: none;
}

body:not(#mn-design) .mn-cookies__karte {
	display: flex;
	flex-direction: column;
	gap: 14px;
	box-sizing: border-box;
	max-block-size: calc(100dvh - 48px);
	padding: 22px 22px 16px;
	overflow-y: auto;
	overscroll-behavior: contain;
	border: 1px solid #e3e5f0;
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 24px 60px rgba(var(--mn-accent-rgb, 40, 53, 131), 0.18);
	outline: none;
}

body:not(#mn-design) .mn-cookies__kopf {
	display: flex;
	align-items: center;
	gap: 12px;
}

body:not(#mn-design) .mn-cookies__symbol {
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	inline-size: 40px;
	block-size: 40px;
	border-radius: 12px;
	background: var(--mn-hell-1, #e5f2fa);
	color: var(--mn-accent);
}

body:not(#mn-design) .mn-cookies svg {
	inline-size: 22px;
	block-size: 22px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

body:not(#mn-design) .mn-cookies__titel {
	margin: 0;
	color: var(--mn-accent);
	font-family: "Bricolage Grotesque", sans-serif;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.15;
	letter-spacing: -0.01em;
}

body:not(#mn-design) .mn-cookies__text {
	margin: 0;
	font-size: 14px;
	line-height: 1.55;
}

body:not(#mn-design) .mn-cookies__aktionen {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

body:not(#mn-design) .mn-cookies__aktionen .mn-product__btn {
	flex: 1 1 140px;
	min-block-size: 46px;
	padding: 0 16px;
	font-size: 14px;
}

body:not(#mn-design) .mn-cookies__aktionen .mn-product__btn[hidden] {
	display: none;
}

body:not(#mn-design) .mn-cookies__fuss {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 4px 16px;
	padding-block-start: 12px;
	border-block-start: 1px solid var(--mn-border);
}

body:not(#mn-design) .mn-cookies__link,
body:not(#mn-design) .mn-cookies__link:visited {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	min-block-size: 32px;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
	color: var(--mn-muted);
	font-family: inherit;
	font-size: 13px;
	font-weight: 500;
	text-decoration: none;
	text-transform: none;
	letter-spacing: 0;
	cursor: pointer;
}

body:not(#mn-design) .mn-cookies__link:hover {
	background: none;
	color: var(--mn-accent);
	text-decoration: underline;
	text-underline-offset: 3px;
}

body:not(#mn-design) .mn-cookies__link:focus-visible {
	border-radius: 6px;
	outline: none;
	box-shadow: var(--mn-ring);
}

body:not(#mn-design) .mn-cookies__link svg {
	inline-size: 16px;
	block-size: 16px;
	transition: rotate 0.2s ease;
}

body:not(#mn-design) .mn-cookies.is-details .mn-cookies__link svg {
	rotate: 180deg;
}

/* Details: Kategorien mit Schalter und Cookie-Liste. */
body:not(#mn-design) .mn-cookies__details {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

body:not(#mn-design) .mn-cookies__details[hidden] {
	display: none;
}

body:not(#mn-design) .mn-cookies__kategorie {
	padding: 14px;
	border-radius: 14px;
	background: var(--mn-hell-3, #f5f6fc);
}

body:not(#mn-design) .mn-cookies__kategorie-kopf {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

body:not(#mn-design) .mn-cookies__kategorie-titel {
	color: var(--mn-accent);
	font-size: 15px;
	font-weight: 600;
}

body:not(#mn-design) .mn-cookies__immer {
	padding: 3px 10px;
	border-radius: 999px;
	background: #fff;
	color: var(--mn-muted);
	font-size: 12px;
	font-weight: 500;
}

body:not(#mn-design) .mn-cookies__kategorie-text {
	margin: 6px 0 0;
	color: var(--mn-muted);
	font-size: 13px;
	line-height: 1.5;
}

body:not(#mn-design) .mn-cookies__liste {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 10px 0 0;
	padding: 0;
	list-style: none;
}

body:not(#mn-design) .mn-cookies__liste:empty {
	display: none;
}

body:not(#mn-design) .mn-cookies__liste li {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 10px 12px;
	border-radius: 10px;
	background: #fff;
	font-size: 13px;
	line-height: 1.45;
}

body:not(#mn-design) .mn-cookies__liste code {
	color: var(--mn-accent);
	font-family: "Roboto Mono", ui-monospace, monospace;
	font-size: 12px;
	overflow-wrap: anywhere;
	background: none;
	padding: 0;
}

body:not(#mn-design) .mn-cookies__dauer {
	color: var(--mn-muted);
	font-size: 12px;
}

/* Schalter je Kategorie. */
body:not(#mn-design) .mn-cookies__schalter {
	position: relative;
	display: inline-flex;
	flex: none;
	cursor: pointer;
}

body:not(#mn-design) .mn-cookies__schalter input {
	position: absolute;
	inset: 0;
	margin: 0;
	opacity: 0;
	cursor: pointer;
}

body:not(#mn-design) .mn-cookies__schalter span {
	position: relative;
	inline-size: 44px;
	block-size: 26px;
	border-radius: 999px;
	background: var(--mn-border);
	transition: background-color 0.2s ease;
}

body:not(#mn-design) .mn-cookies__schalter span::after {
	content: "";
	position: absolute;
	top: 3px;
	left: 3px;
	inline-size: 20px;
	block-size: 20px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
	transition: translate 0.2s ease;
}

body:not(#mn-design) .mn-cookies__schalter input:checked + span {
	background: var(--mn-accent);
}

body:not(#mn-design) .mn-cookies__schalter input:checked + span::after {
	translate: 18px 0;
}

body:not(#mn-design) .mn-cookies__schalter input:focus-visible + span {
	box-shadow: var(--mn-ring);
}

/* Solange der Hinweis offen ist: nichts Schwebendes daneben. */
html.mn-cookies-offen body:not(#mn-design) :is(.e-contact-buttons, .mn-neu-karte, .mn-neu-liste, .mn-neu-pille) {
	visibility: hidden;
	opacity: 0;
}

@media (max-width: 640px) {
	body:not(#mn-design) .mn-cookies {
		right: 12px;
		bottom: 12px;
		left: 12px;
		inline-size: auto;
		max-inline-size: none;
	}

	body:not(#mn-design) .mn-cookies__karte {
		max-block-size: calc(100dvh - 24px);
		padding: 18px 18px 12px;
	}

	body:not(#mn-design) .mn-cookies__titel {
		font-size: 20px;
	}
}

@media (prefers-reduced-motion: reduce) {
	body:not(#mn-design) .mn-cookies__link svg,
	body:not(#mn-design) .mn-cookies__schalter span,
	body:not(#mn-design) .mn-cookies__schalter span::after {
		transition: none;
	}
}

/* Logo im Header (Vorlage 70): Elementor beschneidet es zwischen 768 und 1024 px
   per object-fit: cover – die Zeile „Medizinisches Nahtmaterial" fehlte dann unten. */
@media (min-width: 768px) and (max-width: 1024px) {
	body:not(#mn-design) .elementor-location-header .elementor-widget-image img[src*="mednaht_logo"] {
		object-fit: contain;
	}
}

/* Getippte Überschrift (assets/js/hero-tippen.js, CSS-Klasse „mn-tippen" am Widget).
   Erst blinkt der Cursor, dann erscheint der Text Zeichen für Zeichen. Noch nicht
   getippte Zeichen sind nur unsichtbar – Umbruch und Höhe bleiben stehen. */
html.mn-tippen-an body:not(#mn-design) .mn-tippen .elementor-heading-title {
	visibility: hidden;
}

body:not(#mn-design) .mn-tippen__laeuft .mn-tippen__z:not(.is-da) {
	visibility: hidden;
}

body:not(#mn-design) .mn-tippen__cursor {
	display: inline-block;
	position: relative;
	inline-size: 0;
	block-size: 1em;
	vertical-align: -0.12em;
	visibility: visible;
	transition: opacity 0.3s ease;
}

body:not(#mn-design) .mn-tippen__cursor::after {
	content: "";
	position: absolute;
	inset-block: 0;
	inset-inline-start: 0.04em;
	inline-size: 0.07em;
	min-inline-size: 2px;
	border-radius: 1px;
	background: var(--mn-accent, #283583);
	animation: mn-tippen-blinken 1.1s steps(1) infinite;
}

body:not(#mn-design) .mn-tippen__cursor.is-tippt::after {
	animation: none;
}

body:not(#mn-design) .mn-tippen__cursor.is-weg {
	opacity: 0;
}

@keyframes mn-tippen-blinken {
	50% {
		opacity: 0;
	}
}

/* ===================================================================== *
 * Standardsortiment auf der Startseite ([mednaht_sortiment_teaser],
 * includes/sortiment.php). Fliederverlauf wie der Kasten „Wir sind
 * persönlich für Sie da.", links Text, rechts das Video im Fenster.
 * ===================================================================== */

/* Ohne Kachel (angemeldet, aber noch nicht freigeschaltet) fällt der ganze Abschnitt weg. */
body:not(#mn-design) .elementor-element-mnsrt00:not(:has(.mn-sortiment-teaser)) {
	display: none;
}

body:not(#mn-design) .mn-sortiment-teaser {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
	align-items: center;
	gap: 56px;
	overflow: hidden;
	padding: 56px;
	border: 1px solid rgba(104, 86, 155, 0.22);
	border-radius: 24px;
	background:
		radial-gradient(circle at 78% 30%, rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0) 42%),
		linear-gradient(135deg, #ebe7f4 0%, #ddd5ec 55%, #d2c8e6 100%);
	color: var(--mn-text);
	font-family: Inter, sans-serif;
	isolation: isolate;
}

body:not(#mn-design) .mn-sortiment-teaser__text {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

body:not(#mn-design) .mn-sortiment-teaser .mn-werben-teaser__icon {
	margin-block-end: 24px;
	box-shadow: 0 10px 24px -14px rgba(104, 86, 155, 0.6);
}

body:not(#mn-design) .mn-sortiment-teaser .mn-sortiment-teaser__titel {
	margin: 0 0 16px;
	color: var(--mn-accent);
	font-family: "Bricolage Grotesque", sans-serif;
	font-size: clamp(28px, 2.6vw, 40px);
	font-weight: 600;
	line-height: 1.12;
	letter-spacing: -0.015em;
	text-wrap: balance;
}

body:not(#mn-design) .mn-sortiment-teaser .mn-sortiment-teaser__satz {
	margin: 0 0 28px;
	max-inline-size: 44ch;
	color: var(--mn-muted);
	font-size: 16px;
	line-height: 1.6;
}

body:not(#mn-design) .mn-sortiment-teaser .mn-sortiment-teaser__hinweis {
	margin: 12px 0 0;
	color: var(--mn-muted);
	font-size: 13px;
}

body:not(#mn-design) .mn-sortiment-teaser__video {
	margin: 0;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.7);
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 2px 4px rgba(104, 86, 155, 0.06), 0 40px 80px -36px rgba(var(--mn-accent-rgb, 40, 53, 131), 0.45);
	rotate: 1.2deg;
	transition: rotate 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

body:not(#mn-design) .mn-sortiment-teaser:hover .mn-sortiment-teaser__video {
	rotate: 0deg;
}

body:not(#mn-design) .mn-sortiment-teaser__video video {
	display: block;
	inline-size: 100%;
	block-size: auto;
	aspect-ratio: 1280 / 800;
}

@media (max-width: 1024px) {
	body:not(#mn-design) .mn-sortiment-teaser {
		grid-template-columns: minmax(0, 1fr);
		gap: 36px;
		padding: 40px;
	}
}

@media (max-width: 767px) {
	body:not(#mn-design) .mn-sortiment-teaser {
		gap: 28px;
		padding: 28px 20px 20px;
		border-radius: 18px;
	}

	body:not(#mn-design) .mn-sortiment-teaser__video {
		border-radius: 12px;
		rotate: 0deg;
	}
}

@media (prefers-reduced-motion: reduce) {
	body:not(#mn-design) .mn-sortiment-teaser__video {
		rotate: 0deg;
		transition: none;
	}
}

/* ===================================================================== *
 * Startseite, Kasten „Schnell gefunden. Einfach bestellt." (Elementor
 * 92191b7 in cce5830). Aufbau wie das Standardsortiment (Titel in
 * Bricolage, Anruf als Hauptknopf, WhatsApp und E-Mail weiß), aber in
 * Hellblau statt Flieder, weil der Flieder-Kasten direkt folgt. Damit
 * gibt es drei Kastenfarben: Flieder (Funktionen), Dunkelblau
 * (.mn-service__cta) und Hellblau (Kontakt).
 * Flach als eine Zeile: links Titel und Satz,
 * rechts die Knöpfe. Steht unter der Produkttabelle
 * (scripts/lib/setup-kontakt-unter-tabelle.php).
 * ===================================================================== */

body:not(#mn-design) .elementor-element-cce5830 {
	--border-radius: 24px;
}

body:not(#mn-design) .elementor-element-92191b7 {
	--border-radius: 24px;
	--margin-top: 50px;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-rows: auto auto;
	align-items: center;
	column-gap: 32px;
	row-gap: 0;
	overflow: hidden;
	padding: 32px 40px;
	border: 1px solid rgba(var(--mn-secondary-rgb, 31, 153, 207), 0.25);
	border-radius: 24px;
	background:
		radial-gradient(circle at 78% 30%, rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 42%),
		linear-gradient(135deg, #eef7fc 0%, #e0eff9 55%, #d3e7f5 100%);
	font-family: Inter, sans-serif;
}

body:not(#mn-design) .elementor-element-92191b7 > .elementor-element-02032a8 {
	grid-column: 1;
	grid-row: 1;
	align-self: end;
	inline-size: auto;
	margin: 0;
}

body:not(#mn-design) .elementor-element-02032a8 .elementor-heading-title {
	margin: 0 0 4px;
	color: var(--mn-accent);
	font-family: "Bricolage Grotesque", sans-serif;
	font-size: clamp(22px, 1.9vw, 28px);
	font-weight: 600;
	line-height: 1.15;
	letter-spacing: -0.015em;
	text-wrap: balance;
}

body:not(#mn-design) .elementor-element-92191b7 > .elementor-element-8faeee8 {
	grid-column: 1;
	grid-row: 2;
	align-self: start;
	inline-size: auto;
	margin: 0;
	color: var(--mn-muted);
	font-family: Inter, sans-serif;
	font-size: 15px;
	line-height: 1.5;
}

body:not(#mn-design) .elementor-element-8faeee8 b {
	color: var(--mn-accent);
	font-weight: 600;
}

body:not(#mn-design) .elementor-element-92191b7 > .elementor-element-722dbe8 {
	--gap: 12px;
	--row-gap: 12px;
	--column-gap: 12px;
	grid-column: 2;
	grid-row: 1 / span 2;
	inline-size: auto;
	flex-wrap: nowrap;
}

/* Knöpfe wie .mn-product__btn: weiß mit hellblauem Rahmen, der Anruf gefüllt. */
body:not(#mn-design) .elementor-element-722dbe8 .elementor-button {
	display: inline-flex;
	align-items: center;
	box-sizing: border-box;
	min-block-size: 48px;
	padding: 0 20px;
	border: 1px solid rgba(var(--mn-secondary-rgb, 31, 153, 207), 0.3);
	border-radius: var(--mn-radius);
	background: #fff;
	box-shadow: none;
	color: var(--mn-accent);
	fill: currentColor;
	font-family: Inter, sans-serif;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

body:not(#mn-design) .elementor-element-722dbe8 .elementor-button:hover,
body:not(#mn-design) .elementor-element-722dbe8 .elementor-button:focus {
	border-color: rgba(var(--mn-secondary-rgb, 31, 153, 207), 0.6);
	background: #f2f9fd;
	color: var(--mn-accent);
}

body:not(#mn-design) .elementor-element-034a7e1 .elementor-button,
body:not(#mn-design) .elementor-element-034a7e1 .elementor-button:visited {
	border-color: var(--mn-accent);
	background: var(--mn-accent);
	color: #fff;
}

body:not(#mn-design) .elementor-element-034a7e1 .elementor-button:hover,
body:not(#mn-design) .elementor-element-034a7e1 .elementor-button:focus {
	border-color: var(--mn-accent-hover);
	background: var(--mn-accent-hover);
	color: #fff;
}

body:not(#mn-design) .elementor-element-722dbe8 .elementor-button:focus-visible {
	outline: 2px solid var(--mn-accent);
	outline-offset: 2px;
}

body:not(#mn-design) .elementor-element-722dbe8 .elementor-button svg {
	inline-size: 16px;
	block-size: 16px;
	fill: currentColor;
}

/* Zu schmal für eine Zeile: Knöpfe unter den Text. */
@media (max-width: 1199px) {
	body:not(#mn-design) .elementor-element-92191b7 {
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: auto auto auto;
	}

	body:not(#mn-design) .elementor-element-92191b7 > .elementor-element-722dbe8 {
		grid-column: 1;
		grid-row: 3;
		margin-block-start: 20px;
		flex-wrap: wrap;
	}
}

@media (max-width: 767px) {
	body:not(#mn-design) .elementor-element-92191b7 {
		--margin-top: 24px;
		padding: 24px 20px;
		border-radius: 18px;
	}

	body:not(#mn-design) .elementor-element-722dbe8 .elementor-button {
		inline-size: 100%;
		justify-content: center;
	}

	body:not(#mn-design) .elementor-element-722dbe8 > .elementor-widget-button {
		inline-size: 100%;
	}
}
