.kmz-fields { width:100%; flex-basis:100%; margin:0 0 20px; }
.kmz-fields .kmz-price-info { margin:0 0 12px; font-size:13px; line-height:1.5; font-weight:400; color:var(--k-muted,#586273); }
.kmz-fields .kmz-price-info .amount, .kmz-fields .kmz-price-info .woocommerce-Price-currencySymbol { font-size:inherit; line-height:inherit; font-weight:inherit; color:inherit; }
.kmz-fields label { display:block; margin:0 0 8px; }
.kmz-fields input { display:block; width:100%; max-width:100%; box-sizing:border-box; }
.kmz-fields small { display:block; margin-top:5px; }
.kmz-error { display:block; color:var(--k-sale,#b52e0e); margin-top:5px; font-size:.875em; }
.kmz-error:empty { display:none; }
.kmz-unit-warning { display:block; color:var(--k-sale,#b52e0e); font-weight:700; margin:6px 0; }
.kmz-from-price { display:inline-flex !important; flex-direction:row !important; align-items:baseline; gap:.25em; white-space:nowrap; }
/* The shop theme hides variation metadata; expose only our length metadata. */
dl.variation:has(dt.variation-Wunschlnge) { display:block !important; visibility:visible !important; }
dl.variation dt.variation-Wunschlnge, dl.variation dd.variation-Wunschlnge { display:inline !important; visibility:visible !important; }
dl.variation dd.variation-Wunschlnge p { display:inline; }


/* Compact mobile category cards; allow longer product names to grow naturally. */
@media (max-width: 767px) {
  .products .content-wrapper:has(> .price .kmz-from-price) .product-title {
    height: auto !important;
    min-height: 0 !important;
    max-height: none;
    margin-bottom: 6px;
    overflow: visible;
  }
}

/* Theme-Look (Toolbox 0.8.2): Felder wie die KINDLINGER-Formulare. */
.kmz-fields .kmz-price-info { display: inline-flex; align-items: center; margin: 0 0 14px; padding: 5px 12px; border: 1px solid var(--k-line, #e3e5e8); border-radius: 999px; background: #fff; color: var(--k-ink-2, #2a3038); font-size: .875rem; font-weight: 600; }
.kmz-fields label { margin: 0 0 6px; color: var(--k-ink, #111418); font-size: 1rem; font-weight: 700; line-height: 1.4; }
.kmz-fields label span[aria-hidden] { color: var(--k-sale, #b52e0e); }
.kmz-fields input { min-height: 52px; padding: 10px 14px; border: 1px solid #c9ced6; border-radius: var(--k-radius, 6px); background: #fff; color: var(--k-ink, #111418); font: inherit; font-size: 1.125rem; font-weight: 700; box-shadow: none; }
.kmz-fields input:hover { border-color: var(--k-muted, #586273); }
.kmz-fields input:focus { outline: none; border-color: var(--k-navy, #0f3d77); box-shadow: 0 0 0 3px rgb(15 61 119 / 20%); }
.kmz-fields small { margin-top: 8px; color: var(--k-muted, #586273); font-size: .8125rem; line-height: 1.5; }
.kmz-fields .kmz-unit-warning { display: flex; width: fit-content; align-items: center; gap: 6px; margin: 0 0 4px; padding: 3px 10px; border-radius: var(--k-radius-sm, 4px); background: var(--k-lime-soft, #fff5d6); color: var(--k-ink, #111418); font-size: .8125rem; font-weight: 700; }
.kmz-fields .kmz-unit-warning::before { content: "!"; display: inline-grid; place-items: center; width: 16px; height: 16px; border-radius: 50%; background: var(--k-yellow, #fcb900); color: var(--k-ink, #111418); font-size: .7rem; font-weight: 800; }
.kmz-fields .kmz-error { color: var(--k-sale, #b52e0e); font-weight: 600; }
