/* emotioncards Shop-Design
 * Feinschliff, der sich in Elementor nicht einstellen laesst. Farben und
 * Schrift kommen ausschliesslich aus den globalen Kit-Variablen:
 *   primary = Schwarz, secondary = Weiss, text = Hellgrau (#E2E2E2 als Linie),
 *   accent = Sand, b1ded45 = Braun, ef3e70d = Dunkelbraun, 512ab0b = Mittelbraun.
 * Radien: Pille 50px fuer Bedienelemente, 10px fuer Bilder und Flaechen,
 * wie auf der Startseite.
 *
 * Die Variablen haengen bewusst am body: Elementor definiert seine Kit-Variablen
 * auf body.elementor-kit-XXXX, auf :root sind sie unbekannt und jede Ableitung
 * waere ungueltig. */

body {
	--emc-schwarz: var(--e-global-color-primary);
	--emc-weiss: var(--e-global-color-secondary);
	--emc-linie: var(--e-global-color-text);
	--emc-sand: var(--e-global-color-accent);
	--emc-braun: var(--e-global-color-b1ded45);
	--emc-dunkel: var(--e-global-color-ef3e70d);
	--emc-mittel: var(--e-global-color-512ab0b);
	--emc-schrift: var(--e-global-typography-text-font-family, "Montserrat"), sans-serif;
	--emc-radius: 10px;
	--emc-pille: 50px;
	--emc-wechsel: .25s ease;
}

/* ---------- Brotkrumen ------------------------------------------------- */
.elementor-widget.emc-breadcrumb .woocommerce-breadcrumb,
.woocommerce .elementor-widget.emc-breadcrumb .woocommerce-breadcrumb {
	margin: 0;
	font-family: var(--emc-schrift);
	font-size: 13px;
	line-height: 1.5;
	color: var(--emc-braun);
}
.elementor-widget.emc-breadcrumb .woocommerce-breadcrumb a {
	color: var(--emc-braun);
	text-decoration: none;
	transition: color var(--emc-wechsel);
}
.elementor-widget.emc-breadcrumb .woocommerce-breadcrumb a:hover { color: var(--emc-schwarz); }

/* ---------- Kaufbox: Kurztext ------------------------------------------ */
.elementor-widget.emc-kurztext p { margin: 0 0 10px; line-height: 1.7; }
.elementor-widget.emc-kurztext p:last-child { margin-bottom: 0; }

/* ---------- Kaufbox: Variationen (kein grauer Kasten mehr) ------------- */
/* Das Theme (hello-elementor reset.css) faerbt jede ungerade Tabellenzeile
 * grau und rahmt Zellen ein. Fuer die Variationsauswahl heben wir das auf
 * und stellen Label und Auswahl untereinander. */
.woocommerce .elementor-widget.emc-warenkorb form.cart table.variations,
.woocommerce .elementor-widget.emc-warenkorb form.cart table.variations tbody,
.woocommerce .elementor-widget.emc-warenkorb form.cart table.variations tr,
.woocommerce .elementor-widget.emc-warenkorb form.cart table.variations th,
.woocommerce .elementor-widget.emc-warenkorb form.cart table.variations td {
	display: block;
	width: 100%;
	border: 0;
	background: transparent !important;
	padding: 0;
	margin: 0;
	line-height: 1.4;
	font-size: inherit;
}
.woocommerce .elementor-widget.emc-warenkorb form.cart table.variations { margin: 0 0 20px; }
.woocommerce .elementor-widget.emc-warenkorb form.cart table.variations tr + tr { margin-top: 15px; }
.woocommerce .elementor-widget.emc-warenkorb form.cart table.variations th.label { padding-bottom: 8px; text-align: left; }
.woocommerce .elementor-widget.emc-warenkorb form.cart table.variations td.value { text-align: left; }
.woocommerce .elementor-widget.emc-warenkorb form.cart table.variations th.label label { cursor: default; }
.woocommerce .elementor-widget.emc-warenkorb form.cart table.variations td.value { position: relative; }
.woocommerce .elementor-widget.emc-warenkorb form.cart table.variations td.value select {
	display: block;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	height: 52px !important;
	margin: 0 !important;
	padding: 0 48px 0 20px !important;
	font-family: var(--emc-schrift);
	font-size: 16px !important;
	color: var(--emc-schwarz) !important;
	background-color: var(--emc-weiss) !important;
	background-image: none !important;
	border: 1px solid var(--emc-linie) !important;
	border-radius: var(--emc-pille) !important;
	appearance: none;
	-webkit-appearance: none;
	cursor: pointer;
	transition: border-color var(--emc-wechsel), box-shadow var(--emc-wechsel);
}
.woocommerce .elementor-widget.emc-warenkorb form.cart table.variations td.value select:hover { border-color: var(--emc-braun) !important; }
.woocommerce .elementor-widget.emc-warenkorb form.cart table.variations td.value select:focus {
	outline: none;
	border-color: var(--emc-braun) !important;
	box-shadow: 0 0 0 3px var(--emc-sand);
}
/* Pfeil rechts in der Auswahl, gezeichnet mit Kit-Farbe statt Grafik */
.woocommerce .elementor-widget.emc-warenkorb form.cart table.variations td.value::before {
	content: "";
	position: absolute;
	right: 22px;
	top: 20px;
	width: 8px;
	height: 8px;
	border-right: 1.5px solid var(--emc-braun);
	border-bottom: 1.5px solid var(--emc-braun);
	transform: rotate(45deg);
	pointer-events: none;
}
.woocommerce .elementor-widget.emc-warenkorb form.cart .reset_variations {
	display: inline-block;
	margin-top: 8px;
	font-size: 13px;
	color: var(--emc-braun);
	text-decoration: none;
}
.woocommerce .elementor-widget.emc-warenkorb form.cart .reset_variations:hover { color: var(--emc-schwarz); }
.woocommerce .elementor-widget.emc-warenkorb form.cart .single_variation_wrap .woocommerce-variation { margin: 0 0 15px; }
.woocommerce .elementor-widget.emc-warenkorb form.cart .woocommerce-variation-price .price {
	font-family: var(--emc-schrift);
	font-size: 18px;
	font-weight: 600;
	color: var(--emc-schwarz);
}
.woocommerce .elementor-widget.emc-warenkorb form.cart .woocommerce-variation-availability p { margin: 5px 0 0; font-size: 14px; }
.woocommerce .elementor-widget.emc-warenkorb form.cart { margin: 0; }

/* ---------- Kaufbox: Menge und Button ---------------------------------- */
/* Elementor packt Menge und Button in .e-atc-qty-button-holder; der Abstand
 * muss dort sitzen, sonst kleben beide aneinander. */
.woocommerce .elementor-widget.emc-warenkorb form.cart .e-atc-qty-button-holder,
.woocommerce .elementor-widget.emc-warenkorb form.cart .woocommerce-variation-add-to-cart,
.woocommerce .elementor-widget.emc-warenkorb form.cart:not(.variations_form):not(.grouped_form) {
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	gap: 0;
}
.woocommerce .elementor-widget.emc-warenkorb form.cart .button.single_add_to_cart_button {
	flex: 1 1 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	margin: 0 0 0 15px !important;
	white-space: nowrap;
	transition: background-color var(--emc-wechsel), color var(--emc-wechsel), border-color var(--emc-wechsel);
}
.woocommerce .elementor-widget.emc-warenkorb form.cart .button.single_add_to_cart_button.loading { opacity: .7; }
.woocommerce .elementor-widget.emc-warenkorb form.cart .button.single_add_to_cart_button::after { top: auto; }

/* Mengenfeld: ohne JavaScript ein schlichtes Pillenfeld ... */
.woocommerce .elementor-widget.emc-warenkorb form.cart div.quantity { float: none; margin: 0; }
.woocommerce .elementor-widget.emc-warenkorb form.cart div.quantity input.qty {
	height: 52px;
	min-width: 72px;
	text-align: center;
	font-family: var(--emc-schrift);
	font-size: 16px;
	color: var(--emc-schwarz);
	background: var(--emc-weiss);
}
/* ... mit JavaScript ein Mengenwaehler mit Minus und Plus. */
.quantity.emc-stepper {
	display: inline-flex;
	align-items: center;
	height: 52px;
	background: var(--emc-weiss);
	border: 1px solid var(--emc-linie);
	border-radius: var(--emc-pille);
	overflow: hidden;
	transition: border-color var(--emc-wechsel);
}
.quantity.emc-stepper:focus-within { border-color: var(--emc-braun); }
.quantity.emc-stepper input.qty,
.woocommerce .quantity.emc-stepper input.qty,
.woocommerce .elementor-widget.emc-warenkorb form.cart div.quantity.emc-stepper input.qty {
	width: 48px !important;
	min-width: 0;
	height: 100% !important;
	margin: 0;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
	text-align: center;
	font-family: var(--emc-schrift);
	font-size: 16px;
	color: var(--emc-schwarz);
	-moz-appearance: textfield;
	appearance: textfield;
}
.quantity.emc-stepper input.qty::-webkit-outer-spin-button,
.quantity.emc-stepper input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.emc-qty-taste,
.woocommerce .elementor-widget.emc-warenkorb form.cart .quantity button.emc-qty-taste,
.woocommerce .quantity button.emc-qty-taste {
	flex: 0 0 44px !important;
	width: 44px !important;
	min-width: 0 !important;
	height: 100% !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
	color: var(--emc-schwarz) !important;
	font-family: var(--emc-schrift) !important;
	font-size: 20px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background-color var(--emc-wechsel), color var(--emc-wechsel);
}
.woocommerce .quantity button.emc-qty-taste:hover { background: var(--emc-sand) !important; }
.emc-qty-taste:focus-visible { outline: 2px solid var(--emc-braun); outline-offset: -2px; }

/* Link "Warenkorb anzeigen", der nach dem Hinzufuegen erscheint */
.woocommerce .elementor-widget.emc-warenkorb .added_to_cart {
	display: inline-block;
	margin-top: 12px;
	font-size: 14px;
	color: var(--emc-braun);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* ---------- Kaufbox: Vorteile ------------------------------------------ */
.elementor-widget.emc-usp .elementor-icon-list-item { font-size: 14px; }
.elementor-widget.emc-usp .elementor-icon-list-icon { color: var(--emc-braun); }

/* ---------- Produktdetails als Tabelle --------------------------------- */
.elementor-widget.emc-produktdetails .elementor-widget-container {
	font-size: 15px;
	line-height: 1.7;
}
.elementor-widget.emc-produktdetails h2,
.elementor-widget.emc-produktdetails h3,
.elementor-widget.emc-produktdetails h4 {
	margin: 25px 0 10px;
	font-family: var(--emc-schrift);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--emc-braun);
}
.elementor-widget.emc-produktdetails > .elementor-widget-container > :first-child { margin-top: 0; }
.elementor-widget.emc-produktdetails p { margin: 0 0 15px; }
.elementor-widget.emc-produktdetails p:last-child { margin-bottom: 0; }
.elementor-widget.emc-produktdetails ul,
.elementor-widget.emc-produktdetails ol {
	list-style: none;
	margin: 0 0 15px;
	padding: 0;
	border-top: 1px solid var(--emc-linie);
}
.elementor-widget.emc-produktdetails ul li,
.elementor-widget.emc-produktdetails ol li {
	margin: 0;
	padding: 10px 0;
	border-bottom: 1px solid var(--emc-linie);
}
/* Zeilen der Form "<strong>Format:</strong> 115 x 170 mm" werden zur Tabelle */
.elementor-widget.emc-produktdetails ul li:has(> strong:first-child) {
	display: grid;
	grid-template-columns: minmax(120px, 36%) 1fr;
	gap: 15px;
}
.elementor-widget.emc-produktdetails ul li > strong:first-child {
	font-weight: 500;
	color: var(--emc-braun);
}

/* ---------- Bildergalerie ---------------------------------------------- */
/* Elementor Pro rahmt die Produktseite nicht in div.product ein, deshalb
 * fehlen WooCommerces Galerie-Regeln. Das Zoom-Bild (1600 px, absolut
 * positioniert) lief am Handy nach rechts ueber die Seite hinaus. */
.elementor-widget-woocommerce-product-images .woocommerce-product-gallery__image,
.elementor-widget-woocommerce-product-images .woocommerce-product-gallery__wrapper {
	position: relative;
	overflow: hidden;
}
.elementor-widget-woocommerce-product-images .woocommerce-product-gallery__wrapper .zoomImg { opacity: 0; }
/* Auf Touch-Geraeten gibt es keinen Hover-Zoom, das Bild bleibt weg. */
@media (hover: none) {
	.elementor-widget-woocommerce-product-images .zoomImg { display: none !important; }
}
.elementor-widget-woocommerce-product-images .woocommerce-product-gallery .flex-control-thumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 10px;
}
.elementor-widget-woocommerce-product-images .woocommerce-product-gallery .flex-control-thumbs li {
	float: none;
	width: calc((100% - 30px) / 4) !important;
	margin: 0;
	padding: 0 !important;
}
.elementor-widget-woocommerce-product-images .woocommerce-product-gallery .flex-control-thumbs li img {
	display: block;
	width: 100%;
	border-radius: 6px;
}
.elementor-widget-woocommerce-product-images .woocommerce-product-gallery .flex-control-thumbs li img {
	opacity: .5;
	transition: opacity var(--emc-wechsel);
}
.elementor-widget-woocommerce-product-images .woocommerce-product-gallery .flex-control-thumbs li img.flex-active,
.elementor-widget-woocommerce-product-images .woocommerce-product-gallery .flex-control-thumbs li img:hover { opacity: 1; }
.elementor-widget-woocommerce-product-images .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
	background: var(--emc-weiss);
	box-shadow: 0 2px 10px rgba(0, 0, 0, .12);
}

/* ---------- Produktraster (Archiv, Kategorieseiten, Empfehlungen) ------- */
.elementor-wc-products ul.products li.product,
.elementor-products-grid ul.products li.product {
	position: relative;
	transition: transform .3s ease;
}
.elementor-wc-products ul.products li.product img,
.elementor-products-grid ul.products li.product img {
	border-radius: var(--emc-radius);
	transition: box-shadow .3s ease, transform .3s ease;
}
.elementor-wc-products ul.products li.product:hover img,
.elementor-products-grid ul.products li.product:hover img {
	transform: translateY(-4px);
	box-shadow: 0 16px 30px -14px rgba(0, 0, 0, .3);
}
.elementor-wc-products ul.products li.product .woocommerce-loop-product__title,
.elementor-products-grid ul.products li.product .woocommerce-loop-product__title {
	line-height: 1.35;
	transition: color var(--emc-wechsel);
}
.elementor-wc-products ul.products li.product:hover .woocommerce-loop-product__title,
.elementor-products-grid ul.products li.product:hover .woocommerce-loop-product__title { color: var(--emc-braun); }
.elementor-wc-products ul.products li.product a,
.elementor-products-grid ul.products li.product a { text-decoration: none; }
.elementor-wc-products ul.products li.product .button,
.elementor-products-grid ul.products li.product .button {
	transition: background-color var(--emc-wechsel), color var(--emc-wechsel);
}

