/* Low Layer Kennzeichen-Vorschau */
@font-face {
	font-family: "FE-Font";
	src: url("fe-font.ttf") format("truetype");
	font-weight: 400 900;
	font-display: block;
}

.ll-kz-hidden { display: none !important; }

.ll-kz-stage {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	padding: 18px 12px 16px;
	border: 1px solid #2a2a2e;
	border-radius: 14px;
	background: radial-gradient(120% 90% at 50% 35%, #202026 0%, #0a0a0b 72%);
	overflow: hidden;
}
.ll-kz-view { width: 100%; display: block; cursor: grab; touch-action: pan-y; }
.ll-kz-view:active { cursor: grabbing; }
.ll-kz-view canvas { display: block; width: 100% !important; }
.ll-kz-cap {
	font-family: Montserrat, sans-serif;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #8b8b92;
	text-align: center;
}
.ll-kz-note {
	margin: 0;
	max-width: 46ch;
	font-family: Montserrat, sans-serif;
	font-size: 12px;
	line-height: 1.45;
	color: #8b8b92;
	text-align: center;
}
.ll-kz-fallback { position: relative; background: #f4f4f2; border-radius: 8px; padding: 8px; }
.ll-kz-fallback canvas { display: block; width: 100%; height: auto; }
.ll-kz-fallback .ll-kz-decal { position: absolute; inset: 8px; width: calc(100% - 16px); }

.ll-kz-err {
	margin-top: 6px;
	font-size: 13px;
	font-weight: 500;
	color: #ff5c74;
}
.ll-kz-err:empty { display: none; }
form.cart [aria-invalid="true"] { border-color: #ff5c74 !important; }
.ll-kz-state-row select { width: 100%; }

/* ---------- Formular im Low-Layer-Look (nur auf Produkten mit Vorschau-Vorlage) ---------- */
body.ll-preview form.cart {
	display: flex !important;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 10px;
}
body.ll-preview form.cart .wapf,
body.ll-preview form.cart .wapf-product-totals { flex: 1 1 100%; width: 100%; }
body.ll-preview form.cart .wapf-field-row { margin-bottom: 14px; }
body.ll-preview form.cart .wapf-field-label label {
	font-family: Montserrat, sans-serif !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	color: #fff !important;
}
body.ll-preview form.cart .wapf-field-label { margin-bottom: 8px !important; }
body.ll-preview form.cart abbr.required { color: #dd183b !important; text-decoration: none !important; border: 0 !important; }
body.ll-preview form.cart .wapf-field-input input[type="text"],
body.ll-preview form.cart .wapf-field-input select {
	box-sizing: border-box;
	width: 100% !important;
	height: auto !important;
	min-height: 48px;
	margin: 0 !important;
	padding: 11px 12px !important;
	font-family: Montserrat, sans-serif !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	color: #fff !important;
	background-color: #1f1f23 !important;
	border: 1px solid #2a2a2e !important;
	border-radius: 8px !important;
	box-shadow: none !important;
	outline: none;
	transition: border-color .15s;
}
body.ll-preview form.cart .wapf-field-input select {
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
	padding-right: 40px !important;
	background-image: linear-gradient(45deg, transparent 50%, #c4c4c9 50%), linear-gradient(135deg, #c4c4c9 50%, transparent 50%) !important;
	background-position: calc(100% - 20px) 50%, calc(100% - 14px) 50% !important;
	background-size: 6px 6px, 6px 6px !important;
	background-repeat: no-repeat !important;
}
body.ll-preview form.cart .wapf-field-input select option { color: #fff; background: #1f1f23; }
body.ll-preview form.cart .wapf-field-input input::placeholder { color: #8b8b92; font-weight: 500; opacity: 1; }
body.ll-preview form.cart input.ll-kz-plate { text-transform: uppercase; }
body.ll-preview form.cart input.ll-kz-plate::placeholder { text-transform: none; }
body.ll-preview form.cart .wapf-field-input input:focus,
body.ll-preview form.cart .wapf-field-input select:focus { border-color: #dd183b !important; }
body.ll-preview form.cart [aria-invalid="true"] { border-color: #ff5c74 !important; }

/* Preisübersicht als Karte */
body.ll-preview form.cart .wapf-product-totals {
	box-sizing: border-box;
	margin: 4px 0 6px !important;
	padding: 14px 16px !important;
	background: #151517 !important;
	border: 1px solid #2a2a2e !important;
	border-radius: 14px !important;
}
body.ll-preview form.cart .wapf-product-totals .wapf--inner { display: flex; flex-direction: column; gap: 6px; }
body.ll-preview form.cart .wapf-product-totals .wapf--inner > div {
	display: flex; justify-content: space-between; gap: 12px;
	font-family: Montserrat, sans-serif; font-size: 14px; font-weight: 500; color: #c4c4c9;
}
body.ll-preview form.cart .wapf-product-totals .wapf--inner > div { align-items: baseline; line-height: 1.4; }
body.ll-preview form.cart .wapf-product-totals .price {
	margin: 0 !important;
	font-family: Montserrat, sans-serif !important;
	font-size: 14px !important;
	line-height: 1.4 !important;
	color: #fff !important;
	font-weight: 600 !important;
	font-variant-numeric: tabular-nums;
}
body.ll-preview form.cart .wapf-product-totals .wapf--inner > div:last-child {
	margin-top: 4px; padding-top: 10px; border-top: 1px solid #2a2a2e;
	font-size: 16px; font-weight: 800; color: #fff;
}
body.ll-preview form.cart .wapf-product-totals .wapf--inner > div:last-child .price { font-size: 17px !important; font-weight: 800 !important; }

/* Menge und Warenkorb-Button */
body.ll-preview form.cart .quantity {
	display: flex !important;
	align-items: stretch;
	margin: 0 !important;
	height: 50px !important;
	background: #151517;
	border: 1px solid #2a2a2e;
	border-radius: 10px;
	overflow: hidden;
}
body.ll-preview form.cart .quantity input.qty {
	width: 40px !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	text-align: center;
	font-family: Montserrat, sans-serif !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	color: #fff !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	-moz-appearance: textfield;
}
body.ll-preview form.cart .quantity input.qty::-webkit-outer-spin-button,
body.ll-preview form.cart .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
body.ll-preview form.cart .ll-kz-qbtn {
	width: 40px !important;
	min-width: 40px !important;
	height: 100% !important;
	min-height: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #fff !important;
	font-family: Montserrat, sans-serif !important;
	font-size: 18px !important;
	font-weight: 500 !important;
	line-height: 1 !important;
	cursor: pointer;
}
body.ll-preview form.cart .ll-kz-qbtn:hover { background: #1f1f23 !important; }
body.ll-preview form.cart .single_add_to_cart_button {
	flex: 1 1 180px;
	height: 50px !important;
	min-height: 50px;
	margin: 0 !important;
	padding: 0 20px !important;
	font-family: Montserrat, sans-serif !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	color: #fff !important;
	background-color: #dd183b !important;
	border: 0 !important;
	border-radius: 10px !important;
	box-shadow: none !important;
	cursor: pointer;
	transition: background-color .15s;
}
body.ll-preview form.cart .single_add_to_cart_button { white-space: nowrap; }
body.ll-preview form.cart .single_add_to_cart_button::after { content: " \2192"; }
body.ll-preview form.cart .single_add_to_cart_button:hover { background-color: #cc1939 !important; }
body.ll-preview form.cart button:focus-visible,
body.ll-preview form.cart input:focus-visible,
body.ll-preview form.cart select:focus-visible { outline: 2px solid #dd183b; outline-offset: 2px; }

/* Preis über dem Formular */
body.ll-preview .elementor-widget-woocommerce-product-price .price { font-weight: 700 !important; font-variant-numeric: tabular-nums; }

/* Kennzeichen in drei Spalten */
.ll-kz-parts { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; }
.ll-kz-part { display: flex; flex-direction: column; gap: 6px; min-width: 0; margin: 0 !important; }
.ll-kz-part span { font-family: Montserrat, sans-serif; font-size: 12px; font-weight: 600; color: #8b8b92; }
body.ll-preview form.cart .ll-kz-part input {
	box-sizing: border-box; width: 100% !important; min-width: 0; min-height: 48px; margin: 0 !important;
	padding: 11px 12px !important;
	font-family: Montserrat, sans-serif !important; font-size: 16px !important; font-weight: 700 !important;
	color: #fff !important; background-color: #1f1f23 !important;
	border: 1px solid #2a2a2e !important; border-radius: 8px !important; box-shadow: none !important; outline: none;
	text-transform: uppercase;
}
body.ll-preview form.cart .ll-kz-part input:focus { border-color: #dd183b !important; }
body.ll-preview form.cart .ll-kz-part input[aria-invalid="true"] { border-color: #ff5c74 !important; }

/* ---------- Unterer Bereich: Reiter, Beschreibung, Infos, Rezensionen, Q&A ---------- */
body.ll-preview .woocommerce-tabs ul.tabs {
	display: flex !important; flex-wrap: wrap; gap: 8px;
	margin: 0 0 14px !important; padding: 0 !important;
	border: 0 !important; background: none !important; list-style: none;
}
body.ll-preview .woocommerce-tabs ul.tabs::before,
body.ll-preview .woocommerce-tabs ul.tabs::after,
body.ll-preview .woocommerce-tabs ul.tabs li::before,
body.ll-preview .woocommerce-tabs ul.tabs li::after { display: none !important; content: none !important; }
body.ll-preview .woocommerce-tabs ul.tabs li {
	margin: 0 !important; padding: 0 !important;
	border: 0 !important; background: none !important; box-shadow: none !important;
}
body.ll-preview .woocommerce-tabs ul.tabs li a {
	display: block; padding: 10px 18px !important;
	font-family: Montserrat, sans-serif !important; font-size: 14px !important; font-weight: 600 !important;
	color: #c4c4c9 !important; text-decoration: none !important;
	background: #151517 !important; border: 1px solid #2a2a2e !important; border-radius: 8px !important;
	transition: color .15s, border-color .15s;
}
body.ll-preview .woocommerce-tabs ul.tabs li a:hover { color: #fff !important; border-color: #3a3a40 !important; }
body.ll-preview .woocommerce-tabs ul.tabs li.active a {
	color: #fff !important; background: #dd183b !important; border-color: #dd183b !important;
}
body.ll-preview .woocommerce-tabs .woocommerce-Tabs-panel,
body.ll-preview .woocommerce-tabs .panel {
	box-sizing: border-box;
	margin: 0 !important;
	padding: 24px 26px !important;
	background: #151517 !important;
	border: 1px solid #2a2a2e !important;
	border-radius: 14px !important;
	box-shadow: none !important;
	font-family: Montserrat, sans-serif;
	font-size: 15px;
	line-height: 1.65;
	color: #c4c4c9 !important;
}
@media (max-width: 600px) {
	body.ll-preview .woocommerce-tabs .woocommerce-Tabs-panel { padding: 18px 16px !important; }
	body.ll-preview .woocommerce-tabs ul.tabs li a { padding: 9px 14px !important; font-size: 13px !important; }
}
body.ll-preview .woocommerce-tabs .woocommerce-Tabs-panel strong,
body.ll-preview .woocommerce-tabs .woocommerce-Tabs-panel b { color: #fff; }
body.ll-preview .woocommerce-tabs .woocommerce-Tabs-panel h2,
body.ll-preview .woocommerce-tabs .woocommerce-Tabs-panel h3 {
	margin: 0 0 14px; font-family: Montserrat, sans-serif; font-size: 20px; font-weight: 800; line-height: 1.25; color: #fff;
}
body.ll-preview .woocommerce-tabs .woocommerce-Tabs-panel ul li::marker { color: #dd183b; }
body.ll-preview .woocommerce-tabs .woocommerce-Tabs-panel a { color: #dd183b; }

/* Zusätzliche Informationen */
body.ll-preview .woocommerce-tabs table.shop_attributes {
	width: 100%; margin: 0 !important; border: 0 !important; border-collapse: collapse; background: none !important;
}
body.ll-preview .woocommerce-tabs table.shop_attributes tr,
body.ll-preview .woocommerce-tabs table.shop_attributes tr:nth-child(even) th,
body.ll-preview .woocommerce-tabs table.shop_attributes tr:nth-child(even) td { background: none !important; }
body.ll-preview .woocommerce-tabs table.shop_attributes th,
body.ll-preview .woocommerce-tabs table.shop_attributes td {
	padding: 12px 0 !important; border: 0 !important; border-bottom: 1px solid #2a2a2e !important;
	vertical-align: top; background: none !important;
}
body.ll-preview .woocommerce-tabs table.shop_attributes tr:last-child th,
body.ll-preview .woocommerce-tabs table.shop_attributes tr:last-child td { border-bottom: 0 !important; }
body.ll-preview .woocommerce-tabs table.shop_attributes th {
	width: 38%; padding-right: 16px !important; text-align: left;
	font-size: 12px !important; font-weight: 700 !important; letter-spacing: .1em; text-transform: uppercase; color: #8b8b92 !important;
}
body.ll-preview .woocommerce-tabs table.shop_attributes td { font-weight: 600; color: #fff !important; }
body.ll-preview .woocommerce-tabs table.shop_attributes td p { margin: 0; padding: 0; font-style: normal; }

/* Rezensionen und Q&A */
body.ll-preview .woocommerce-tabs .cr-review-form-nav { border-color: #2a2a2e !important; color: #fff !important; }
body.ll-preview .woocommerce-tabs .cr-review-form-nav svg path { stroke: #c4c4c9 !important; }
body.ll-preview .woocommerce-tabs .cr-review-form-nav span { color: #fff !important; font-weight: 700; }
body.ll-preview .woocommerce-tabs .cr-review-form-item,
body.ll-preview .woocommerce-tabs .cr-review-form-item * { color: #c4c4c9; }
body.ll-preview .woocommerce-tabs input[type="text"],
body.ll-preview .woocommerce-tabs input[type="email"],
body.ll-preview .woocommerce-tabs input[type="search"],
body.ll-preview .woocommerce-tabs textarea {
	box-sizing: border-box; max-width: 100%;
	padding: 11px 12px !important;
	font-family: Montserrat, sans-serif !important; font-size: 15px !important; font-weight: 500 !important;
	color: #fff !important; background-color: #1f1f23 !important;
	border: 1px solid #2a2a2e !important; border-radius: 8px !important; box-shadow: none !important;
}
body.ll-preview .woocommerce-tabs input::placeholder,
body.ll-preview .woocommerce-tabs textarea::placeholder { color: #8b8b92 !important; }
body.ll-preview .woocommerce-tabs input:focus,
body.ll-preview .woocommerce-tabs textarea:focus { border-color: #dd183b !important; outline: none; }
body.ll-preview .woocommerce-tabs button:not(.cr-nav-left):not(.cr-nav-right),
body.ll-preview .woocommerce-tabs .button,
body.ll-preview .woocommerce-tabs input[type="submit"] {
	padding: 12px 20px !important;
	font-family: Montserrat, sans-serif !important; font-size: 14px !important; font-weight: 700 !important;
	color: #fff !important; background-color: #dd183b !important;
	border: 0 !important; border-radius: 10px !important; box-shadow: none !important; cursor: pointer;
}
body.ll-preview .woocommerce-tabs button:hover,
body.ll-preview .woocommerce-tabs .button:hover,
body.ll-preview .woocommerce-tabs input[type="submit"]:hover { background-color: #cc1939 !important; }

/* Am PC: Titelzeile über die ganze Breite, darunter Vorschau und Felder bündig nebeneinander */
.ll-kz-info { display: flex; flex-direction: column; width: 100%; }
.ll-kz-info > .elementor-widget { width: 100% !important; max-width: 100% !important; margin: 0 !important; }
.ll-kz-info .elementor-widget-container { margin: 0 !important; }
.ll-kz-info .elementor-widget-woocommerce-breadcrumb { margin-bottom: 10px !important; }
.ll-kz-info .elementor-widget-woocommerce-product-title { margin-bottom: 10px !important; }
.ll-kz-split-row { flex-wrap: wrap !important; row-gap: 24px !important; }
.ll-kz-split-row > .ll-kz-info { flex: 0 0 100% !important; margin: 0 !important; }
.ll-kz-split-row > .e-con:not(.ll-kz-info) { flex: 1 1 0 !important; min-width: 0 !important; width: auto !important; max-width: none !important; }
.ll-kz-split-row > .e-con:not(.ll-kz-info) { padding: 0 !important; margin: 0 !important; --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px; }
.ll-kz-split-row > .e-con:not(.ll-kz-info) > .e-con { margin-top: 0 !important; padding-top: 0 !important; --margin-top: 0px; --padding-top: 0px; }
.ll-kz-stage-widget, .ll-kz-form-widget { width: 100% !important; max-width: 100% !important; margin: 0 !important; }
.ll-kz-stage-widget > .elementor-widget-container,
.ll-kz-form-widget > .elementor-widget-container { margin: 0 !important; }
.ll-kz-split-row form.cart { margin: 0 !important; }
/* Preis und Hinweise unter den Feldern */
.ll-kz-under { width: 100% !important; max-width: 100% !important; margin: 0 !important; }
.ll-kz-under > .elementor-widget-container { margin: 0 !important; }
.ll-kz-under-box { margin: 0 0 22px !important; gap: 2px; }
.ll-kz-under.elementor-widget-woocommerce-product-price { margin-bottom: 4px !important; }
.ll-kz-under.elementor-widget-woocommerce-product-title { margin-bottom: 8px !important; }
.ll-kz-under.elementor-widget-woocommerce-product-short-description { margin-bottom: 16px !important; }
.ll-kz-under.elementor-widget-woocommerce-product-title .product_title { margin: 0 !important; }
.ll-kz-under.elementor-widget-woocommerce-product-price .price { margin: 0 !important; }
.ll-kz-under.elementor-widget-woocommerce-gzd-tax-notice { margin-top: 10px !important; }

/* Zahlungsarten unter der Vorschau */
.ll-kz-split-row .ll-kz-empty { display: none !important; }
.ll-kz-pay-box { margin-top: 22px; align-items: center; text-align: center; }
.ll-kz-pay-box .elementor-widget-heading { margin-bottom: 10px !important; }
.ll-kz-pay-box .elementor-heading-title,
.ll-kz-pay-box .elementor-widget-image { text-align: center !important; }
.ll-kz-pay-box .elementor-widget-image img { margin: 0 auto !important; display: block; }

/* Kostenaufteilung ausblenden – der Gesamtpreis steht in der Auswahl und beim Produktpreis */
body.ll-preview form.cart .wapf-product-totals { display: none !important; }

/* Handy: Reiter-Inhalte gut lesbar */
@media (max-width: 767px) {
	body.ll-preview .woocommerce-tabs .woocommerce-Tabs-panel { font-size: 14px !important; line-height: 1.6 !important; }
	body.ll-preview .woocommerce-tabs .woocommerce-Tabs-panel h2,
	body.ll-preview .woocommerce-tabs .woocommerce-Tabs-panel h3 { font-size: 18px !important; }
	body.ll-preview .woocommerce-tabs .woocommerce-Tabs-panel p,
	body.ll-preview .woocommerce-tabs .woocommerce-Tabs-panel li { font-size: 14px !important; }
	body.ll-preview .woocommerce-tabs table.shop_attributes,
	body.ll-preview .woocommerce-tabs table.shop_attributes tbody,
	body.ll-preview .woocommerce-tabs table.shop_attributes tr,
	body.ll-preview .woocommerce-tabs table.shop_attributes th,
	body.ll-preview .woocommerce-tabs table.shop_attributes td { display: block; width: 100% !important; }
	body.ll-preview .woocommerce-tabs table.shop_attributes tr { padding: 12px 0; border-bottom: 1px solid #2a2a2e; }
	body.ll-preview .woocommerce-tabs table.shop_attributes tr:last-child { border-bottom: 0; }
	body.ll-preview .woocommerce-tabs table.shop_attributes th,
	body.ll-preview .woocommerce-tabs table.shop_attributes td { padding: 0 !important; border: 0 !important; }
	body.ll-preview .woocommerce-tabs table.shop_attributes th { margin-bottom: 4px; font-size: 11px !important; }
	body.ll-preview .woocommerce-tabs table.shop_attributes td { font-size: 14px !important; line-height: 1.55; }
	body.ll-preview .woocommerce-tabs table.shop_attributes td p { font-size: 14px !important; }
}

/* Preis und Hinweise direkt über dem Warenkorb-Button */
body.ll-preview form.cart .ll-kz-price-box { flex: 1 1 100% !important; width: 100%; gap: 2px; margin: 4px 0 8px; }