/* Sortierung ueber dem Raster als Pille */
.woocommerce .woocommerce-ordering {
	position: relative;
	margin: 0 0 25px;
}
.woocommerce .woocommerce-ordering select {
	appearance: none !important;
	-webkit-appearance: none !important;
	margin: 0;
	padding: 0 44px 0 18px !important;
	height: 44px !important;
	font-family: var(--emc-schrift);
	font-size: 14px;
	color: var(--emc-schwarz);
	background: var(--emc-weiss) !important;
	border: 1px solid var(--emc-linie) !important;
	border-radius: var(--emc-pille) !important;
	cursor: pointer;
	transition: border-color var(--emc-wechsel);
}
.woocommerce .woocommerce-ordering select:hover,
.woocommerce .woocommerce-ordering select:focus { border-color: var(--emc-braun); outline: none; }
.woocommerce .woocommerce-ordering::after {
	content: "";
	position: absolute;
	right: 19px;
	top: 16px;
	width: 7px;
	height: 7px;
	border-right: 1.5px solid var(--emc-braun);
	border-bottom: 1.5px solid var(--emc-braun);
	transform: rotate(45deg);
	pointer-events: none;
}

/* Seitenzahlen */
.woocommerce nav.woocommerce-pagination ul.page-numbers {
	display: inline-flex;
	gap: 6px;
	border: 0;
	margin: 0;
}
.woocommerce nav.woocommerce-pagination ul.page-numbers li { border: 0; }
.woocommerce nav.woocommerce-pagination ul.page-numbers li a,
.woocommerce nav.woocommerce-pagination ul.page-numbers li span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 42px;
	padding: 0 14px;
	border-radius: var(--emc-pille);
	font-family: var(--emc-schrift);
	line-height: 1;
	transition: background-color var(--emc-wechsel), color var(--emc-wechsel);
}

/* ---------- Hinweise (in den Warenkorb gelegt, Fehler) ---------------- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	background: var(--emc-sand);
	color: var(--emc-schwarz);
	border: 0;
	border-radius: var(--emc-radius);
	padding: 15px 20px 15px 50px;
	font-family: var(--emc-schrift);
}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before { color: var(--emc-braun); top: 15px; left: 20px; }
.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button {
	background: var(--emc-dunkel);
	color: var(--emc-weiss);
	border-radius: var(--emc-pille);
	padding: 8px 18px;
	font-weight: 400;
	transition: background-color var(--emc-wechsel);
}
.woocommerce-message .button:hover,
.woocommerce-info .button:hover,
.woocommerce-error .button:hover { background: var(--emc-braun); color: var(--emc-weiss); }

/* ---------- Tastatur-Fokus sichtbar, aber ruhig ------------------------ */
.woocommerce :is(a, button, select, input):focus-visible {
	outline: 2px solid var(--emc-braun);
	outline-offset: 2px;
}

/* Trenner in den Brotkrumen */
.elementor-widget.emc-breadcrumb .emc-breadcrumb-trenner { margin: 0 8px; opacity: .6; }

/* ---------- Tablet und Handy (Audit 05.09.2026) ------------------------ */
/* Galerie: nichts darf breiter als die Seite werden, auch nicht der Slider
 * vor seiner Initialisierung. */
.elementor-widget-woocommerce-product-images .woocommerce-product-gallery { overflow: hidden; }
/* Seitenzahlen umbrechen statt ueber den Rand zu laufen (Alle Karten: 15 Seiten) */
.woocommerce nav.woocommerce-pagination ul.page-numbers {
	flex-wrap: wrap;
	justify-content: center;
	row-gap: 6px;
}
/* Lange Links (Datenschutz, Cookie-Richtlinie) brechen um statt zu ueberlaufen */
.elementor-widget-container a,
.elementor-widget-container span,
.elementor-widget-container li,
.elementor-widget-container p,
.cmplz-document,
.cmplz-document * {
	overflow-wrap: anywhere;
}

/* Bis 768 px setzt woocommerce-smallscreen.css jede Kachel auf 48 % Breite
 * und float:left. Elementors Raster ist bereits zweispaltig, dadurch waren
 * die Kategoriekacheln nur halb so breit wie ihre Spalte. */
@media (max-width: 768px) {
	.elementor-widget-wc-categories ul.products li.product,
	.elementor-widget-wc-categories ul.products li.product-category,
	.elementor-wc-products ul.products li.product,
	.elementor-products-grid ul.products li.product {
		width: auto !important;
		float: none !important;
		margin: 0 !important;
	}
	.elementor-widget-wc-categories ul.products li.product img { width: 100%; }
}
/* Handy: Produktkarten kompakter, Preis in einer Zeile, Buttons kleiner */
@media (max-width: 767px) {
	.elementor-wc-products ul.products,
	.elementor-products-grid ul.products { --grid-column-gap: 15px; }
	.elementor-wc-products ul.products li.product .woocommerce-loop-product__title,
	.elementor-products-grid ul.products li.product .woocommerce-loop-product__title {
		font-size: 14px !important;
		line-height: 1.3;
	}
	.elementor-wc-products ul.products li.product .price,
	.elementor-products-grid ul.products li.product .price {
		font-size: 14px !important;
		white-space: nowrap;
	}
	.elementor-wc-products ul.products li.product .button,
	.elementor-products-grid ul.products li.product .button {
		font-size: 14px !important;
		padding: 9px 16px !important;
	}
}

/* Brotkrumen: umbrechen statt in einer Zeile ueber den Rand zu laufen
 * (Produktnamen sind lang); am Handy etwas kleiner. */
.elementor-widget.emc-breadcrumb .woocommerce-breadcrumb {
	white-space: normal;
	overflow-wrap: anywhere;
}
@media (max-width: 767px) {
	.elementor-widget.emc-breadcrumb .woocommerce-breadcrumb { font-size: 12px; line-height: 1.6; }
}

/* ---------- Gewaehrleistungshinweis (Tivaos-Plugin) ------------------- */
/* Der Knopf "Hinweis anzeigen" hat im Plugin 6 px linken Rand fuer den Fall,
 * dass er neben dem Text steht. In der Kaufbox bricht er fast immer um und
 * stand dann eingerueckt. Jetzt immer auf eigener Zeile, buendig mit dem Text.
 * body davor: gleiche Spezifitaet wie das Plugin reicht nicht, dessen Regeln
 * stehen inline im Kopf hinter unserem Stylesheet. */
body .tv-gewaehr a.tv-gewaehr__knopf {
	display: table;
	margin: 8px 0 0 0;
}

/* ======================================================================
 * Feinschliff 09.10.2026 (tivaos-webdesign, Richtung „Look bleibt“)
 * Manifest: Farben, Montserrat, Pillen-Buttons und 10-px-Radien bleiben.
 * Ziel: ruhigere Produktkarten mit Preis und Knopf auf einer Linie, bessere
 * Lesbarkeit (Zeilenhoehe mind. 1,4, Handy-Text 15 bis 16 px) und Touch-
 * Ziele nach WCAG 2.2 (mind. 24 px, Knöpfe 44 px). Gemessen mit den Regeln
 * von tivaos-seitencheck, Befunde im README.
 * ====================================================================== */

/* Produktkarten: gleiche Hoehe je Reihe, Preis und Knopf unten buendig */
.elementor-wc-products ul.products li.product,
.elementor-products-grid ul.products li.product {
	display: flex;
	flex-direction: column;
}
.elementor-wc-products ul.products li.product > a.woocommerce-LoopProduct-link,
.elementor-products-grid ul.products li.product > a.woocommerce-LoopProduct-link {
	display: flex !important;
	flex-direction: column;
	flex: 1 1 auto;
}
.elementor-wc-products ul.products li.product .woocommerce-loop-product__title,
.elementor-products-grid ul.products li.product .woocommerce-loop-product__title {
	font-size: 15px !important;
	font-weight: 500 !important;
	line-height: 1.45 !important;
	color: var(--emc-dunkel);
	padding: 12px 0 4px !important;
	margin: 0 0 8px !important;
}
.elementor-wc-products ul.products li.product .price,
.elementor-products-grid ul.products li.product .price {
	margin-top: auto !important;
	font-weight: 600;
	color: var(--emc-dunkel) !important;
}
.elementor-wc-products ul.products li.product .button,
.elementor-products-grid ul.products li.product .button {
	align-self: flex-start;
	display: inline-flex !important;
	align-items: center;
	min-height: 44px;
	padding: 0 22px !important;
	line-height: 1.2 !important;
}

/* Einheitliches Bildformat im Raster (einzelne Mockups sind nicht ganz quadratisch) */
.elementor-wc-products ul.products li.product a img,
.elementor-products-grid ul.products li.product a img {
	aspect-ratio: 1 / 1;
	object-fit: cover;
	width: 100%;
	height: auto;
}

/* Bedienelemente groesser antippbar, ohne das Layout zu verschieben
 * (Innenabstand plus gleich grosser negativer Aussenabstand). */
.e-n-menu-toggle {
	padding: 11px !important;
	margin: -11px !important;
	box-sizing: content-box;
}
.elementor-widget-woocommerce-product-images .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
	width: 44px !important;
	height: 44px !important;
	z-index: 3 !important;   /* WooCommerce setzt 99, damit lag die Lupe ueber dem aufgeklappten Menue */
}
/* Die Lupe ist aus ::before (Glas) und ::after (Griff) gezeichnet, ausgerichtet
 * auf den alten 36-px-Kreis. Fuer 44 px um 4 px nach rechts unten verschoben,
 * damit sie mittig sitzt. */
.elementor-widget-woocommerce-product-images .woocommerce-product-gallery .woocommerce-product-gallery__trigger::before {
	top: 13px !important;
	left: 13px !important;
}
.elementor-widget-woocommerce-product-images .woocommerce-product-gallery .woocommerce-product-gallery__trigger::after {
	top: 23px !important;
	left: 26px !important;
}
.woocommerce nav.woocommerce-pagination ul.page-numbers li a,
.woocommerce nav.woocommerce-pagination ul.page-numbers li span {
	min-width: 44px;
	height: 44px;
}
#form-field-zustimmung { width: 20px; height: 20px; }

/* Kachel- und Produkttitel: an Silbengrenzen trennen statt mitten im Wort
 * („Weihnachtskarte-n“ am Handy). Die Regel overflow-wrap:anywhere vom
 * 05.09. gilt fuer lange Links und wurde hier ueber das li vererbt. */
ul.products li.product :is(.woocommerce-loop-category__title, .woocommerce-loop-product__title),
ul.products li.product :is(.woocommerce-loop-category__title, .woocommerce-loop-product__title) * {
	overflow-wrap: break-word;
	-webkit-hyphens: auto;
	hyphens: auto;
}

/* Lesbarkeit */
/* Produktdetails 16 px auf allen Geraeten (vorher 15 px), max. 68 Zeichen */
.elementor-widget.emc-produktdetails p,
.elementor-widget.emc-produktdetails li { font-size: 16px !important; line-height: 1.65; }
.elementor-widget.emc-produktdetails p { max-width: 68ch; }
/* WooCommerce-Bloecke (Warenkorb, Kasse, Empfehlungen) fielen auf die Systemschrift zurueck */
.wc-block-components-root,
.wc-block-grid,
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout { font-family: var(--emc-schrift); }
.elementor-element.elementor-element-7ca2325 p { max-width: 68ch; }   /* Startseite: „Unsere Karten sind größer …“ */
body .elementor-element.elementor-element-52551ae .elementor-heading-title,
body .elementor-element.elementor-element-52551ae .elementor-heading-title a { font-size: 13px !important; }   /* Footer-Credit, vorher 11 px; Farbe bleibt hell, er steht auf Schwarz */

/* Warenkorb und Kasse: Raster „Neu im Shop“ ragte 8 px ueber den Rand */
body.woocommerce-cart .wc-block-grid__products,
body.woocommerce-checkout .wc-block-grid__products { margin-left: 0; margin-right: 0; }
body .wc-block-grid .wc-block-grid__product .wc-block-grid__product-title { font-size: 15px; line-height: 1.45; }

@media (max-width: 767px) {
	/* Codex-Review: Titel 16 px (Tivaos-Mindestwert am Handy), Knopf volle
	 * Breite und einzeilig, damit „Ausführung wählen“ nicht umbricht. */
	.elementor-wc-products ul.products li.product .woocommerce-loop-product__title,
	.elementor-products-grid ul.products li.product .woocommerce-loop-product__title {
		font-size: 16px !important;
		line-height: 1.4 !important;
	}
	.elementor-wc-products ul.products li.product .woocommerce-loop-product__buttons,
	.elementor-products-grid ul.products li.product .woocommerce-loop-product__buttons { display: flex; }
	.elementor-wc-products ul.products li.product .button,
	.elementor-products-grid ul.products li.product .button {
		flex: 1 1 auto;
		align-self: stretch;
		justify-content: center;
		white-space: nowrap;
		padding: 0 8px !important;
	}
	.woocommerce-cart .wp-block-woocommerce-empty-cart-block { padding-left: 5px; padding-right: 5px; }
	/* Konto und Warenkorb im Header: Elementor setzt dort padding:0 !important
	 * mit Spezifitaet 0,4,0, deshalb hier 0,4,2. */
	body [data-elementor-type="header"] .elementor-element.elementor-widget-icon a.elementor-icon { padding: 10px !important; margin: -10px !important; box-sizing: content-box; }
	.elementor-widget.emc-eyebrow a { display: inline-block; padding: 6px 0; margin: -6px 0; }
	.woocommerce .elementor-widget.emc-breadcrumb .woocommerce-breadcrumb,
	.elementor-widget.emc-breadcrumb .woocommerce-breadcrumb { font-size: 14px; }
	.elementor-widget.emc-breadcrumb .woocommerce-breadcrumb a { display: inline-block; padding: 6px 0; margin: -6px 0; }
	[data-elementor-type="footer"] .elementor-heading-title a { display: inline-block; padding: 6px 0; margin: -6px 0; }
	body.woocommerce-cart .site-main,
	body.woocommerce-checkout .site-main { padding-left: 20px; padding-right: 20px; }
}

@media (prefers-reduced-motion: reduce) {
	.elementor-wc-products ul.products li.product img,
	.elementor-products-grid ul.products li.product img { transition: none; }
	.elementor-wc-products ul.products li.product:hover img,
	.elementor-products-grid ul.products li.product:hover img { transform: none; }
}

/* ======================================================================
 * Runde 2, 09.10.2026: Pruefung gegen die Codex-Skills ui-ux-pro-max und
 * web-design-guidelines (Vercel Web Interface Guidelines)
 * ====================================================================== */

/* DIY-Menue: gleicher Schatten wie die Menues Karten und Einladungen */
body .elementor-5031 .elementor-element.elementor-element-61c1aaf { box-shadow: 0 11px 33px -17px rgba(0, 0, 0, .5); }

/* Fokus: ein ruhiger Ring in Markenbraun auf der ganzen Seite, nur bei Tastatur */
body :is(a, button, input, select, textarea, summary, [tabindex]:not([tabindex="-1"])):focus-visible {
	outline: 2px solid var(--emc-braun);
	outline-offset: 3px;
	border-radius: 4px;
}
body :is(a, button):focus:not(:focus-visible) { outline: none; }

/* Touch: kein Doppeltipp-Zoom-Verzug, eigener statt grauer Tipp-Blitz */
body :is(a, button, input, select, label, summary) { touch-action: manipulation; }
body { -webkit-tap-highlight-color: transparent; }

/* Spuerbarer Druckzustand an allen Knoepfen (150 ms, nur transform) */
body :is(.button, .elementor-button, .single_add_to_cart_button, .wp-block-button__link) {
	transition-property: background-color, color, transform;
	transition-duration: .2s;
}
body :is(.button, .elementor-button, .single_add_to_cart_button, .wp-block-button__link):active { transform: scale(.97); }
body .single_add_to_cart_button.disabled,
body .single_add_to_cart_button:disabled { cursor: not-allowed; }

/* Preise mit gleich breiten Ziffern, Titel ausgewogen umbrochen */
body :is(.price, .woocommerce-Price-amount, .amount, .qty) { font-variant-numeric: tabular-nums; }
ul.products li.product .woocommerce-loop-product__title { text-wrap: pretty; }
body :is(h1, h2, h3).elementor-heading-title,
body .product_title { text-wrap: balance; }

/* In den Warenkorb im Raster: beim Laden sichtbar bleiben (WooCommerce
 * dimmt auf 25 %), danach „Warenkorb anzeigen“ als eigene Zeile darunter. */
ul.products li.product .button.loading { opacity: .7 !important; padding-right: 40px !important; }
/* Der Link haengt unter dem Knopf im Reihenabstand, damit Preis und Knopf
 * der Karte auf einer Linie mit den Nachbarn bleiben. */
ul.products li.product .woocommerce-loop-product__buttons { position: relative; }
ul.products li.product .added_to_cart {
	position: absolute;
	left: 0;
	top: 100%;
	padding-top: 6px;
	line-height: 1.4;
	font-size: 14px;
	color: var(--emc-braun);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Aktiver Menuepunkt (Klasse setzt shop-design.js) */
[data-elementor-type="header"] .emc-aktiv,
[data-elementor-type="header"] .emc-aktiv .e-n-menu-title-text {
	color: var(--emc-dunkel) !important;
}

/* Runde 3 (10.10.2026) */
/* Vorschaubilder: Reihe ragte je 5px ueber den Galerierahmen, aeussere Ecken wurden abgeschnitten */
.elementor-widget-woocommerce-product-images .woocommerce-product-gallery .flex-control-thumbs {
	margin: 10px 0 0 !important;
	width: 100% !important;
	padding: 0 !important;
}

/* Aktiver Menuepunkt: kurzer, feiner Strich statt Unterstreichung */
[data-elementor-type="header"] .emc-aktiv { position: relative; }
[data-elementor-type="header"] .emc-aktiv::after {
	content: "" !important;
	position: absolute !important;
	top: auto !important;
	right: auto !important;
	left: 0 !important;
	bottom: 0 !important;
	width: 14px !important;
	height: 1.5px !important;
	border-radius: 1px;
	background: currentColor !important;
	transform: none !important;
	opacity: 1 !important;
	pointer-events: none;
}
/* Oberste Ebene: mittig unter dem Wort, nicht unter Wort plus Pfeil */
[data-elementor-type="header"] .e-n-menu-title.emc-aktiv::after { content: none !important; }
[data-elementor-type="header"] .e-n-menu-title.emc-aktiv .e-n-menu-title-text { position: relative; }
[data-elementor-type="header"] .e-n-menu-title.emc-aktiv .e-n-menu-title-text::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -5px;
	width: 18px;
	height: 1.5px;
	border-radius: 1px;
	background: currentColor;
	transform: translateX(-50%);
	pointer-events: none;
}

/* Bild-Karussell im Karten-Menue */
[data-elementor-type="header"] .elementor-element-c4011e6 { width: 250px !important; max-width: 100%; }
[data-elementor-type="header"] .elementor-element-c4011e6 .elementor-image-carousel-wrapper {
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 0 20px -7px rgba(0, 0, 0, .5);
}
[data-elementor-type="header"] .elementor-element-c4011e6 .swiper-slide-image {
	width: 100%;
	height: 170px;
	object-fit: cover;
	border-radius: 0;
	display: block;
}
[data-elementor-type="header"] .elementor-element-c4011e6 .swiper-pagination { bottom: 8px !important; line-height: 0; }
[data-elementor-type="header"] .elementor-element-c4011e6 .swiper-pagination-bullet {
	width: 6px; height: 6px; margin: 0 3px !important;
	box-shadow: 0 0 3px rgba(0, 0, 0, .35);
	transition: opacity var(--emc-wechsel), transform var(--emc-wechsel);
}
[data-elementor-type="header"] .elementor-element-c4011e6 .swiper-pagination-bullet-active { transform: scale(1.25); }
@media (prefers-reduced-motion: reduce) {
	[data-elementor-type="header"] .elementor-element-c4011e6 .swiper-slide { transition-duration: 0s !important; }
}

/* Kacheltitel ohne automatische Silbentrennung (12.10.2026): „Ausfül-len“
 * landete in der dritten Zeile, obwohl das Wort in die zweite passte.
 * Ursache war hyphens:auto zusammen mit text-wrap:pretty (das verschiebt
 * Woerter, um kurze Schlusszeilen zu vermeiden). Jetzt wird nur zwischen
 * Woertern umbrochen. break-word bleibt als Notbremse fuer Woerter, die
 * breiter sind als die ganze Kachel. */
ul.products li.product :is(.woocommerce-loop-category__title, .woocommerce-loop-product__title),
ul.products li.product :is(.woocommerce-loop-category__title, .woocommerce-loop-product__title) * {
	-webkit-hyphens: manual;
	hyphens: manual;
	overflow-wrap: break-word;
}
ul.products li.product .woocommerce-loop-product__title { text-wrap: wrap; }

/* Startseite: Über uns und „Was macht unsere Karten besonders?“ (12.10.2026)
 * Inhalt in zwei HTML-Widgets (Vorlage: vorlagen/startseite/*.html). */
.emc-besonders {
	padding: clamp(28px, 4vw, 48px);
	border-radius: var(--emc-radius);
	background: var(--emc-sand);
	color: var(--emc-dunkel);
}
.emc-besonders__intro {
	margin: -6px 0 28px;
	font-size: 16px;
	line-height: 1.6;
	max-width: 60ch;
}
.emc-besonders__liste {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.emc-besonders__punkt {
	margin: 0;
	padding: 22px 20px 20px;
	border-radius: var(--emc-radius);
	background: var(--emc-weiss);
}
.emc-besonders__punkt h3 {
	margin: 14px 0 6px;
	font-family: var(--emc-schrift);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.35;
	color: var(--emc-schwarz);
}
.emc-besonders__punkt p {
	margin: 0;
	font-size: 15px;
	line-height: 1.6;
}
.emc-besonders__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--emc-sand);
	color: var(--emc-mittel);
	flex: none;
}
.emc-besonders__icon svg {
	width: 22px;
	height: 22px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.5;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.emc-besonders__icon--klein { width: 36px; height: 36px; background: var(--emc-weiss); }
.emc-besonders__icon--klein svg { width: 19px; height: 19px; }
.emc-besonders__versand {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 24px 0 0;
	font-size: 15px;
	line-height: 1.5;
}
.emc-besonders__versand strong { font-weight: 600; }

@media (max-width: 1024px) {
	.emc-besonders__liste { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.emc-besonders__intro { text-align: center; margin-left: auto; margin-right: auto; }
	.emc-besonders__liste { grid-template-columns: 1fr; gap: 12px; }
	.emc-besonders__punkt { display: grid; grid-template-columns: 44px 1fr; column-gap: 14px; padding: 18px 16px; }
	.emc-besonders__punkt .emc-besonders__icon { grid-row: span 2; }
	.emc-besonders__punkt h3 { margin: 2px 0 4px; }
	.emc-besonders__versand { align-items: flex-start; }
}

/* Symbole der Besonders-Punkte als Maske, Farbe kommt aus color */
.emc-besonders__icon::before {
	content: "";
	width: 22px;
	height: 22px;
	background: currentColor;
	-webkit-mask: var(--emc-symbol) center / contain no-repeat;
	mask: var(--emc-symbol) center / contain no-repeat;
}
.emc-besonders__icon--klein::before { width: 19px; height: 19px; }
.emc-symbol-format { --emc-symbol: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223.5%22%20y%3D%225%22%20width%3D%2217%22%20height%3D%2214%22%20rx%3D%221.5%22/%3E%3Cpath%20d%3D%22M7%209.5h7M7%2013h10M7%2016h5%22/%3E%3C/svg%3E"); }
.emc-symbol-papier { --emc-symbol: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2019c0-8%205-13%2014-14-1%209-6%2014-14%2014z%22/%3E%3Cpath%20d%3D%22M5%2019l8-8%22/%3E%3C/svg%3E"); }
.emc-symbol-druck { --emc-symbol: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M7%208V3.5h10V8%22/%3E%3Crect%20x%3D%223.5%22%20y%3D%228%22%20width%3D%2217%22%20height%3D%228%22%20rx%3D%221.5%22/%3E%3Cpath%20d%3D%22M7%2013.5h10v7H7z%22/%3E%3C/svg%3E"); }
.emc-symbol-herz { --emc-symbol: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2020s-7.5-4.6-7.5-10A4.3%204.3%200%200%201%2012%207.4%204.3%204.3%200%200%201%2019.5%2010c0%205.4-7.5%2010-7.5%2010z%22/%3E%3C/svg%3E"); }
.emc-symbol-versand { --emc-symbol: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M2.5%206.5h11v9h-11zM13.5%209.5h4l3%203v3h-7z%22/%3E%3Ccircle%20cx%3D%226.5%22%20cy%3D%2217%22%20r%3D%221.8%22/%3E%3Ccircle%20cx%3D%2217%22%20cy%3D%2217%22%20r%3D%221.8%22/%3E%3C/svg%3E"); }
/* Versatz der Gründerfotos: Theme setzt figure-Abstände auf 0, daher gezielt staerker */


@media (max-width: 767px) {
	.emc-besonders { padding: 26px 14px 20px; }
	.emc-besonders__intro { margin-bottom: 20px; }
	.emc-besonders__versand { padding: 0 4px; }
}
#ueber-uns { scroll-margin-top: 140px; }

/* Über uns, Fotos überarbeitet (12.10.2026, Lilly: kein Abstand zum Text, Fotos deplatziert).
 * Ursache: --emc-abstand hing an .emc-ueberuns-container, die Klasse kommt am Elementor-Container
 * nicht an, gap war 0. Jetzt feste Werte direkt am Grid. Fotos gleich groß, ohne Versatz,
 * gemeinsam auf der Sandfläche. */




/* Über uns, Runde 3 (12.10.2026, Lilly: Fotos größer und bündig mit dem Text).
 * Ab 1025 px: Fotospalte so hoch wie der Text, oben bündig mit „Über uns“, unten mit dem Knopf.
 * Ohne Sandrahmen, damit die Kanten wirklich mit dem Text abschließen. */


/* Über uns, Runde 4 (12.10.2026, Lilly: kleiner, aber ganzes Foto sichtbar).
 * Die Originale sind quadratisch (1024 x 1024): Seitenverhältnis 1:1 zeigt das ganze Bild. */



/* Über uns, Runde 5 (13.10.2026, Lilly: Fotos untereinander, bündig mit dem Text, kein Leerraum links).
 * Ab 1025 px: Textspalte fest breit, die beiden quadratischen Fotos stehen rechtsbündig untereinander.
 * Ihre Kantenlänge setzt shop-design.js (--emc-foto) so, dass beide zusammen exakt so hoch sind wie
 * der Text: oben bündig mit „Über uns“, unten mit dem Knopf. */

/* Runde 5b: Fotos links buendig mit dem Seitenrand, Text fuellt den Rest */

/* Runde 6 (13.10.2026, Lilly: Trennlinie endete weiter rechts als der Text).
 * Textspalte so breit wie die Absaetze (max. 640 px), Linie und Text enden gleich,
 * Fotos und Text stehen als Block mittig. */


/* Menü mit „Startseite“ (13.10.2026): sieben Punkte passen nur mit etwas engeren Abständen in eine Zeile */
@media (min-width: 1025px) {
	body [data-elementor-type="header"] .elementor-element-f72e69d {
		--n-menu-title-space-between: 6px !important;
		--n-menu-title-padding: 0.5rem 0.75rem !important;
	}
	body [data-elementor-type="header"] .elementor-element-f72e69d .e-n-menu-heading { flex-wrap: nowrap; }
}
@media (min-width: 1025px) and (max-width: 1260px) {
	body [data-elementor-type="header"] .elementor-element-f72e69d {
		--n-menu-title-padding: 0.5rem 0.5rem !important;
	}
	body [data-elementor-type="header"] .elementor-element-f72e69d .e-n-menu-title-text { font-size: 15px !important; }
}


/* ==========================================================================
 * Startseite unten (14.10.2026, nach Lillys freigegebener Vorschau)
 * Nur globale Elementor-Schriften und -Farben (--e-global-…). Sicherung davor: backups/20261014-vor-redesign
 * ========================================================================== */
.emc-eyebrow2 {
	margin: 0 0 10px !important;
	font-family: var(--e-global-typography-accent-font-family), sans-serif;
	font-size: 12px !important;
	font-weight: var(--e-global-typography-accent-font-weight);
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--e-global-color-b1ded45) !important;
}
.emc-eyebrow2--mitte { text-align: center; }
.emc-h2,
body .elementor-element-c686510 .elementor-heading-title {
	margin: 0 0 15px;
	font-family: var(--e-global-typography-primary-font-family), sans-serif !important;
	font-size: var(--e-global-typography-primary-font-size) !important;
	font-weight: var(--e-global-typography-primary-font-weight) !important;
	line-height: 1.2 !important;
	color: var(--e-global-color-primary) !important;
	text-wrap: balance;
}
@media (max-width: 767px) {
	.emc-h2, body .elementor-element-c686510 .elementor-heading-title { font-size: 24px !important; }
}
.emc-bes2, .emc-insp, .emc-kontakt { font-family: var(--e-global-typography-text-font-family), sans-serif; color: var(--e-global-color-ef3e70d); }
.emc-bes2 p, .emc-insp p, .emc-kontakt p { font-family: inherit; }
.emc-kreis, .emc-zeichen { display: inline-flex; align-items: center; justify-content: center; flex: none; color: var(--e-global-color-512ab0b); }
.emc-kreis { width: 44px; height: 44px; border-radius: 50%; background: var(--e-global-color-secondary); }
.emc-kreis::before, .emc-zeichen::before {
	content: ""; width: 21px; height: 21px; background: currentColor;
	-webkit-mask: var(--emc-symbol) center / contain no-repeat; mask: var(--emc-symbol) center / contain no-repeat;
}
.emc-zeichen::before { width: 18px; height: 18px; }

/* Besonders */
.emc-bes2 {
	display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
	background: var(--e-global-color-accent); border-radius: 10px; overflow: hidden;
}
.emc-bes2__text { padding: 50px; }
.emc-bes2__intro { margin: 0 0 30px; font-size: var(--e-global-typography-text-font-size); line-height: 1.6; }
.emc-bes2__punkte { display: grid; grid-template-columns: 1fr 1fr; gap: 25px 40px; margin: 0; padding: 0; list-style: none; }
.emc-bes2__punkte li { display: grid; grid-template-columns: 44px 1fr; gap: 15px; align-items: start; margin: 0; }
.emc-bes2__punkte h3 {
	margin: 2px 0 5px; font-family: var(--e-global-typography-accent-font-family), sans-serif;
	font-size: var(--e-global-typography-accent-font-size); font-weight: var(--e-global-typography-accent-font-weight);
	line-height: 1.35; color: var(--e-global-color-primary);
}
.emc-bes2__punkte p { margin: 0; font-size: 15px; line-height: 1.6; }
.emc-bes2__versand {
	display: flex; align-items: center; gap: 12px; margin: 30px 0 0; padding-top: 20px;
	border-top: 1px solid rgba(116, 99, 87, .3); font-size: 15px; line-height: 1.5;
}
.emc-bes2__versand strong { font-weight: 600; }
.emc-bes2__bild img { display: block; width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 1024px) {
	.emc-bes2 { grid-template-columns: 1fr; }
	.emc-bes2__bild { order: -1; height: 280px; }
}
@media (max-width: 767px) {
	.emc-bes2__text { padding: 30px 20px; }
	.emc-bes2__punkte { grid-template-columns: 1fr; gap: 20px; }
	.emc-bes2__punkte p { font-size: 16px; }
	.emc-bes2__bild { height: 220px; }
}

/* Lass dich inspirieren */
body .emc-insp-container { margin-top: 75px; }
.emc-insp { text-align: center; }
.emc-insp__text { max-width: 540px; margin: 0 auto 25px; font-size: var(--e-global-typography-text-font-size); line-height: 1.6; }
.emc-insp__social { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.emc-insp__social a {
	display: inline-flex; align-items: center; gap: 10px; min-height: 46px; padding: 0 22px;
	border: 1px solid var(--e-global-color-512ab0b); border-radius: 50px;
	color: var(--e-global-color-ef3e70d) !important; font-size: 15px; text-decoration: none !important;
	transition: background-color .15s ease;
}
.emc-insp__social a:hover { background: var(--e-global-color-accent); }
.emc-insp__bilder { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; margin-top: 40px; }
.emc-insp__bilder a { display: block; aspect-ratio: 1 / 1; overflow: hidden; border-radius: 10px; }
.emc-insp__bilder img { width: 100%; height: 100%; object-fit: cover; display: block; transition: opacity .15s ease; }
.emc-insp__bilder a:hover img { opacity: .85; }
@media (max-width: 767px) {
	.emc-insp__bilder { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.emc-insp__social a { flex: 1 1 100%; justify-content: center; }
}

/* Newsletter */
body .elementor-element-cde6b8f { text-align: center; }
body .elementor-element-ff48b33 p { margin-left: auto; margin-right: auto; max-width: 540px; font-size: var(--e-global-typography-text-font-size); line-height: 1.6; }
body .elementor-element-1f287aa { max-width: 520px; margin-left: auto; margin-right: auto; }
@media (min-width: 768px) {
	body .elementor-element-1f287aa .elementor-form-fields-wrapper { flex-wrap: nowrap !important; align-items: flex-end; gap: 10px; }
	body .elementor-element-1f287aa .elementor-field-group { margin-bottom: 0 !important; padding: 0 !important; }
	body .elementor-element-1f287aa .elementor-field-group-email { flex: 1 1 auto; }
	body .elementor-element-1f287aa .elementor-field-type-submit { flex: 0 0 auto; width: auto !important; }
}
body .elementor-element-1f287aa .elementor-field-label { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
body .elementor-element-1f287aa .elementor-field-textual {
	min-height: 50px; border-radius: 50px !important; padding: 0 22px !important;
	border: 1px solid var(--e-global-color-text) !important; background: var(--e-global-color-secondary) !important;
	font-size: 15px !important;
}
body .elementor-element-1f287aa .elementor-button {
	min-height: 50px; padding: 0 28px !important; border-radius: 50px !important;
	background: var(--e-global-color-ef3e70d) !important; color: var(--e-global-color-secondary) !important; font-size: 15px !important; font-weight: 500 !important;
}
.emc-news__vorteile {
	display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 30px; margin: 20px 0 0; padding: 0; list-style: none;
	font-family: var(--e-global-typography-text-font-family), sans-serif; font-size: 13px; color: var(--e-global-color-b1ded45);
}
.emc-news__vorteile li { display: inline-flex; align-items: center; gap: 8px; margin: 0; }
.emc-news__vorteile .emc-zeichen { color: var(--e-global-color-b1ded45); }
.emc-news__vorteile .emc-zeichen::before { width: 16px; height: 16px; }

/* Kontakt (Vorlage 4368): links Sandfläche mit Text, rechts Formular */
body .elementor-element-7164ffcd {
	display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr); gap: 0 !important;
	padding: 0 !important; border: 1px solid var(--e-global-color-text); border-radius: 10px; overflow: hidden;
	max-width: 1140px; margin-left: auto; margin-right: auto;
}
body .elementor-element-7164ffcd > .elementor-element-4ec02f55 { grid-column: 1 / -1; height: 0; overflow: hidden; }
body .elementor-element-7164ffcd > .elementor-element-e3c1f01 { background: var(--e-global-color-accent); padding: 50px 45px; margin: 0 !important; }
body .elementor-element-7164ffcd > .elementor-element-27432d85 { padding: 45px; margin: 0 !important; }
.emc-kontakt__text { margin: 0 0 30px; font-size: var(--e-global-typography-text-font-size); line-height: 1.6; }
.emc-kontakt__wege { display: flex; flex-direction: column; gap: 12px; margin: 0; padding: 0; list-style: none; }
.emc-kontakt__wege a { display: inline-flex; align-items: center; gap: 12px; color: var(--e-global-color-ef3e70d) !important; font-size: 15px; text-decoration: none !important; }
.emc-kontakt__wege a:hover { text-decoration: underline !important; }
@media (min-width: 768px) {
	body .elementor-element-27432d85 :is(.elementor-field-group-Unternehmen, .elementor-field-group-Name, .elementor-field-group-email, .elementor-field-group-Telefonnummer) {
		width: 50% !important; flex: 0 0 50% !important;
	}
}
@media (max-width: 1024px) {
	body .elementor-element-7164ffcd { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
	body .elementor-element-7164ffcd > .elementor-element-e3c1f01 { padding: 30px 20px; }
	body .elementor-element-7164ffcd > .elementor-element-27432d85 { padding: 30px 20px; }
}
.emc-symbol-instagram { --emc-symbol: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223.5%22%20y%3D%223.5%22%20width%3D%2217%22%20height%3D%2217%22%20rx%3D%225%22/%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%224%22/%3E%3Ccircle%20cx%3D%2217.2%22%20cy%3D%226.8%22%20r%3D%22.7%22/%3E%3C/svg%3E"); }
.emc-symbol-facebook { --emc-symbol: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M14%208.5h2.5V5H14c-2.2%200-3.5%201.5-3.5%203.6V11H8v3.4h2.5V21H14v-6.6h2.4l.6-3.4h-3V9.2c0-.4.3-.7.7-.7z%22/%3E%3C/svg%3E"); }
.emc-symbol-pinterest { --emc-symbol: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%228.5%22/%3E%3Cpath%20d%3D%22M10.5%2020l1.6-7.5M10.8%2013.5c.5%201.5%204.6%201.4%204.6-2.4%200-2.3-1.8-3.8-3.9-3.8-2.6%200-4.1%201.9-4.1%203.8%200%201%20.4%201.9%201.1%202.2%22/%3E%3C/svg%3E"); }
.emc-symbol-geschenk { --emc-symbol: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223.5%22%20y%3D%228%22%20width%3D%2217%22%20height%3D%2212%22%20rx%3D%221.5%22/%3E%3Cpath%20d%3D%22M12%208v12M3.5%2012h17M12%208c-2-4-6-3-5%200M12%208c2-4%206-3%205%200%22/%3E%3C/svg%3E"); }
.emc-symbol-haken { --emc-symbol: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012l4.5%204.5L19%207%22/%3E%3C/svg%3E"); }
.emc-symbol-mail { --emc-symbol: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223.5%22%20y%3D%225.5%22%20width%3D%2217%22%20height%3D%2213%22%20rx%3D%221.5%22/%3E%3Cpath%20d%3D%22M4%207l8%206%208-6%22/%3E%3C/svg%3E"); }
/* Breiten gegen Elementor durchsetzen */
body .elementor-element.elementor-element-7164ffcd { max-width: 1140px !important; width: calc(100% - 50px) !important; margin: 0 auto !important; }
body .elementor-element.elementor-element-1f287aa { max-width: 520px !important; width: 100% !important; margin-left: auto !important; margin-right: auto !important; }
/* Gleichmäßiger Rhythmus unten: 75 px zwischen den Bereichen, Newsletter so breit wie die anderen */
body .elementor-element-56dc4de > .e-con-inner { padding-bottom: 75px !important; }
body .elementor-element-41c76fe > .e-con-inner { padding-top: 0 !important; padding-bottom: 75px !important; }
body .elementor-element.elementor-element-cde6b8f { width: 100% !important; max-width: 1140px !important; padding: 50px !important; border-radius: 10px; }
body .elementor-element-136ea5c { margin-bottom: 75px; }
@media (max-width: 767px) {
	body .elementor-element-56dc4de > .e-con-inner { padding-bottom: 50px !important; }
	body .elementor-element-41c76fe > .e-con-inner { padding-bottom: 50px !important; }
	body .elementor-element.elementor-element-cde6b8f { padding: 30px 20px !important; }
	body .elementor-element-136ea5c { margin-bottom: 50px; }
	body .emc-insp-container { margin-top: 50px; }
}
/* Kontakt: das Raster gehört auf den inneren Container (boxed) */
body .elementor-element.elementor-element-7164ffcd { display: block !important; }
body .elementor-element-7164ffcd > .e-con-inner {
	display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr); gap: 0 !important;
	padding: 0 !important; max-width: none !important; width: 100% !important;
}
body .elementor-element-7164ffcd > .e-con-inner > .elementor-element-4ec02f55 { grid-column: 1 / -1; height: 0; overflow: hidden; }
body .elementor-element-7164ffcd > .e-con-inner > .elementor-element-e3c1f01 { background: var(--e-global-color-accent); padding: 50px 45px; margin: 0 !important; width: auto !important; }
body .elementor-element-7164ffcd > .e-con-inner > .elementor-element-27432d85 { padding: 45px; margin: 0 !important; width: auto !important; }
@media (max-width: 1024px) {
	body .elementor-element-7164ffcd > .e-con-inner { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
	body .elementor-element-7164ffcd > .e-con-inner > .elementor-element-e3c1f01,
	body .elementor-element-7164ffcd > .e-con-inner > .elementor-element-27432d85 { padding: 30px 20px; }
}
body .elementor-element.elementor-element-7164ffcd,
body .elementor-element-7164ffcd > .e-con-inner { min-height: 0 !important; }
/* Formularfelder einheitlich: weiß mit feinem Rahmen wie im Newsletter */
body .elementor-element-27432d85 .elementor-field-textual {
	min-height: 50px; border-radius: 8px !important; border: 1px solid var(--e-global-color-text) !important;
	background: var(--e-global-color-secondary) !important; font-size: 15px !important; padding: 0 15px !important;
}
body .elementor-element-27432d85 .elementor-field-group-Nachricht .elementor-field-textual { min-height: 50px; }
body .elementor-element-27432d85 .elementor-field-label { font-size: 13px !important; font-weight: 600 !important; color: var(--e-global-color-ef3e70d) !important; }
body .elementor-element-27432d85 .elementor-button {
	min-height: 50px; padding: 0 28px !important; border-radius: 50px !important;
	background: var(--e-global-color-ef3e70d) !important; color: var(--e-global-color-secondary) !important; font-size: 15px !important; font-weight: 500 !important;
}
body .elementor-element-27432d85 .elementor-field-type-submit { width: auto !important; }

/* ==========================================================================
 * DESIGNSYSTEM „aus einem Guss“ (14.10.2026, Claude + Codex gpt-6-astra hoch)
 * Ein Satz Regeln für alle Seiten: Schrift, Titel, Abstände, Raster, Karten, Knöpfe, Banner,
 * Menü, Warenkorb, Footer. Nur globale Elementor-Farben/-Schriften. Sicherung davor:
 * backups/20261014-vor-redesign (Stand vor der Startseite unten: Commit 360192f).
 * ========================================================================== */
body {
	--emc-knopf: var(--e-global-color-ef3e70d);        /* Primärknopf Dunkelbraun */
	--emc-knopf-hover: var(--e-global-color-512ab0b);  /* Hover Mittelbraun */
	--emc-text: var(--e-global-color-ef3e70d);
	--emc-rand: rgba(116, 99, 87, .25);
}

/* 1. Schrift: überall Montserrat (Theme-Absätze, Rechtstexte und HTML-Widgets fielen auf Systemschrift) */
body, body :where(p, li, td, th, label, input, textarea, select, button, blockquote, h1, h2, h3, h4, h5, h6) {
	font-family: var(--e-global-typography-text-font-family), sans-serif;
}

/* 2. Titel: eine Stufe für Seiten- und Abschnittstitel (global 32 px), mobil 24 px, Zeilenhöhe 1.2 statt 1.0 */
body [data-elementor-type="wp-page"] h2.elementor-heading-title,
body [data-elementor-type="wp-page"] h1.elementor-heading-title,
body [data-elementor-type="single-product"] h2.elementor-heading-title,
body .product_title {
	line-height: 1.2 !important;
}
body .product_title { font-size: var(--e-global-typography-primary-font-size) !important; font-weight: var(--e-global-typography-primary-font-weight) !important; }
@media (max-width: 767px) {
	body [data-elementor-type="wp-page"] :is(h1, h2).elementor-heading-title,
	body [data-elementor-type="single-product"] h2.elementor-heading-title,
	body .product_title { font-size: 24px !important; }
}
/* Rechtsseiten: Überschrift war Hellgrau auf Weiß (1,3:1) */
body:is(.page-id-48, .page-id-50, .page-id-4591, .page-id-9859) main :is(h1, h2, h3, h4) { color: var(--emc-text) !important; }
body:is(.page-id-48, .page-id-50, .page-id-4591, .page-id-9859) .elementor-widget-text-editor { max-width: 75ch; }

/* 3. Kategorieseiten: gleiches Bannermuster und gleicher Abstand zum Titel */
body:is(.page-id-5230, .page-id-5232, .page-id-5234, .page-id-5236, .page-id-5240, .page-id-5242, .page-id-5244, .page-id-5246,
	.page-id-5250, .page-id-5252, .page-id-5254, .page-id-5256, .page-id-5258, .page-id-11346, .page-id-5260, .page-id-5262, .page-id-5284, .page-id-5286)
	[data-elementor-type="wp-page"] > .e-con:nth-child(2) > .e-con-inner { padding-top: 50px !important; }
@media (max-width: 767px) {
	body:is(.page-id-5230, .page-id-5232, .page-id-5234, .page-id-5236, .page-id-5240, .page-id-5242, .page-id-5244, .page-id-5246,
		.page-id-5250, .page-id-5252, .page-id-5254, .page-id-5256, .page-id-5258, .page-id-11346, .page-id-5260, .page-id-5262, .page-id-5284, .page-id-5286)
		[data-elementor-type="wp-page"] > .e-con:nth-child(2) > .e-con-inner { padding-top: 30px !important; }
	body:is(.page-id-5230, .page-id-5232, .page-id-5234, .page-id-5236, .page-id-5240, .page-id-5242, .page-id-5244, .page-id-5246,
		.page-id-5250, .page-id-5252, .page-id-5254, .page-id-5256, .page-id-5258, .page-id-11346, .page-id-5260, .page-id-5262, .page-id-5284, .page-id-5286)
		[data-elementor-type="wp-page"] > .e-con:first-child { --min-height: 160px !important; min-height: 160px !important; }
}

/* 4. Raster: gleich breite Spalten überall (mobil liefen sie über den Rand), gleiche Abstände */
body .elementor ul.products.columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
body .elementor ul.products.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
body .elementor ul.products.columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
body .elementor ul.products { column-gap: 25px !important; row-gap: 40px !important; }
body .elementor ul.products li.product { min-width: 0 !important; width: auto !important; margin: 0 !important; float: none !important; }
@media (max-width: 1024px) {
	body .elementor ul.products:is(.columns-4, .columns-3) { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 767px) {
	body .elementor ul.products,
	body .elementor ul.products:is(.columns-4, .columns-3, .columns-2) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; column-gap: 15px !important; row-gap: 30px !important; }
	body .elementor :is(.elementor-widget-wc-categories, .elementor-widget-woocommerce-products) { width: 100% !important; max-width: 100% !important; }
}

/* 5. Eine Karte für Produkte und Kategorien: Bild 1:1 mit 10 px Rundung, Text links, keine Bewegung */
body ul.products li.product a img,
body .wc-block-grid__product-image img {
	aspect-ratio: 1 / 1; object-fit: cover; border-radius: 10px !important; box-shadow: none !important;
}
body ul.products li.product,
body ul.products li.product img { transition: none !important; }
body ul.products li.product:hover img { transform: none !important; box-shadow: none !important; }
body ul.products li.product :is(.woocommerce-loop-product__title, .woocommerce-loop-category__title),
body .wc-block-grid__product-title {
	font-family: var(--e-global-typography-text-font-family), sans-serif !important;
	font-size: 16px !important; line-height: 1.4 !important; color: var(--emc-text) !important; text-align: left !important;
}
body ul.products li.product .woocommerce-loop-product__title, body .wc-block-grid__product-title { font-weight: 500 !important; }
body ul.products li.product .woocommerce-loop-category__title { font-weight: 600 !important; padding: 15px 0 0 !important; }
body ul.products li.product .woocommerce-loop-category__title .count { font-weight: 400; color: var(--e-global-color-b1ded45); }
body ul.products li.product.product-category { text-align: left !important; }
body ul.products li.product .price,
body .wc-block-grid__product-price { font-size: 16px !important; line-height: 1.4 !important; color: var(--emc-text) !important; }
body ul.products li.product .price .woocommerce-Price-amount { white-space: nowrap; }

/* 6. Ein Knopfsystem: Pille, mind. 48 px, 15 px/500, Primär Dunkelbraun, Sekundär mit Rahmen */
body :is(main, [data-elementor-type="wp-page"], [data-elementor-type="single-product"], [data-elementor-type="product"], .elementor-location-footer, .elementor-template)

/* Sekundär: Social-Knöpfe der Startseite, „Hinweis anzeigen“ */
body :is(.elementor-element-0963304, .elementor-element-df918b7, .elementor-element-8048d69) .elementor-button,
body .emc-insp__social a {
	background: transparent !important; color: var(--emc-text) !important; border-color: var(--e-global-color-512ab0b) !important;
}
body :is(.elementor-element-0963304, .elementor-element-df918b7, .elementor-element-8048d69) .elementor-button:hover,
body .emc-insp__social a:hover { background: var(--e-global-color-accent) !important; color: var(--emc-text) !important; }
@media (max-width: 767px) {
	body ul.products li.product .button { padding: 10px 8px !important; font-size: 14px !important; width: 100%; }
}

/* 7. Mobiles Menü: geschlossene weiße Fläche statt durchscheinender Seite, klare Zeilen */
@media (max-width: 1024px) {
	[data-elementor-type="header"] .e-n-menu-wrapper {
		background: var(--e-global-color-secondary) !important; max-height: calc(100dvh - 110px); overflow-y: auto; overscroll-behavior: contain;
		box-shadow: 0 20px 30px -20px rgba(57, 45, 36, .35); border-top: 1px solid var(--emc-rand);
	}
	[data-elementor-type="header"] .e-n-menu-heading { gap: 0 !important; background: var(--e-global-color-secondary); }
	[data-elementor-type="header"] .e-n-menu-heading > .e-n-menu-item { border-bottom: 1px solid var(--emc-rand); }
	[data-elementor-type="header"] .e-n-menu-heading .e-n-menu-title { justify-content: space-between !important; min-height: 50px; padding: 0 25px !important; }
	[data-elementor-type="header"] .e-n-menu-dropdown-icon { min-width: 44px; min-height: 44px; justify-content: flex-end; }
	[data-elementor-type="header"] .e-n-menu-content > .e-con { padding: 10px 25px 20px !important; box-shadow: none !important; background: var(--e-global-color-secondary) !important; }
	[data-elementor-type="header"] .e-n-menu-content .elementor-icon-list-item a { min-height: 44px; display: flex; align-items: center; }
	[data-elementor-type="header"] .elementor-element-c4011e6,
	[data-elementor-type="header"] .e-n-menu-content .elementor-widget-image { display: none !important; }
}

/* 8. Mengenwähler: Feld darf nicht auf 0 px schrumpfen, mobil Kaufknopf darunter */
.woocommerce .elementor-widget.emc-warenkorb form.cart div.quantity.emc-stepper { flex: 0 0 140px !important; min-width: 140px; }
.woocommerce .elementor-widget.emc-warenkorb form.cart div.quantity.emc-stepper input.qty { flex: 1 0 40px !important; min-width: 40px !important; }
@media (max-width: 767px) {
	.woocommerce .emc-warenkorb :is(.e-atc-qty-button-holder, form.cart:not(.variations_form), .woocommerce-variation-add-to-cart) { flex-wrap: wrap !important; gap: 15px !important; }
	.woocommerce .elementor-widget.emc-warenkorb form.cart .single_add_to_cart_button { flex: 1 0 100% !important; margin: 0 !important; }
}

/* 9. Leerer Warenkorb im Shopstil: ohne Trauer-Symbol, gleiche Breite, gleiche Karten */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block { max-width: 1140px; margin-inline: auto; padding: 50px 0 25px; }
body .wc-block-cart__empty-cart__title::before { display: none !important; content: none !important; }
body.woocommerce-cart .wp-block-separator { display: none !important; }
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block :is(h2, .wp-block-heading) {
	font-size: var(--e-global-typography-primary-font-size) !important; font-weight: var(--e-global-typography-primary-font-weight) !important;
	line-height: 1.2; color: var(--e-global-color-primary); text-align: left !important; margin: 0 0 25px !important;
}
body.woocommerce-cart .wc-block-grid__products { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px 25px; margin: 0 !important; }
body.woocommerce-cart .wc-block-grid__product { max-width: none !important; min-width: 0; padding: 0 !important; border: 0 !important; text-align: left !important; display: flex; flex-direction: column; }
body.woocommerce-cart .wc-block-grid__product-link { flex: 1; }
@media (max-width: 767px) {
	body.woocommerce-cart .wp-block-woocommerce-empty-cart-block { padding: 30px 0 10px; }
	body.woocommerce-cart .wp-block-woocommerce-empty-cart-block :is(h2, .wp-block-heading) { font-size: 24px !important; }
	body.woocommerce-cart .wc-block-grid__products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 15px; }
}

/* 10. Footer: Spalten oben bündig, linksbündig, ausreichend große Links */
body .elementor-location-footer .e-con-inner { align-items: flex-start; }
body .elementor-location-footer :is(.elementor-heading-title, .elementor-widget-text-editor, .elementor-icon-list-items) { text-align: left !important; justify-content: flex-start !important; }
body .elementor-location-footer .elementor-widget-heading .elementor-heading-title a { display: inline-flex; align-items: center; min-height: 36px; }

/* 11. Sichtbarer Tastaturfokus */
body :is(a, button, input, select, textarea, summary):focus-visible { outline: 2px solid var(--emc-text) !important; outline-offset: 3px; }
/* 12. Eine Höhe für Knöpfe und Formularfelder: 48 px (vorher 36, 40, 42, 44, 50, 52) */
body .elementor-form .elementor-button,
body ul.products li.product .button,
body .elementor-widget-wc-categories ~ * .elementor-button { min-height: 48px !important; height: auto !important; }
body :is(.elementor-element-1f287aa, .elementor-element-27432d85) .elementor-field-textual:not(textarea) { min-height: 48px !important; height: 48px !important; }
/* Rechtsseiten: Titel in derselben Stufe wie überall */
body:is(.page-id-48, .page-id-50, .page-id-4591, .page-id-9859) main :is(h1, h2).elementor-heading-title {
	font-size: var(--e-global-typography-primary-font-size) !important; font-weight: var(--e-global-typography-primary-font-weight) !important; line-height: 1.2 !important;
}
@media (max-width: 767px) {
	body:is(.page-id-48, .page-id-50, .page-id-4591, .page-id-9859) main :is(h1, h2).elementor-heading-title { font-size: 24px !important; }
}
/* Warenkorb leer: Seitenrand wie überall, Preis und Knopf links wie die Titel */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block { padding-left: 25px !important; padding-right: 25px !important; box-sizing: border-box; }
@media (min-width: 1190px) { body.woocommerce-cart .wp-block-woocommerce-empty-cart-block { padding-left: 0 !important; padding-right: 0 !important; } }
body.woocommerce-cart .wc-block-grid__product :is(.wc-block-grid__product-price, .wp-block-button, .wc-block-grid__product-add-to-cart) { text-align: left !important; justify-content: flex-start !important; margin-left: 0 !important; margin-right: 0 !important; }
body.woocommerce-cart .wc-block-grid__product-title { margin: 15px 0 5px !important; }


/* ==========================================================================
 * Über uns (15.10.2026, Lilly: weniger trocken, etwas verspielter, aber ruhig)
 * Einziger Regelblock für den Bereich (alte Runden vom 12./13.10. entfernt).
 * Helle Sandfläche, Fotos als Polaroids leicht gedreht und überlappend, zwei feine Herzlinien.
 * Nur globale Farben/Schriften. Inhalt unverändert (vorlagen/startseite/ueber-uns.html).
 * ========================================================================== */
.emc-ueberuns {
	--emc-ue-flaeche: color-mix(in srgb, var(--e-global-color-accent) 60%, var(--e-global-color-secondary));
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
	gap: 60px;
	align-items: center;
	margin-bottom: 75px;
	padding: 60px;
	border-radius: 10px;
	background: var(--emc-ue-flaeche);
	color: var(--e-global-color-ef3e70d);
	font-family: var(--e-global-typography-text-font-family), sans-serif;
	overflow: hidden;
}
/* Herzlinien: eine oben rechts in der Fläche, eine zwischen den Fotos */
.emc-ueberuns::after,
.emc-ueberuns__bilder::after {
	content: "";
	position: absolute;
	background: var(--e-global-color-b1ded45);
	-webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.3%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2020s-7.5-4.6-7.5-10A4.3%204.3%200%200%201%2012%207.4%204.3%204.3%200%200%201%2019.5%2010c0%205.4-7.5%2010-7.5%2010z%22/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.3%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2020s-7.5-4.6-7.5-10A4.3%204.3%200%200%201%2012%207.4%204.3%204.3%200%200%201%2019.5%2010c0%205.4-7.5%2010-7.5%2010z%22/%3E%3C/svg%3E") center / contain no-repeat;
	pointer-events: none;
}
.emc-ueberuns::after { top: 35px; right: 40px; width: 30px; height: 30px; opacity: .55; transform: rotate(10deg); }
.emc-ueberuns__bilder::after { left: 4%; bottom: 6%; width: 24px; height: 24px; opacity: .6; transform: rotate(-12deg); }

/* Fotos als Polaroids */
.emc-ueberuns__bilder { position: relative; height: 470px; }
.emc-ueberuns__foto {
	position: absolute;
	width: 58%;
	margin: 0 !important;
	padding: 10px 10px 34px;
	background: var(--e-global-color-secondary);
	border-radius: 4px;
	box-shadow: 0 18px 35px -22px rgba(57, 45, 36, .55);
}
.emc-ueberuns__foto img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 2px; }
.emc-ueberuns__foto--eins { top: 0; left: 6%; transform: rotate(-4deg); z-index: 1; }
.emc-ueberuns__foto--zwei { bottom: 0; right: 2%; transform: rotate(3deg); z-index: 2; }

/* Text */
.emc-ueberuns__eyebrow {
	margin: 0 0 10px; font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
	color: var(--e-global-color-b1ded45);
}
.emc-ueberuns__titel {
	margin: 0 0 20px; font-family: var(--e-global-typography-primary-font-family), sans-serif;
	font-size: var(--e-global-typography-primary-font-size); font-weight: var(--e-global-typography-primary-font-weight);
	line-height: 1.2; color: var(--e-global-color-primary); text-wrap: balance;
}
.emc-ueberuns__text p:not(.emc-ueberuns__eyebrow):not(.emc-ueberuns__signatur) {
	margin: 0 0 15px; font-size: var(--e-global-typography-text-font-size); line-height: 1.7; max-width: 62ch;
}
.emc-ueberuns__signatur {
	margin: 25px 0 25px; padding-top: 20px; border-top: 1px solid rgba(116, 99, 87, .3);
	font-size: 16px; font-weight: 600; color: var(--e-global-color-ef3e70d);
}
.emc-ueberuns__signatur span { display: block; margin-top: 3px; font-size: 14px; font-weight: 400; color: var(--e-global-color-b1ded45); }
/* Knopf folgt dem Knopfsystem (Pille, 48 px, Dunkelbraun) aus dem Designsystem-Block */
.emc-ueberuns__button { display: inline-flex; align-items: center; min-height: 48px; padding: 0 25px; border-radius: 50px; text-decoration: none !important; }

@media (max-width: 1024px) {
	.emc-ueberuns { grid-template-columns: 1fr; gap: 40px; padding: 50px 40px; }
	.emc-ueberuns__bilder { width: 100%; max-width: 480px; height: 400px; margin: 0 auto; }
}
@media (max-width: 767px) {
	.emc-ueberuns { gap: 30px; padding: 30px 20px; margin-bottom: 50px; }
	.emc-ueberuns::after { top: 20px; right: 20px; width: 24px; height: 24px; }
	.emc-ueberuns__bilder { height: 300px; max-width: 340px; }
	.emc-ueberuns__foto { width: 62%; padding: 7px 7px 24px; }
	.emc-ueberuns__titel { font-size: 24px; }
	.emc-ueberuns__text p:not(.emc-ueberuns__eyebrow):not(.emc-ueberuns__signatur) { font-size: 16px; }
	.emc-ueberuns__button { width: 100%; justify-content: center; }
}

/* Knopfsystem wiederhergestellt (15.10.2026): wurde beim Aufräumen der Über-uns-Regeln versehentlich mit entfernt */
/* 6. Ein Knopfsystem: Pille, mind. 48 px, 15 px/500, Primär Dunkelbraun, Sekundär mit Rahmen */
body :is(main, [data-elementor-type="wp-page"], [data-elementor-type="single-product"], [data-elementor-type="product"], .elementor-location-footer, .elementor-template)
	:is(.elementor-button, a.button, button.button, .single_add_to_cart_button, .wp-block-button__link, .emc-ueberuns__button) {
	display: inline-flex !important; align-items: center; justify-content: center; gap: 8px;
	min-height: 48px; padding: 10px 25px !important; border-radius: 50px !important;
	background: var(--emc-knopf) !important; border: 1px solid var(--emc-knopf) !important; color: var(--e-global-color-secondary) !important;
	font-family: var(--e-global-typography-text-font-family), sans-serif !important; font-size: 15px !important; font-weight: 500 !important; line-height: 1.3 !important;
	text-align: center; white-space: normal; box-shadow: none !important; transform: none !important;
	transition: background-color .15s ease, border-color .15s ease, color .15s ease !important;
}
body :is(main, [data-elementor-type="wp-page"], [data-elementor-type="single-product"], [data-elementor-type="product"], .elementor-location-footer, .elementor-template)
	:is(.elementor-button, a.button, button.button, .single_add_to_cart_button, .wp-block-button__link, .emc-ueberuns__button):hover {
	background: var(--emc-knopf-hover) !important; border-color: var(--emc-knopf-hover) !important; color: var(--e-global-color-secondary) !important;
}

/* Über uns, Hintergrund (15.10.2026, Lilly: die zwei kleinen Herzen wirkten verloren).
 * Statt Herzen: Bogen in Sand hinter den Polaroids und eine feine Rahmenlinie innen,
 * wie bei den Karten mit Rahmen. Nur globale Farben. */
.emc-ueberuns__bilder::after { content: none !important; }
.emc-ueberuns::after {
	content: "" !important;
	inset: 14px !important;
	width: auto !important;
	height: auto !important;
	top: 14px !important;
	right: 14px !important;
	background: none !important;
	-webkit-mask: none !important;
	mask: none !important;
	border: 1px solid rgba(116, 99, 87, .22);
	border-radius: 6px;
	opacity: 1 !important;
	transform: none !important;
}
.emc-ueberuns__bilder::before {
	content: "";
	position: absolute;
	left: 10%;
	right: 10%;
	top: 30px;
	bottom: -60px;
	border-radius: 999px 999px 0 0;
	background: var(--e-global-color-accent);
	z-index: 0;
}
.emc-ueberuns__foto { z-index: 1; }
.emc-ueberuns__foto--zwei { z-index: 2; }
@media (max-width: 767px) {
	.emc-ueberuns::after { inset: 8px !important; top: 8px !important; right: 8px !important; }
	.emc-ueberuns__bilder::before { left: 8%; right: 8%; top: 20px; bottom: -30px; }
}
/* Fläche heller, damit der Sandbogen hinter den Fotos klar steht */
.emc-ueberuns { --emc-ue-flaeche: color-mix(in srgb, var(--e-global-color-accent) 35%, var(--e-global-color-secondary)); background: var(--emc-ue-flaeche) !important; }
/* Dateiprodukte: keine Versandzeile (Vorlage 9579, Liste .emc-usp, Eintrag 64454fe) */
body.emc-dateiprodukt .elementor-widget.emc-usp { display: none !important; }

/* Über uns, Hintergrund Runde 3 (15.10.2026, Lilly: Rahmen gut, Hintergrund nicht; Blumenkarte aus dem
 * Shop dahinter mit weichem Übergang statt des Bogens). Motiv: Muttertagskarte Rosa Pfingstrose (5697).
 * Liegt links hinter den Fotos und läuft nach rechts in die Sandfläche aus. */
.emc-ueberuns__bilder::before { content: none !important; }
.emc-ueberuns::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 62%;
	background: url("/wp-content/uploads/2026/08/muttertagskarte-rosa-pfingstrose-muttertagskarte-alles-liebe-zum-mutterta-01-1536x1536.jpg") center 40% / cover no-repeat;
	opacity: .55;
	-webkit-mask-image: linear-gradient(90deg, #000 0%, rgba(0, 0, 0, .85) 45%, transparent 100%);
	mask-image: linear-gradient(90deg, #000 0%, rgba(0, 0, 0, .85) 45%, transparent 100%);
	pointer-events: none;
	z-index: 0;
}
.emc-ueberuns__bilder, .emc-ueberuns__text { position: relative; z-index: 1; }
@media (max-width: 1024px) {
	/* untereinander: Motiv oben hinter den Fotos, weicher Übergang nach unten */
	.emc-ueberuns::before {
		width: 100%;
		height: 520px;
		bottom: auto;
		-webkit-mask-image: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, .85) 50%, transparent 100%);
		mask-image: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, .85) 50%, transparent 100%);
	}
}
@media (max-width: 767px) {
	.emc-ueberuns::before { height: 380px; }
}
/* Ausschnitt auf die Blüte, damit kein Kartentext („Alles Liebe zum Muttertag“) zu lesen ist */
.emc-ueberuns::before { background-size: 190% auto !important; background-position: 38% 88% !important; }

/* ==========================================================================
 * Startseite oben (15.10.2026, nach Lillys freigegebener Vorschau v2)
 * Hero mit Aussage, Vorteilsleiste (immer zweizeilig), Anlässe, Weihnachtspost,
 * Einladungen, Passend dazu. Nur globale Schriften und Farben.
 * Sicherung davor: backups/20261015-vor-startseite
 * ========================================================================== */
.emc-symbol-umschlag { --emc-symbol: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223.5%22%20y%3D%225.5%22%20width%3D%2217%22%20height%3D%2213%22%20rx%3D%221.5%22/%3E%3Cpath%20d%3D%22M4%207l8%206%208-6%22/%3E%3C/svg%3E"); }
.emc-start-hero, .emc-start-usp, .emc-start-abschnitt {
	font-family: var(--e-global-typography-text-font-family), sans-serif;
	color: var(--e-global-color-ef3e70d);
}
.emc-start-abschnitt :is(h2, h3, p), .emc-start-hero :is(h1, p) { font-family: inherit; }
.emc-start-abschnitt a, .emc-start-hero a { text-decoration: none; }

/* Hero: Text auf Sand links, Bild rechts */
.emc-start-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
	background: var(--e-global-color-accent);
	border-radius: var(--emc-radius);
	overflow: hidden;
}
.emc-start-hero__text { display: flex; flex-direction: column; justify-content: center; padding: 60px 50px; }
.emc-start-hero__titel {
	margin: 0 0 20px !important;
	font-family: var(--e-global-typography-primary-font-family), sans-serif !important;
	font-size: 40px !important;
	font-weight: var(--e-global-typography-primary-font-weight) !important;
	line-height: 1.15 !important;
	color: var(--e-global-color-primary) !important;
	text-wrap: balance;
}
.emc-start-hero__intro { margin: 0 0 30px !important; max-width: 460px; font-size: 17px; line-height: 1.6; }
.emc-start-hero__knoepfe { display: flex; flex-wrap: wrap; gap: 15px; }
.emc-start-hero__bild { min-height: 440px; }
.emc-start-hero__bild img { width: 100%; height: 100% !important; object-fit: cover; display: block; border-radius: 0 !important; }

/* Knöpfe aus dem Knopfsystem: voll und mit Rahmen */
.emc-knopf-voll, .emc-knopf-rand {
	display: inline-flex; align-items: center; justify-content: center;
	min-height: 48px; padding: 10px 25px; border-radius: 50px;
	font-family: var(--e-global-typography-text-font-family), sans-serif;
	font-size: 15px; font-weight: 500; line-height: 1.3;
	border: 1px solid var(--emc-knopf);
	transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
.emc-knopf-voll { background: var(--emc-knopf); color: var(--e-global-color-secondary) !important; }
.emc-knopf-voll:hover { background: var(--emc-knopf-hover); border-color: var(--emc-knopf-hover); }
.emc-knopf-rand { background: transparent; color: var(--emc-knopf) !important; }
.emc-knopf-rand:hover { background: var(--emc-knopf); color: var(--e-global-color-secondary) !important; }

/* Vorteilsleiste: jeder Punkt genau zwei Zeilen */
.emc-start-usp {
	display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px;
	margin: 25px 0 0 !important; padding: 20px 30px !important; list-style: none;
	border: 1px solid var(--e-global-color-text); border-radius: var(--emc-radius);
}
.emc-start-usp li { display: flex; align-items: center; gap: 12px; margin: 0; font-size: 14px; line-height: 1.4; white-space: nowrap; }
.emc-start-usp strong { display: block; font-weight: 600; color: var(--e-global-color-primary); }
.emc-start-usp__icon {
	flex: none; width: 40px; height: 40px; border-radius: 50%;
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--e-global-color-accent); color: var(--e-global-color-512ab0b);
}
.emc-start-usp__icon::before {
	content: ""; width: 19px; height: 19px; background: currentColor;
	-webkit-mask: var(--emc-symbol) center / contain no-repeat; mask: var(--emc-symbol) center / contain no-repeat;
}

/* Abschnittskopf mit Link rechts */
.emc-start-kopf { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 25px; }
.emc-start-kopf .emc-h2 { margin: 0 !important; }
.emc-start-mehr {
	flex: none; font-size: 15px; font-weight: 500; color: var(--e-global-color-ef3e70d) !important;
	border-bottom: 1px solid var(--e-global-color-512ab0b); padding-bottom: 2px;
	transition: color .15s ease, border-color .15s ease;
}
.emc-start-mehr:hover { color: var(--e-global-color-b1ded45) !important; border-color: var(--e-global-color-b1ded45); }

/* Anlass-Kacheln */
.emc-start-anlaesse { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 25px; }
.emc-start-kachel { display: block; color: var(--e-global-color-primary) !important; }
.emc-start-kachel img, .emc-start-passend img, .emc-start-einl__karte img {
	display: block; width: 100%; height: auto !important; aspect-ratio: 1 / 1; object-fit: cover;
	border-radius: var(--emc-radius) !important; transition: transform .25s ease, opacity .25s ease;
}
.emc-start-kachel:hover img, .emc-start-passend a:hover img { opacity: .9; }
.emc-start-kachel__name { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; margin-top: 12px; font-size: 16px; font-weight: 600; }
.emc-start-kachel__name small { font-size: 14px; font-weight: 400; color: var(--e-global-color-b1ded45); white-space: nowrap; }
.emc-start-alle {
	display: flex; flex-direction: column; justify-content: center; gap: 12px;
	aspect-ratio: 1 / 1; padding: 30px; border-radius: var(--emc-radius);
	background: var(--e-global-color-accent); color: var(--e-global-color-ef3e70d) !important;
}
.emc-start-alle strong { font-size: 20px; font-weight: 600; color: var(--e-global-color-primary); }
.emc-start-alle span { font-size: 14px; line-height: 1.5; }
.emc-start-alle .emc-start-mehr { align-self: flex-start; }

/* Einladungen: zwei Karten mit Chips */
.emc-start-einl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 25px; }
.emc-start-einl__karte {
	display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 25px; align-items: center;
	padding: 25px; border-radius: var(--emc-radius);
	background: color-mix(in srgb, var(--e-global-color-accent) 35%, var(--e-global-color-secondary));
}
.emc-start-einl__karte img { border-radius: 8px !important; }
.emc-start-einl__karte .emc-eyebrow2 { margin-bottom: 6px !important; }
.emc-start-einl__karte h3 { margin: 0 0 8px; font-size: 22px; font-weight: 600; line-height: 1.25; }
.emc-start-einl__karte h3 a { color: var(--e-global-color-primary) !important; }
.emc-start-einl__karte p:not(.emc-eyebrow2) { margin: 0 0 15px; font-size: 15px; line-height: 1.6; }
.emc-start-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.emc-start-chips a {
	display: inline-flex; align-items: center; min-height: 36px; padding: 6px 15px;
	font-size: 13px; font-weight: 500; color: var(--e-global-color-ef3e70d) !important;
	background: var(--e-global-color-secondary); border: 1px solid var(--e-global-color-b1ded45); border-radius: 50px;
	transition: background-color .15s ease, color .15s ease;
}
.emc-start-chips a:hover { background: var(--emc-knopf); border-color: var(--emc-knopf); color: var(--e-global-color-secondary) !important; }

/* Passend dazu */
.emc-start-passend { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 25px; }
.emc-start-passend a { display: block; color: var(--e-global-color-ef3e70d) !important; }
.emc-start-passend img { aspect-ratio: 4 / 3; margin-bottom: 15px; }
.emc-start-passend .emc-eyebrow2 { display: block; margin-bottom: 4px !important; font-size: 11px !important; }
.emc-start-passend h3 { margin: 0 0 6px; font-size: 18px; font-weight: 600; color: var(--e-global-color-primary); }
.emc-start-passend p { margin: 0; font-size: 14px; line-height: 1.6; }

/* Weihnachtspost: Produktraster aus dem Shop, nur eine Reihe */
.emc-start-saison .woocommerce-pagination, .emc-start-saison nav.woocommerce-pagination { display: none !important; }

@media (max-width: 1024px) {
	.emc-start-hero { grid-template-columns: minmax(0, 1fr); }
	.emc-start-hero__bild { order: -1; min-height: 0; aspect-ratio: 3 / 2; }
	.emc-start-hero__text { padding: 40px 30px; }
	.emc-start-usp { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 20px !important; }
	.emc-start-anlaesse { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.emc-start-einl { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767px) {
	.emc-start-hero__text { padding: 30px 20px; }
	.emc-start-hero__titel { font-size: 28px !important; }
	.emc-start-hero__intro { font-size: 16px; margin-bottom: 25px !important; }
	.emc-start-hero__knoepfe a { width: 100%; }
	.emc-start-usp { grid-template-columns: minmax(0, 1fr); gap: 15px; }
	.emc-start-anlaesse, .emc-start-passend { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
	.emc-start-passend a:last-child { grid-column: 1 / -1; }
	.emc-start-kachel__name { flex-direction: column; gap: 2px; font-size: 15px; }
	.emc-start-alle { padding: 20px; }
	.emc-start-alle strong { font-size: 17px; }
	.emc-start-kopf { flex-direction: column; align-items: flex-start; gap: 10px; }
	.emc-start-einl__karte { grid-template-columns: minmax(0, 1fr); padding: 20px; gap: 20px; }
	.emc-start-passend p { display: none; }
}

/* ==========================================================================
 * Unterseiten an die Startseite angeglichen (15.10.2026)
 * Gemeinsamer Abschluss „Weiter stöbern“ (kommt aus emotioncards-shop-design.php) und Footer.
 * ========================================================================== */
.emc-weiter {
	margin-top: 75px;
	padding: 75px 25px;
	background: color-mix(in srgb, var(--e-global-color-accent) 35%, var(--e-global-color-secondary));
	font-family: var(--e-global-typography-text-font-family), sans-serif;
	color: var(--e-global-color-ef3e70d);
}
.emc-weiter__innen { max-width: 1140px; margin: 0 auto; }
.emc-weiter a { text-decoration: none; }
.emc-weiter__anlaesse { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 20px; margin: 0 !important; padding: 0 !important; list-style: none; }
.emc-weiter__anlaesse li { margin: 0; }
.emc-weiter__anlaesse a { display: block; color: var(--e-global-color-primary) !important; }
.emc-weiter__anlaesse img {
	display: block; width: 100%; height: auto !important; aspect-ratio: 1 / 1; object-fit: cover;
	border-radius: var(--emc-radius) !important; transition: opacity .25s ease;
}
.emc-weiter__anlaesse a:hover img { opacity: .85; }
.emc-weiter__anlaesse span { display: block; margin-top: 10px; font-size: 14px; font-weight: 600; line-height: 1.3; }
.emc-weiter__anlaesse a[aria-current="page"] img { outline: 2px solid var(--e-global-color-b1ded45); outline-offset: 3px; }
.emc-weiter__anlaesse a[aria-current="page"] span { color: var(--e-global-color-b1ded45); }
.emc-weiter .emc-start-usp { margin-top: 50px !important; background: var(--e-global-color-secondary); }
/* Auf Seiten mit Abschluss kein zusätzlicher Leerraum über dem Footer */
.emc-weiter + [data-elementor-type="footer"], .emc-weiter + .elementor-location-footer { margin-top: 0; }

@media (max-width: 1024px) {
	.emc-weiter { padding: 50px 25px; margin-top: 50px; }
	.emc-weiter__anlaesse { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px; }
}
@media (max-width: 767px) {
	.emc-weiter__anlaesse { display: flex; overflow-x: auto; gap: 12px; scroll-snap-type: x mandatory; margin-right: -25px !important; padding-right: 25px !important; }
	.emc-weiter__anlaesse li { flex: 0 0 34%; scroll-snap-align: start; }
	.emc-weiter .emc-start-usp { margin-top: 30px !important; }
}

/* Footer: vier Spalten wie im Entwurf, Spaltentitel wie die kleinen Überschriften der Startseite */
body .elementor-location-footer .elementor-element-cc189a4 > .e-con-inner {
	display: grid !important;
	grid-template-columns: minmax(0, 1.3fr) repeat(3, minmax(0, 1fr));
	gap: 40px;
	padding: 60px 0 50px !important;
}
body .elementor-location-footer .elementor-element-cc189a4 > .e-con-inner > .e-con { width: auto !important; max-width: none !important; padding: 0 !important; gap: 0 !important; }
body .elementor-location-footer .elementor-element-4be14e7b .elementor-heading-title::before {
	content: ""; display: block; width: 150px; height: 66px; margin-bottom: 15px;
	background: url("/wp-content/uploads/2026/08/EC_Logo_RGB_schmal-1024x448.png") left center / contain no-repeat;
}
body .elementor-location-footer :is(.elementor-element-5953543, .elementor-element-d3eb366) .elementor-heading-title {
	margin: 0 0 10px !important;
	font-family: var(--e-global-typography-accent-font-family), sans-serif !important;
	font-size: 12px !important; font-weight: 600 !important; letter-spacing: .14em; text-transform: uppercase;
	color: var(--e-global-color-b1ded45) !important;
}
body .elementor-location-footer .elementor-element-cc189a4 .elementor-widget-heading:not(.elementor-element-5953543):not(.elementor-element-d3eb366) .elementor-heading-title {
	font-family: var(--e-global-typography-text-font-family), sans-serif !important;
	font-size: 15px !important; font-weight: 400 !important; line-height: 1.4 !important;
	color: var(--e-global-color-ef3e70d) !important;
}
body .elementor-location-footer .elementor-element-cc189a4 .elementor-heading-title a { color: inherit !important; transition: color .15s ease; }
body .elementor-location-footer .elementor-element-cc189a4 .elementor-heading-title a:hover { color: var(--e-global-color-b1ded45) !important; }
body .elementor-location-footer .elementor-element-4be14e7b .elementor-heading-title { font-size: 14px !important; color: var(--e-global-color-b1ded45) !important; }
body .elementor-location-footer .elementor-element-8cff6b2 { margin-top: 15px; }
body .elementor-location-footer .elementor-element-8cff6b2 .elementor-button {
	min-height: 40px !important; padding: 8px 20px !important; font-size: 14px !important;
	background: transparent !important; color: var(--emc-knopf) !important; border: 1px solid var(--emc-knopf) !important;
}
body .elementor-location-footer .elementor-element-8cff6b2 .elementor-button:hover { background: var(--emc-knopf) !important; color: var(--e-global-color-secondary) !important; }
body .elementor-location-footer .elementor-element-3dda9bc { background: var(--e-global-color-ef3e70d) !important; }
body .elementor-location-footer .elementor-element-3dda9bc > .e-con-inner { padding: 12px 0 !important; }
body .elementor-location-footer .elementor-element-52551ae .elementor-heading-title { font-size: 12px !important; color: var(--e-global-color-secondary) !important; opacity: .85; }
@media (max-width: 1024px) {
	body .elementor-location-footer .elementor-element-cc189a4 > .e-con-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; padding: 50px 0 40px !important; }
}
@media (max-width: 767px) {
	body .elementor-location-footer .elementor-element-cc189a4 > .e-con-inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); padding: 40px 0 30px !important; }
	body .elementor-location-footer .elementor-element-269d847 { grid-column: 1 / -1; }
}

/* Überschriften auf Unterseiten wie auf der Startseite: links, 32/24 px, globale Schrift */
body :is(.related.products, .upsells.products, .cross-sells) > h2,
body .elementor-widget-woocommerce-product-related h2,
body .elementor-widget-woocommerce-product-upsell h2,
body .woocommerce-cart .cart-empty,
body .wc-empty-cart-message .cart-empty {
	font-family: var(--e-global-typography-primary-font-family), sans-serif !important;
	font-size: var(--e-global-typography-primary-font-size) !important;
	font-weight: var(--e-global-typography-primary-font-weight) !important;
	line-height: 1.2 !important;
	color: var(--e-global-color-primary) !important;
	text-align: left !important;
	margin: 0 0 25px !important;
}
@media (max-width: 767px) {
	body :is(.related.products, .upsells.products, .cross-sells) > h2,
	body .elementor-widget-woocommerce-product-related h2,
	body .woocommerce-cart .cart-empty { font-size: 24px !important; }
}

/* Footer Spalte 1: Logo über dem Copyright, alles linksbündig */
body .elementor-location-footer .elementor-element-269d847 .elementor-heading-title { text-align: left !important; }
body .elementor-location-footer .elementor-element-269d847 .elementor-widget-heading { width: 100%; }
body .elementor-location-footer .elementor-element-cc189a4 .elementor-widget { align-self: stretch !important; width: 100% !important; max-width: 100% !important; margin: 0 !important; }
body .elementor-location-footer .elementor-element-8cff6b2 { margin-top: 15px !important; }
body .elementor-location-footer .elementor-element-8cff6b2 :is(.elementor-button-wrapper, .elementor-widget-container) { display: flex; justify-content: flex-start !important; text-align: left !important; }
@media (min-width: 768px) { body .elementor-location-footer .elementor-element-b4b3f1d { padding-top: 22px !important; } }
body .elementor-location-footer .elementor-element-cc189a4 .elementor-widget > .elementor-widget-container { margin: 0 !important; padding: 0 !important; }
body .elementor-location-footer .elementor-element-cc189a4 > .e-con-inner > .e-con { margin: 0 !important; justify-content: flex-start !important; align-self: start !important; }

/* Leerer Warenkorb: Abstand zum Header wie auf den Kategorieseiten, linksbündig */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block { padding-top: 50px; }
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block h2 { text-align: left !important; }
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block h2 + * , body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-separator { margin-top: 0; }
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block h2:not(.wc-block-cart__empty-cart__title) {
	margin-top: 50px !important;
	font-size: 12px !important; font-weight: 600 !important; letter-spacing: .14em; text-transform: uppercase;
	color: var(--e-global-color-b1ded45) !important; margin-bottom: 15px !important;
}
@media (max-width: 767px) { body.woocommerce-cart .wp-block-woocommerce-empty-cart-block { padding-top: 30px; } }

/* Rechtsseiten (Impressum, Datenschutz, Cookie-Richtlinie, Gewährleistung): klare Rangfolge wie auf der Startseite.
 * Seitentitel 32/24 px, Zwischenüberschriften 20 px, Fließtext 16 px mit ruhigem Zeilenabstand. */
:is(.page-id-48, .page-id-50, .page-id-4591, .page-id-9859) [data-elementor-type="wp-page"] .elementor-widget-heading h1.elementor-heading-title {
	font-size: var(--e-global-typography-primary-font-size) !important; font-weight: var(--e-global-typography-primary-font-weight) !important;
	line-height: 1.2 !important; margin-bottom: 10px !important;
}
:is(.page-id-48, .page-id-50, .page-id-4591, .page-id-9859) [data-elementor-type="wp-page"] :is(.elementor-widget-html, .elementor-widget-text-editor, .elementor-widget-theme-post-content) :is(h2, h3, h4) {
	font-family: var(--e-global-typography-primary-font-family), sans-serif !important;
	font-size: 20px !important; font-weight: 600 !important; line-height: 1.3 !important;
	color: var(--e-global-color-primary) !important; margin: 40px 0 10px !important;
}
:is(.page-id-48, .page-id-50, .page-id-4591, .page-id-9859) [data-elementor-type="wp-page"] :is(.elementor-widget-html, .elementor-widget-text-editor, .elementor-widget-theme-post-content) :is(h3, h4) { font-size: 17px !important; margin-top: 25px !important; }
:is(.page-id-48, .page-id-50, .page-id-4591, .page-id-9859) [data-elementor-type="wp-page"] :is(.elementor-widget-html, .elementor-widget-text-editor, .elementor-widget-theme-post-content) :is(p, li) {
	font-family: var(--e-global-typography-text-font-family), sans-serif !important;
	font-size: 16px !important; line-height: 1.6 !important; color: var(--e-global-color-ef3e70d);
	margin: 0 0 8px !important; max-width: 760px;
}
:is(.page-id-48, .page-id-50, .page-id-4591, .page-id-9859) [data-elementor-type="wp-page"] :is(.elementor-widget-html, .elementor-widget-text-editor) a { color: var(--e-global-color-512ab0b); text-decoration: underline; text-underline-offset: 2px; }
@media (max-width: 767px) {
	:is(.page-id-48, .page-id-50, .page-id-4591, .page-id-9859) [data-elementor-type="wp-page"] .elementor-widget-heading h1.elementor-heading-title { font-size: 24px !important; }
	:is(.page-id-48, .page-id-50, .page-id-4591, .page-id-9859) [data-elementor-type="wp-page"] :is(.elementor-widget-html, .elementor-widget-text-editor, .elementor-widget-theme-post-content) :is(h2, h3, h4) { font-size: 18px !important; margin-top: 30px !important; }
}
/* Startseite mobil: Einladungen und „Passend dazu“ als kompakte Zeilen mit Bild links statt riesiger Bilder */
@media (max-width: 767px) {
	.emc-start-einl__karte { grid-template-columns: 110px minmax(0, 1fr) !important; align-items: start; gap: 15px !important; padding: 15px !important; }
	.emc-start-einl__karte h3 { font-size: 18px; }
	.emc-start-einl__karte p:not(.emc-eyebrow2) { font-size: 14px; margin-bottom: 10px; }
	.emc-start-passend { grid-template-columns: minmax(0, 1fr) !important; gap: 15px !important; }
	.emc-start-passend a { display: grid; grid-template-columns: 110px minmax(0, 1fr); column-gap: 15px; align-items: center; }
	.emc-start-passend a:last-child { grid-column: auto; }
	.emc-start-passend img { grid-row: span 3; aspect-ratio: 1 / 1; margin: 0; }
	.emc-start-passend .emc-eyebrow2 { align-self: end; }
	.emc-start-passend h3 { margin: 0; font-size: 16px; align-self: start; }
	.emc-start-passend p { display: block; grid-column: 2; font-size: 13px; }
}

/* Mein Konto und Kasse (Theme-Seiten ohne Elementor): gleicher Seitenrand und Rhythmus wie alle anderen Seiten */
body:is(.woocommerce-account, .woocommerce-checkout, .woocommerce-cart) main.site-main {
	max-width: 1190px; margin: 0 auto; padding: 50px 25px 75px !important;
	font-family: var(--e-global-typography-text-font-family), sans-serif; color: var(--e-global-color-ef3e70d);
}
body:is(.woocommerce-account, .woocommerce-checkout) main.site-main :is(h1, h2) {
	font-family: var(--e-global-typography-primary-font-family), sans-serif !important;
	font-size: var(--e-global-typography-primary-font-size) !important; font-weight: var(--e-global-typography-primary-font-weight) !important;
	line-height: 1.2 !important; color: var(--e-global-color-primary) !important; margin: 0 0 25px !important;
}
body:is(.woocommerce-account, .woocommerce-checkout) main.site-main h3 { font-size: 20px !important; font-weight: 600 !important; color: var(--e-global-color-primary); }
body.woocommerce-account:not(.logged-in) main.site-main form.woocommerce-form-login,
body.woocommerce-account:not(.logged-in) main.site-main form.woocommerce-form-register { max-width: 480px; margin: 0; padding: 0; border: 0; }
body:is(.woocommerce-account, .woocommerce-checkout) main.site-main a:not(.button):not(.elementor-button) { color: var(--e-global-color-512ab0b) !important; text-decoration: underline; text-underline-offset: 2px; }
body:is(.woocommerce-account, .woocommerce-checkout) main.site-main label { font-size: 14px; font-weight: 500; color: var(--e-global-color-ef3e70d); margin-bottom: 6px; }
@media (max-width: 767px) {
	body:is(.woocommerce-account, .woocommerce-checkout, .woocommerce-cart) main.site-main { padding: 30px 25px 50px !important; }
	body:is(.woocommerce-account, .woocommerce-checkout) main.site-main :is(h1, h2) { font-size: 24px !important; }
}

/* Gefüllter Warenkorb bekommt eine Überschrift wie alle Seiten; der leere hat schon eine */
body.woocommerce-cart .wp-block-woocommerce-filled-cart-block::before {
	content: "Dein Warenkorb"; display: block; width: 100%; flex: 0 0 100%; margin: 0 0 25px;
	font-family: var(--e-global-typography-primary-font-family), sans-serif;
	font-size: var(--e-global-typography-primary-font-size); font-weight: var(--e-global-typography-primary-font-weight);
	line-height: 1.2; color: var(--e-global-color-primary);
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block { padding-top: 0; }
@media (max-width: 767px) { body.woocommerce-cart .wp-block-woocommerce-filled-cart-block::before { font-size: 24px; } }
/* Warenkorb und Kasse (Blöcke): Produktname und Hauptknopf wie im Knopfsystem */
body :is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .wc-block-components-product-name {
	color: var(--e-global-color-primary) !important; font-weight: 600; text-decoration: none;
}
body :is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .wc-block-components-product-name:hover { color: var(--e-global-color-b1ded45) !important; }
body :is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .wc-block-components-button:not(.is-link) {
	min-height: 48px; border-radius: 50px !important; border: 1px solid var(--emc-knopf) !important;
	background: var(--emc-knopf) !important; color: var(--e-global-color-secondary) !important;
	font-family: var(--e-global-typography-text-font-family), sans-serif !important; font-size: 15px !important; font-weight: 500 !important;
	box-shadow: none !important; transition: background-color .15s ease, border-color .15s ease;
}
body :is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .wc-block-components-button:not(.is-link):hover {
	background: var(--emc-knopf-hover) !important; border-color: var(--emc-knopf-hover) !important;
}
/* Kasse: Abschnittstitel 20 px statt Seitentitelgröße, Produktname in der Übersicht klein */
body.woocommerce-checkout main.site-main :is(h2, h3).wc-block-components-title,
body.woocommerce-checkout main.site-main .wc-block-components-checkout-step__title {
	font-size: 20px !important; font-weight: 600 !important; margin: 0 0 15px !important;
}
body.woocommerce-checkout .wc-block-components-order-summary-item .wc-block-components-product-name,
body.woocommerce-checkout .wc-block-components-order-summary-item :is(h3, h4) {
	font-size: 15px !important; line-height: 1.4 !important; font-weight: 600 !important; margin: 0 0 4px !important;
}

/* ==========================================================================
 * Header luftiger, Ausklappmenü gleichmäßig, dezente Schatten (16.10.2026, Lilly)
 * ========================================================================== */
:root {
	--emc-schatten: 0 6px 20px rgba(57, 45, 36, .07);
	--emc-schatten-klein: 0 2px 10px rgba(57, 45, 36, .06);
	--emc-schatten-hover: 0 12px 28px rgba(57, 45, 36, .12);
}

@media (min-width: 1025px) {
	/* Kopfzeile auf volle Breite: Logo links, Symbole rechts, Menü mittig in Boxbreite */
	body [data-elementor-type="header"] .elementor-element-ec9dea2 > .e-con-inner {
		max-width: none !important;
		display: grid !important;
		grid-template-columns: minmax(160px, 1fr) auto minmax(160px, 1fr);
		align-items: center;
		column-gap: 30px;
		padding: 0 40px !important;
	}
	body [data-elementor-type="header"] .elementor-element-ec9dea2 { padding-left: 0 !important; padding-right: 0 !important; }
	body [data-elementor-type="header"] .elementor-element-8a6b3e0 { grid-column: 1; grid-row: 1; justify-self: start; width: auto !important; margin: 0 !important; }
	body [data-elementor-type="header"] .elementor-element-8a6b3e0 img { width: 135px !important; max-width: none !important; height: auto !important; }
	body [data-elementor-type="header"] .elementor-element-f72e69d { grid-column: 2; grid-row: 1; justify-self: center; width: auto !important; max-width: 1140px; margin: 0 !important; }
	body [data-elementor-type="header"] .elementor-element-8382965 { grid-column: 3; grid-row: 1; justify-self: end; width: auto !important; margin: 0 !important; gap: 22px !important; }
	body [data-elementor-type="header"] .elementor-element-f72e69d {
		--n-menu-title-space-between: 10px !important;
		--n-menu-title-padding: 24px 0.85rem !important;
	}
	/* Menü füllt die Zeilenhöhe: das Ausklappmenü setzt so genau an der Unterkante des Headers an */
	body [data-elementor-type="header"] .elementor-element-8a6b3e0, body [data-elementor-type="header"] .elementor-element-8382965 { padding: 0 !important; }

	/* Ausklappmenü: überall gleiche Innenabstände statt zufälliger Werte */
	body [data-elementor-type="header"] .e-n-menu-content > .e-con {
		padding: 35px 0 40px !important;
		border-top: 1px solid var(--e-global-color-text);
		box-shadow: 0 18px 30px -18px rgba(57, 45, 36, .18) !important;
	}
	body [data-elementor-type="header"] .e-n-menu-content > .e-con > .e-con-inner { padding: 0 25px !important; }
	body [data-elementor-type="header"] .e-n-menu-content .e-con:not(.e-n-menu-content > .e-con) {
		padding: 0 !important; margin: 0 !important; min-height: 0 !important;
		justify-content: flex-start !important; align-items: stretch;
	}
	body [data-elementor-type="header"] .e-n-menu-content > .e-con > .e-con-inner > .e-con { gap: 50px !important; flex-wrap: nowrap; }
	body [data-elementor-type="header"] .e-n-menu-content > .e-con > .e-con-inner > .e-con > .e-con { gap: 12px !important; }
	body [data-elementor-type="header"] .e-n-menu-content .elementor-widget { margin: 0 !important; }
	body [data-elementor-type="header"] .e-n-menu-content .elementor-widget > .elementor-widget-container { margin: 0 !important; padding: 0 !important; }
	/* Spaltentitel wie die kleinen Überschriften der Seite */
	body [data-elementor-type="header"] .e-n-menu-content .elementor-widget-heading .elementor-heading-title {
		margin: 0 !important;
		font-family: var(--e-global-typography-accent-font-family), sans-serif !important;
		font-size: 12px !important; font-weight: 600 !important; letter-spacing: .14em !important; text-transform: uppercase;
		line-height: 1.4 !important; color: var(--e-global-color-b1ded45) !important;
	}
	/* Bildspalten bei Downloads: Titel unter dem Bild als normaler Menütext */
	body [data-elementor-type="header"] .e-n-menu-content .elementor-widget-image + .elementor-widget-heading .elementor-heading-title {
		margin-top: 2px !important; font-family: var(--e-global-typography-text-font-family), sans-serif !important;
		font-size: 15px !important; font-weight: 500 !important; letter-spacing: 0 !important; text-transform: none;
		color: var(--e-global-color-primary) !important;
	}
	/* Linklisten: gleicher Zeilenabstand in allen Spalten */
	body [data-elementor-type="header"] .e-n-menu-content .elementor-icon-list-items { display: flex; flex-direction: column; gap: 4px; }
	body [data-elementor-type="header"] .e-n-menu-content .elementor-icon-list-item { padding: 0 !important; margin: 0 !important; }
	body [data-elementor-type="header"] .e-n-menu-content .elementor-icon-list-item::after { content: none !important; }
	body [data-elementor-type="header"] .e-n-menu-content .elementor-icon-list-item a { padding: 5px 0 !important; }
	body [data-elementor-type="header"] .e-n-menu-content .elementor-icon-list-text { font-size: 15px !important; line-height: 1.4 !important; }
	/* Bilder im Menü: abgerundet, dezenter Schatten, oben bündig */
	body [data-elementor-type="header"] .e-n-menu-content :is(.elementor-widget-image img, .elementor-widget-image-carousel .swiper) {
		border-radius: var(--emc-radius) !important; box-shadow: var(--emc-schatten-klein);
	}
	body [data-elementor-type="header"] .e-n-menu-content :is(.elementor-widget-image, .elementor-widget-image-carousel) { align-self: flex-start; }
}

/* Dezente Schatten: Kopfzeile, Karten, Flächen. Nur wo es Tiefe gibt, nicht überall */
body [data-elementor-type="header"] .elementor-element-82e287c { box-shadow: 0 2px 14px rgba(57, 45, 36, .06); position: relative; z-index: 10; }
.emc-start-hero { box-shadow: var(--emc-schatten); }
.emc-start-usp { background: var(--e-global-color-secondary); box-shadow: var(--emc-schatten-klein); border-color: transparent !important; }
.emc-start-kachel img, .emc-start-passend img, .emc-weiter__anlaesse img { box-shadow: var(--emc-schatten-klein); transition: box-shadow .25s ease, opacity .25s ease !important; }
.emc-start-kachel:hover img, .emc-start-passend a:hover img, .emc-weiter__anlaesse a:hover img { box-shadow: var(--emc-schatten-hover); opacity: 1 !important; }
.emc-start-alle, .emc-start-einl__karte { box-shadow: var(--emc-schatten-klein); }
body ul.products li.product a img { box-shadow: var(--emc-schatten-klein); transition: box-shadow .25s ease !important; }
body ul.products li.product:hover a img { box-shadow: var(--emc-schatten-hover); }
body :is(.elementor-widget-woocommerce-product-images, .woocommerce-product-gallery) .woocommerce-product-gallery__image img { box-shadow: var(--emc-schatten); }
body .wp-block-woocommerce-cart-order-summary-block, body .wp-block-woocommerce-checkout-order-summary-block { box-shadow: var(--emc-schatten-klein); border-radius: var(--emc-radius); }
@media (min-width: 1025px) {
	/* Downloads-Panel war per Verschiebung 13 px nach unten gerutscht: Lücke oben, Bild schaute durch */
	body [data-elementor-type="header"] .e-n-menu-content > .e-con { transform: none !important; }
	/* Bildspalten (Downloads): feste Breite, Bild und Titel linksbündig wie die anderen Spalten */
	body [data-elementor-type="header"] .elementor-element-eead287 { justify-content: flex-start !important; }
	body [data-elementor-type="header"] .elementor-element-eead287 > .e-con { flex: 0 0 260px !important; width: 260px !important; align-items: flex-start !important; }
	body [data-elementor-type="header"] .elementor-element-eead287 :is(.elementor-widget-image, .elementor-widget-heading) { width: 100% !important; text-align: left !important; }
	body [data-elementor-type="header"] .elementor-element-eead287 .elementor-widget-image img { width: 100% !important; height: auto !important; aspect-ratio: 4 / 3; object-fit: cover; }
	body [data-elementor-type="header"] .elementor-element-eead287 .elementor-heading-title { text-align: left !important; }
}

/* ==========================================================================
 * Volle Breite auf der Startseite, Downloads-Menü mittig, Weiter stöbern zweireihig (16.10.2026, Lilly)
 * Volle Breite per 100vw; html schneidet den Rest seitlich ab (overflow-x: clip bricht sticky nicht).
 * ========================================================================== */
html { overflow-x: clip; }
:root { --emc-seitenrand: max(25px, calc((100vw - 1140px) / 2)); }

/* Downloads im Ausklappmenü: beide Bilder mittig mit Abstand */
@media (min-width: 1025px) {
	body [data-elementor-type="header"] .e-n-menu-content .e-con.e-con.elementor-element-eead287:not(.emc-x) { justify-content: center !important; gap: 60px !important; }
}

/* Hero: von Rand zu Rand, Text startet auf der Linie des Seiteninhalts */
body .elementor-element-512693b { padding-top: 0 !important; }
body .elementor-element-512693b > .e-con-inner { padding-top: 0 !important; }
.emc-start-hero {
	width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw);
	border-radius: 0; box-shadow: none; min-height: 560px;
}
.emc-start-hero__text { padding: 75px 60px 75px var(--emc-seitenrand); }
.emc-start-hero__titel { font-size: 44px !important; }
.emc-start-hero__intro { font-size: 18px; }
.emc-start-usp { margin-top: 40px !important; }

/* Über uns: Fläche über die volle Breite, Inhalt bleibt auf Boxbreite */
.emc-ueberuns {
	width: 100vw; margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important;
	border-radius: 0 !important;
	padding: 90px var(--emc-seitenrand) !important;
	box-sizing: border-box;
}
.emc-ueberuns::after { inset: 20px !important; top: 20px !important; right: 20px !important; }
.emc-ueberuns::before { width: 55% !important; }

/* Lass dich inspirieren: Bilderreihe über die volle Breite mit mehr Luft */
.emc-insp__bilder {
	width: 100vw; margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important;
	padding: 0 40px !important; box-sizing: border-box;
	gap: 25px !important;
}
.emc-insp__bilder img { border-radius: var(--emc-radius) !important; box-shadow: var(--emc-schatten-klein); }

/* Newsletter: Sandfläche über die volle Breite, Formular bleibt schmal und mittig */
body .elementor-element-41c76fe { padding-left: 0 !important; padding-right: 0 !important; }
body .elementor-element-41c76fe > .e-con-inner { max-width: none !important; padding: 0 !important; }
body .elementor-element.elementor-element-cde6b8f {
	width: 100vw !important; max-width: 100vw !important; margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important;
	border-radius: 0 !important; padding: 75px var(--emc-seitenrand) !important; box-sizing: border-box;
}

@media (max-width: 1024px) {
	.emc-start-hero { min-height: 0; }
	.emc-start-hero__text { padding: 40px 25px; }
	.emc-ueberuns { padding: 60px 25px !important; }
	.emc-insp__bilder { padding: 0 25px !important; gap: 15px !important; }
}
@media (max-width: 767px) {
	.emc-start-hero__titel { font-size: 28px !important; }
	.emc-start-hero__intro { font-size: 16px; }
	.emc-start-hero__text { padding: 30px 25px 40px; }
	.emc-start-usp { margin-top: 25px !important; }
	.emc-ueberuns { padding: 50px 25px !important; }
	.emc-ueberuns::after { inset: 12px !important; top: 12px !important; right: 12px !important; }
	body .elementor-element.elementor-element-cde6b8f { padding: 50px 25px !important; }
}

/* Weiter stöbern: zwei Reihen mit je vier Anlässen statt einer engen Reihe */
.emc-weiter__anlaesse { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 30px 25px !important; }
.emc-weiter__anlaesse img { aspect-ratio: 4 / 3 !important; }
.emc-weiter__anlaesse span { margin-top: 12px; font-size: 16px; }
@media (max-width: 767px) {
	.emc-weiter__anlaesse { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 20px 15px !important; overflow: visible; margin-right: 0 !important; padding-right: 0 !important; }
	.emc-weiter__anlaesse li { flex: none; }
	.emc-weiter__anlaesse span { font-size: 15px; }
}

/* Mobiler Header (16.10.2026, Lilly: clean): Logo links, Symbole und Menüknopf rechts zusammen,
 * feste Höhe 64 px, das Menü klappt exakt unter dem Header auf statt über das Logo */
@media (max-width: 1024px) {
	body [data-elementor-type="header"] .elementor-element-ec9dea2 { padding: 0 !important; }
	body [data-elementor-type="header"] .elementor-element-ec9dea2 > .e-con-inner {
		display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important;
		align-items: center !important; justify-content: flex-start !important;
		min-height: 64px; padding: 0 20px 0 25px !important; gap: 0 !important;
	}
	body [data-elementor-type="header"] .elementor-element-8a6b3e0 { order: 1; margin: 0 auto 0 0 !important; width: auto !important; }
	body [data-elementor-type="header"] .elementor-element-8a6b3e0 img { width: 112px !important; height: auto !important; max-width: none !important; }
	body [data-elementor-type="header"] .elementor-element-8382965 { order: 2; width: auto !important; margin: 0 !important; gap: 4px !important; }
	body [data-elementor-type="header"] .elementor-element-8382965 .elementor-icon-wrapper,
	body [data-elementor-type="header"] .elementor-element-8382965 .elementor-icon { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; min-height: 40px; }
	body [data-elementor-type="header"] .elementor-element-8382965 .elementor-icon { font-size: 19px !important; }
	body [data-elementor-type="header"] .elementor-element-8382965 .elementor-icon svg { width: 19px !important; height: 19px !important; }
	body [data-elementor-type="header"] .elementor-element-f72e69d { order: 3; width: auto !important; margin: 0 0 0 4px !important; }
	body [data-elementor-type="header"] .elementor-element-f72e69d .e-n-menu-toggle { min-width: 44px; min-height: 44px; }
	body [data-elementor-type="header"] .elementor-element-f72e69d .e-n-menu-wrapper { top: calc(50% + 32px) !important; }
	/* Aktiver Strich gehört nur ins Desktop-Menü, in der Liste wirkt er wie ein Fehler */
	[data-elementor-type="header"] .e-n-menu-title.emc-aktiv .e-n-menu-title-text::after { content: none !important; }
	[data-elementor-type="header"] .e-n-menu-heading .e-n-menu-title-text { font-size: 16px !important; }
	[data-elementor-type="header"] .e-n-menu-dropdown-icon svg { width: 12px !important; height: 12px !important; }
	/* Infoleiste oben kleiner, damit sie nicht schreit */
	body [data-elementor-type="header"] .elementor-element-889ca7c .elementor-heading-title { font-size: 13px !important; line-height: 1.3 !important; }
	body [data-elementor-type="header"] .elementor-element-41755a7 { padding-top: 8px !important; padding-bottom: 8px !important; }
}
@media (max-width: 767px) {
	/* Sortierung auf Kategorieseiten volle Breite statt eingerückt */
	body .woocommerce .woocommerce-ordering { width: 100%; float: none; margin: 0 0 25px !important; }
	body .woocommerce .woocommerce-ordering select { width: 100% !important; }
}
@media (max-width: 1024px) {
	body [data-elementor-type="header"] .elementor-element-f72e69d,
	body [data-elementor-type="header"] .elementor-element-8382965,
	body [data-elementor-type="header"] .elementor-element-8a6b3e0 { flex: 0 0 auto !important; max-width: none !important; }
	body [data-elementor-type="header"] .elementor-element-8a6b3e0 { margin-right: auto !important; }
	[data-elementor-type="header"] .e-n-menu-heading .e-n-menu-title { padding: 0 15px 0 25px !important; }
}
@media (min-width: 1025px) { body [data-elementor-type="header"] .e-n-menu-content .elementor-element-eead287 .elementor-heading-title.elementor-heading-title { text-align: center !important; } }

/* Wortleiste über dem Kontaktformular (Papier-Wiki, Über uns, Unternehmenslösungen, Wünsche & Anregungen)
 * ausgeblendet (16.10.2026): drei der vier Einträge haben kein Ziel, die Seiten gibt es nicht.
 * Inhalt bleibt in Elementor (Container 9f9a71a) erhalten; zum Zurückholen diese Regel löschen. */
body .elementor-element-9f9a71a { display: none !important; }
body .elementor-element-136ea5c { padding-top: 75px !important; }
@media (max-width: 767px) { body .elementor-element-136ea5c { padding-top: 50px !important; } }
/* Grußkarten-Panel so hoch wie Einladungen (246 px): Linkzeilen minimal enger, unten etwas weniger Abstand */
@media (min-width: 1025px) {
	body [data-elementor-type="header"] .elementor-element-0a6c3b7 .elementor-icon-list-item a { padding: 3px 0 !important; }
	body [data-elementor-type="header"] .e-n-menu-content > .e-con.elementor-element-0a6c3b7 { padding-bottom: 30px !important; }
}
