.kac-box{max-width:100%;font-size:15px}.kac-card{background:#fff;border:1px solid #dfe5eb;border-radius:.75rem;box-shadow:0 .25rem .85rem rgba(0,0,0,.05);overflow:hidden}.kac-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding:1.2rem 1.35rem;border-bottom:1px solid #e8edf2;background:#fff}.kac-kicker{font-size:.75rem;text-transform:uppercase;letter-spacing:.07em;font-weight:700;color:#00645f}.kac-head h2{font-size:1.45rem;margin:.1rem 0;color:#18232f;font-weight:700}.kac-head p{margin:0;color:#66727f}.kac-from-price{text-align:right;white-space:nowrap;color:#18232f}.kac-from-price span{display:block;color:#66727f;font-size:.82rem}.kac-from-price strong{display:block;font-size:1.35rem;color:#00645f}.kac-main-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(290px,.9fr);gap:1rem;padding:1rem}.kac-panel{border:1px solid #e1e7ed;border-radius:.65rem;background:#fbfcfd;padding:1rem}.kac-panel-title{font-size:1.05rem;font-weight:700;color:#18232f;margin-bottom:.9rem}.kac-field{margin-bottom:1rem}.kac-field label{display:block;font-weight:700;margin-bottom:.35rem;color:#26313d}.kac-field small{display:block;margin-top:.25rem;color:#66727f}.kac-two-cols{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.kac-box input[type=number]{text-align:right}.kac-box .form-control,.kac-box .form-select,.kac-box .input-group-text{border-color:#cfd8e3}.kac-box .form-control:focus,.kac-box .form-select:focus{border-color:#00645f;box-shadow:0 0 0 .18rem rgba(0,100,95,.12)}.kac-hint-list{display:grid;gap:.35rem;background:#fff;border:1px solid #e5ebf1;border-radius:.55rem;padding:.75rem;color:#536170;font-size:.88rem}.kac-error{background:#fff3f3;border:1px solid #f0b6b6;color:#a00000;border-radius:.55rem;padding:.7rem .8rem;margin-top:.9rem}.kac-result-panel{background:#fff}.kac-result-list{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.kac-result-list>div{border:1px solid #e5ebf1;border-radius:.55rem;background:#fbfcfd;padding:.7rem}.kac-result-list span{display:block;color:#66727f;font-size:.8rem}.kac-result-list strong{display:block;color:#18232f;font-size:1.05rem}.kac-total-price{display:flex;justify-content:space-between;align-items:end;margin-top:1rem;background:#00645f;color:#fff;border-radius:.65rem;padding:.9rem 1rem}.kac-total-price span{font-size:.85rem;opacity:.85}.kac-total-price strong{font-size:1.55rem;line-height:1}.kac-submit{width:100%;margin-top:1rem;font-weight:700}.kac-submit.disabled,.kac-submit:disabled{opacity:.55;cursor:not-allowed}
.kac-preview{display:none;margin-top:1rem;background:#fff;border:1px solid #dfe5eb;border-radius:.75rem;box-shadow:0 .25rem .85rem rgba(0,0,0,.04);overflow:hidden}.kac-preview-head{display:flex;justify-content:space-between;align-items:center;padding:.8rem 1rem;border-bottom:1px solid #e8edf2;color:#18232f}.kac-preview-head span{font-size:.82rem;color:#66727f}.kac-preview-stage{position:relative;min-height:310px;background:linear-gradient(180deg,#fbfcfd,#f4f6f8);display:flex;align-items:center;justify-content:center;padding:2.6rem 5rem 2.4rem}.kac-plate-wrap{display:flex;align-items:center;justify-content:center;width:310px;height:230px}.kac-plate{position:relative;width:220px;height:130px;border:1px solid #6d7379;background:linear-gradient(135deg,#8d9296,#e2e4e5 45%,#6f7478);box-shadow:0 10px 22px rgba(0,0,0,.22);transition:width .18s ease,height .18s ease,border-color .18s ease,filter .18s ease}.kac-plate:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(255,255,255,.16) 0,rgba(255,255,255,.16) 1px,rgba(0,0,0,.04) 2px,rgba(0,0,0,.04) 4px);mix-blend-mode:screen}.kac-plate-shine{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.22),transparent 30%,rgba(255,255,255,.15) 55%,transparent)}.kac-plate.is-valid{border-color:#00645f;filter:saturate(1.05)}.kac-plate.is-invalid{border-color:#b00020}.kac-dimension{position:absolute;color:#0059b2;font-weight:700;font-size:.9rem}.kac-dimension-width{top:2rem;left:50%;transform:translateX(-50%);width:300px;border-top:1px dashed #78828d;text-align:center}.kac-dimension-width span{position:relative;top:-.75rem;background:#fbfcfd;padding:0 .5rem}.kac-dimension-height{left:2.2rem;top:50%;transform:translateY(-50%) rotate(-90deg);width:220px;border-top:1px dashed #78828d;text-align:center}.kac-dimension-height span{position:relative;top:-.75rem;background:#f7f9fb;padding:0 .5rem}.kac-thickness-preview{position:absolute;right:1rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:.6rem;color:#536170;font-size:.85rem}.kac-thickness-bar{width:9px;height:12px;border:1px solid #6d7379;background:linear-gradient(90deg,#c7cbcf,#f4f4f4);transition:height .18s ease}.kac-preview-status{border-top:1px solid #e8edf2;background:#f8f9fa;padding:.7rem 1rem;color:#66727f;font-size:.9rem}.kac-preview-status.is-ok{background:#eefaf4;color:#117239}.kac-preview-status.is-error{background:#fff3f3;color:#a00000}@media(max-width:991.98px){.kac-main-grid{grid-template-columns:1fr}.kac-preview-stage{min-height:280px;padding:2.4rem 3.2rem}.kac-thickness-preview{position:static;transform:none;justify-content:center;margin-top:1rem}.kac-preview-stage{flex-direction:column}.kac-dimension-height{left:.8rem}}@media(max-width:575.98px){.kac-head{display:block}.kac-from-price{text-align:left;margin-top:.75rem}.kac-main-grid{padding:.75rem}.kac-two-cols,.kac-result-list{grid-template-columns:1fr}.kac-preview-stage{padding:2.4rem 1rem}.kac-dimension-height{display:none}.kac-dimension-width{width:240px}.kac-plate-wrap{width:260px;height:200px}}


/* KCS 7.2.3: Live-Vorschau im eigentlichen Produktbildbereich */
.kac-preview-host{position:relative!important;min-height:520px!important;overflow:visible!important}.kac-preview-host>.kac-original-media-hidden{display:none!important}.kac-preview.is-in-product-image{margin:0!important;width:100%;height:100%;min-height:520px;border-radius:.75rem;box-shadow:none}.kac-preview.is-in-product-image .kac-preview-head{padding:1rem 1.25rem}.kac-preview.is-in-product-image .kac-preview-head strong:before{content:"";display:inline-block;width:.65rem;height:.65rem;background:#2eb872;border-radius:50%;margin-right:.55rem;vertical-align:.05rem}.kac-preview.is-in-product-image .kac-preview-stage{min-height:420px;padding:4rem 6rem 3.4rem;background:linear-gradient(180deg,#fafbfc 0,#f3f5f7 76%,#eceff2 100%)}.kac-preview.is-in-product-image .kac-plate-wrap{width:520px;height:330px;max-width:100%}.kac-preview.is-in-product-image .kac-plate{width:390px;height:240px;border-color:#4f565d;box-shadow:0 16px 30px rgba(0,0,0,.28)}.kac-preview.is-in-product-image .kac-dimension-width{top:3.1rem;width:520px;max-width:72%;border-top:2px solid #0b5fc1}.kac-preview.is-in-product-image .kac-dimension-width span{background:#fafbfc;color:#0b5fc1;font-size:1.05rem}.kac-preview.is-in-product-image .kac-dimension-height{left:2.1rem;width:310px;border-top:2px solid #0b5fc1}.kac-preview.is-in-product-image .kac-dimension-height span{background:#f7f9fb;color:#0b5fc1;font-size:1.05rem}.kac-preview.is-in-product-image .kac-thickness-preview{right:1.25rem}.kac-preview.is-in-product-image .kac-preview-status{margin:1rem 1.25rem 1.25rem;border:1px solid #bfe8d0;border-radius:.65rem;background:#eefaf4;color:#116b38}.kac-preview.is-in-product-image .kac-preview-status.is-error{border-color:#f0b6b6;background:#fff3f3;color:#a00000}@media(max-width:991.98px){.kac-preview-host{min-height:430px!important}.kac-preview.is-in-product-image{min-height:430px}.kac-preview.is-in-product-image .kac-preview-stage{min-height:330px;padding:3.2rem 3rem 2.4rem}.kac-preview.is-in-product-image .kac-plate-wrap{width:340px;height:240px}.kac-preview.is-in-product-image .kac-dimension-width{max-width:74%;width:340px}.kac-preview.is-in-product-image .kac-dimension-height{width:220px;left:.75rem}}@media(max-width:575.98px){.kac-preview-host{min-height:360px!important}.kac-preview.is-in-product-image{min-height:360px}.kac-preview.is-in-product-image .kac-preview-stage{min-height:270px;padding:3rem 1rem 2rem}.kac-preview.is-in-product-image .kac-plate-wrap{width:260px;height:200px}.kac-preview.is-in-product-image .kac-dimension-width{width:250px;max-width:80%}}

/* v7.2.4 Detailseite: Vorschau im Bildfeld und Metadaten unten */
.kac-product-meta-bottom{border-top:1px solid #e5ebf1;padding-top:.8rem;color:#26313d}
.kac-product-meta-bottom .kac-product-shipping{color:#26313d}
.kac-product-meta-bottom .kac-product-shipping img{max-height:18px;margin:0 .25rem}
.kac-article-price-bottom{background:#fff;border:1px solid #dfe5eb;border-radius:.65rem;padding:.85rem 1rem;text-align:right}
.kac-article-price-bottom .kac-article-price-value{font-size:1.35rem;font-weight:700;color:#00645f;line-height:1.15}
.kac-article-price-bottom .kac-article-price-note{font-size:.85rem;color:#66727f;margin-top:.25rem}
.kac-preview:not(.has-size) .kac-dimension{display:none}
.kac-preview:not(.has-size) .kac-plate{opacity:.88}
.kac-preview.is-in-product-image{margin-top:0}
.kac-preview.is-in-product-image .kac-preview-stage{min-height:360px}
@media (max-width:767.98px){.kac-article-price-bottom{text-align:left}.kac-preview.is-in-product-image .kac-preview-stage{min-height:300px}}

/* KCS 7.2.5: Detailseitenpreisblock entfernt und Maßlinien mit Abstand zur Vorschau */
.kac-article-price-bottom{display:none!important}
.kac-preview.is-in-product-image .kac-preview-stage{padding-left:7.5rem!important;padding-right:4.5rem!important;padding-top:4.5rem!important}
.kac-preview.is-in-product-image .kac-dimension-width{top:3.45rem!important;max-width:68%!important}
.kac-preview.is-in-product-image .kac-dimension-height{left:3.35rem!important;width:250px!important}
.kac-preview.is-in-product-image .kac-plate-wrap{margin-left:.75rem!important}
@media(max-width:991.98px){.kac-preview.is-in-product-image .kac-preview-stage{padding-left:4.6rem!important;padding-right:2.5rem!important}.kac-preview.is-in-product-image .kac-dimension-height{left:1.25rem!important;width:205px!important}.kac-preview.is-in-product-image .kac-plate-wrap{margin-left:.3rem!important}}
@media(max-width:575.98px){.kac-preview.is-in-product-image .kac-preview-stage{padding-left:1rem!important;padding-right:1rem!important}.kac-preview.is-in-product-image .kac-dimension-height{display:none!important}.kac-preview.is-in-product-image .kac-dimension-width{max-width:82%!important}}

/* KCS 8.0.2: Produktfoto bleibt beim Seitenaufruf sichtbar; Live-Vorschau erscheint erst nach Eingabe */
.kac-preview.kac-preview-active{display:block!important}

.kac-tax-shipping-info {
  margin-top: .25rem;
  font-size: .85rem;
  font-weight: 400;
  color: #6c757d;
  line-height: 1.35;
}
.kac-tax-shipping-info a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* KCS 8.0.5: Übersichtlicher Preis- und Warenkorbbereich */
.kac-total-price{
  display:block;
  margin-top:1rem;
  background:#f6fbfa;
  color:#18232f;
  border:2px solid #00645f;
  border-radius:.8rem;
  padding:1rem;
  box-shadow:0 .35rem 1rem rgba(0,100,95,.08);
}
.kac-total-price-main{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:1rem;
}
.kac-total-price-label span{
  display:block;
  color:#00645f;
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
  opacity:1;
}
.kac-total-price-label small{
  display:block;
  margin-top:.18rem;
  color:#536170;
  font-size:.86rem;
  font-weight:600;
}
.kac-total-price strong{
  color:#00645f;
  font-size:1.9rem;
  line-height:1;
  white-space:nowrap;
}
.kac-total-price strong span{
  font-size:inherit;
  opacity:1;
}
.kac-tax-shipping-info{
  margin-top:.75rem;
  padding-top:.65rem;
  border-top:1px solid rgba(0,100,95,.22);
  font-size:.88rem;
  font-weight:500;
  color:#536170;
  line-height:1.4;
}
.kac-tax-shipping-info a{
  color:#00645f;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:2px;
}
.kac-submit{
  width:100%;
  margin-top:.85rem;
  padding:.9rem 1rem;
  border-radius:.7rem;
  font-size:1.05rem;
  font-weight:800;
  letter-spacing:.01em;
}
.kac-submit:not(:disabled){
  background:#00645f;
  border-color:#00645f;
  color:#fff;
  box-shadow:0 .35rem .9rem rgba(0,100,95,.18);
}
.kac-submit:not(:disabled):hover,
.kac-submit:not(:disabled):focus{
  background:#004f4b;
  border-color:#004f4b;
  color:#fff;
}
@media(max-width:575.98px){
  .kac-total-price-main{display:block}
  .kac-total-price strong{display:block;margin-top:.55rem;font-size:1.75rem}
}

/* KCS 8.0.7: Preisblock bereinigt und responsive Darstellung verbessert */
.kac-total-price-label small{display:none!important}
.kac-result-panel{min-width:0}
.kac-total-price-main{min-width:0}
.kac-total-price strong{overflow-wrap:anywhere;text-align:right}
.kac-tax-shipping-info{overflow-wrap:anywhere}
@media(max-width:767.98px){
  .kac-card{border-radius:.6rem}
  .kac-head{padding:1rem}
  .kac-main-grid{padding:.75rem;gap:.75rem}
  .kac-panel{padding:.85rem}
  .kac-total-price{padding:.9rem;border-radius:.7rem}
  .kac-total-price-main{align-items:flex-start}
  .kac-total-price strong{font-size:1.7rem}
  .kac-tax-shipping-info{font-size:.84rem}
}
@media(max-width:575.98px){
  .kac-total-price-main{display:flex;flex-direction:column;align-items:stretch;gap:.35rem}
  .kac-total-price strong{display:block;margin-top:0;text-align:left;font-size:1.65rem;line-height:1.1}
  .kac-submit{padding:.85rem .9rem;font-size:1rem}
}
@media(max-width:380px){
  .kac-head h2{font-size:1.25rem}
  .kac-total-price strong{font-size:1.48rem}
  .kac-result-list>div{padding:.6rem}
}

/* KCS 8.0.8: Robuste Preisbox für sehr lange Gesamtpreise */
.kac-total-price{
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
  overflow:visible;
}
.kac-total-price-main{
  display:grid;
  grid-template-columns:minmax(8rem,auto) minmax(0,1fr);
  align-items:end;
  column-gap:1rem;
  row-gap:.45rem;
  width:100%;
  min-width:0;
}
.kac-total-price-label{
  min-width:0;
}
.kac-total-price strong{
  display:block;
  min-width:0;
  max-width:100%;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:break-word;
  hyphens:none;
  text-align:right;
  font-size:clamp(1.45rem,2.4vw,2.15rem);
  line-height:1.08;
}
.kac-total-price strong span{
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:break-word;
}
@media(min-width:992px){
  .kac-result-panel{
    min-width:min(100%, 22rem);
  }
}

@media(max-width:575.98px){
  .kac-total-price-main{
    grid-template-columns:1fr;
    align-items:start;
  }
  .kac-total-price strong{
    text-align:left;
    font-size:clamp(1.35rem,8vw,1.85rem);
  }
}


/* KCS 8.0.9: Preis bleibt immer in einer Zeile; Box wächst statt Preis umzubrechen */
.kac-result-panel{
  overflow:visible;
}
.kac-total-price{
  display:block;
  width:max-content;
  min-width:100%;
  max-width:calc(100vw - 2rem);
  box-sizing:border-box;
  overflow-x:auto;
  overflow-y:hidden;
}
.kac-total-price-main{
  display:grid;
  grid-template-columns:auto max-content;
  align-items:end;
  justify-content:space-between;
  gap:.75rem 1.25rem;
  width:100%;
  min-width:max-content;
}
.kac-total-price strong,
.kac-total-price strong span,
#kac-price{
  white-space:nowrap!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
.kac-total-price strong{
  min-width:max-content;
  max-width:none;
  text-align:right;
  font-size:clamp(1.45rem,1.25rem + 1vw,2.15rem);
  line-height:1.05;
}
.kac-tax-shipping-info{
  white-space:normal;
  overflow-wrap:break-word;
  word-break:normal;
}
@media(max-width:575.98px){
  .kac-total-price{
    width:100%;
    min-width:0;
    max-width:100%;
  }
  .kac-total-price-main{
    grid-template-columns:1fr;
    min-width:0;
  }
  .kac-total-price strong{
    text-align:left;
    font-size:clamp(1.2rem,5.7vw,1.65rem);
  }
}


/* KCS 8.0.10: Produktbild/Live-Vorschau auf Höhe des Rechners ausrichten */
.kac-aligned-product-media{
  transition:margin-top .18s ease;
}
@media(max-width:991.98px){
  .kac-aligned-product-media{
    margin-top:0!important;
  }
}

/* KCS 8.0.13: Formen Viereck/Kreis und Eckenradius */
.kac-radius-field small,
.kac-diameter-field small{display:block;margin-top:.35rem;color:#6c757d;line-height:1.35}
.kac-plate.is-circle{border-radius:50%!important}
.kac-result-list>div strong{min-width:0;text-align:right}
@media(max-width:575.98px){.kac-result-list>div strong{text-align:left}}

/* KCS 8.0.14: Formabhängige Maßeingabe */
.kac-diameter-field[style*="display: none"]{display:none!important}

/* 8.0.43 Shape-Livevalidierung */
.kac-tab-fields .kac-two-cols { margin-bottom: 0; }
.kac-preview-hole {
  position: absolute;
  display: none;
  border: 2px solid rgba(20,20,20,.75);
  border-radius: 50%;
  background: rgba(255,255,255,.75);
  box-sizing: border-box;
  pointer-events: none;
  z-index: 5;
}
.kac-plate { position: relative; overflow: hidden; }
.kac-plate.is-triangle {
  clip-path: polygon(0 100%, 100% 100%, 0 0);
  border-radius: 0 !important;
}
.kac-plate.is-trapezoid{
  clip-path:polygon(0 100%,100% 100%,78% 0,22% 0);
  border-radius:0!important;
}
.kac-plate.is-tab {
  border-bottom-left-radius: 4px !important;
  border-bottom-right-radius: 4px !important;
}


/* KCS 8.0.46: Live-Vorschau im Karl-Bogen-Galeriebild anzeigen, erst nach Formauswahl */
.kac-preview-host{position:relative!important;min-height:360px!important;}
.kac-preview-host.kac-preview-showing > :not(.kac-preview){display:none!important;}
.kac-preview.is-in-product-image{margin:0!important;width:100%;min-height:360px;}
.kac-preview:not(.kac-preview-active){display:none!important;}
.kac-preview.kac-preview-active{display:block!important;}
@media(max-width:575.98px){.kac-preview-host{min-height:320px!important}.kac-preview.is-in-product-image{min-height:320px}}

/* KCS 8.0.46: Karl-Bogen Galeriecontainer als Vorschau-Host */
.pd_imagebox.kac-preview-host{position:relative!important;min-height:360px!important;}
.pd_imagebox.kac-preview-host.kac-preview-showing > :not(.kac-preview){display:none!important;}
.pd_imagebox.kac-preview-host .kac-preview.is-in-product-image{width:100%;min-height:360px;}

/* KCS 8.0.49: responsive Formular-Komponente und echte Galerie-/Konfigurator-Ausrichtung */
.kac-media-aligned-to-calculator{
  margin-top:var(--kac-media-align-offset,0px)!important;
}
.kac-measurement-fields{
  grid-template-columns:1fr!important;
  gap:.85rem;
}
.kac-measurement-fields .kac-field{margin-bottom:0;}
.kac-measurement-fields .input-group{
  width:100%;
  flex-wrap:nowrap;
}
.kac-measurement-fields .input-group .form-control{
  min-width:0;
  min-height:48px;
  font-size:1.08rem;
  font-weight:600;
  padding:.65rem .9rem;
}
.kac-measurement-fields .input-group .input-group-text{
  flex:0 0 56px;
  justify-content:center;
  min-height:48px;
  font-weight:700;
}
@media(min-width:1200px){
  .kac-measurement-fields .input-group .form-control{font-size:1.12rem;}
}
@media(max-width:991.98px){
  .kac-media-aligned-to-calculator{margin-top:0!important;}
}
@media(max-width:575.98px){
  .kac-measurement-fields .input-group .form-control,
  .kac-measurement-fields .input-group .input-group-text{min-height:46px;}
}


/* KCS 8.0.50: Einheitliches UI-Komponentensystem für Rechner, Eingaben und Preisbox */
.kac-box{
  --kac-ui-gap:1rem;
  --kac-ui-radius:.75rem;
  --kac-ui-border:#dfe7ef;
  --kac-ui-soft:#f7f9fb;
  --kac-ui-accent:#00645f;
  --kac-ui-text:#17212b;
  --kac-ui-muted:#637083;
}
.kac-card{
  border-color:var(--kac-ui-border);
  border-radius:var(--kac-ui-radius);
}
.kac-main-grid{
  grid-template-columns:minmax(0,1fr) minmax(18rem,.92fr);
  align-items:start;
  gap:var(--kac-ui-gap);
}
.kac-panel{
  min-width:0;
  border-color:var(--kac-ui-border);
  border-radius:var(--kac-ui-radius);
}
.kac-input-panel,
.kac-result-panel{
  display:flex;
  flex-direction:column;
  min-width:0;
}
.kac-field{
  min-width:0;
}
.kac-field label{
  color:var(--kac-ui-text);
}
.kac-box .input-group{
  width:100%;
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) 3.75rem;
}
.kac-box .input-group>.form-control,
.kac-box .input-group>.form-select{
  min-width:0;
  width:100%;
  border-top-right-radius:0!important;
  border-bottom-right-radius:0!important;
}
.kac-box .input-group>.input-group-text{
  width:auto;
  min-width:3.75rem;
  display:flex;
  align-items:center;
  justify-content:center;
  border-top-left-radius:0!important;
  border-bottom-left-radius:0!important;
  font-weight:700;
}
.kac-measurement-fields{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:.9rem!important;
}
.kac-measurement-fields .kac-field,
.kac-diameter-field,
.kac-radius-field,
.kac-tab-fields .kac-field{
  margin-bottom:.9rem;
}
.kac-measurement-fields .form-control,
.kac-diameter-field .form-control,
.kac-radius-field .form-control,
.kac-tab-fields .form-control,
#kac-piece-qty{
  min-height:48px;
  font-size:1.08rem;
  font-weight:600;
  padding:.65rem .9rem;
}
#kac-piece-qty{
  width:100%;
}
.kac-result-panel{
  overflow:hidden;
}
.kac-result-list{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.kac-result-list>div{
  min-width:0;
  overflow:hidden;
}
.kac-result-list span,
.kac-result-list strong{
  min-width:0;
}
.kac-total-price{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  display:block!important;
  overflow:hidden!important;
  border:2px solid var(--kac-ui-accent);
  background:#f7fcfb;
  color:var(--kac-ui-accent);
  border-radius:.85rem;
  padding:1rem 1.05rem;
  box-sizing:border-box;
}
.kac-total-price-main{
  display:grid!important;
  grid-template-columns:minmax(7.5rem,auto) minmax(0,1fr)!important;
  align-items:end;
  gap:.5rem .9rem;
  width:100%;
  min-width:0!important;
}
.kac-total-price-label span{
  display:block;
  color:var(--kac-ui-accent);
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:.78rem;
}
.kac-total-price strong{
  min-width:0!important;
  max-width:100%!important;
  width:100%;
  text-align:right;
  color:var(--kac-ui-accent);
  line-height:1.05;
  font-weight:800;
  font-size:var(--kac-price-font-size, clamp(1.6rem,2.8vw,2.35rem));
}
.kac-total-price strong,
.kac-total-price strong span,
#kac-price{
  white-space:nowrap!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.kac-total-price.is-compact strong{
  font-size:var(--kac-price-font-size,1.15rem);
}
.kac-total-price.is-wrapping strong,
.kac-total-price.is-wrapping strong span,
.kac-total-price.is-wrapping #kac-price{
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
}
.kac-tax-shipping-info{
  margin-top:.65rem;
  padding-top:.65rem;
  border-top:1px solid rgba(0,100,95,.18);
  color:#536170;
  line-height:1.35;
  min-width:0;
}
.kac-submit{
  min-height:56px;
  border-radius:.65rem;
}
.kac-preview-host.kac-media-aligned-to-calculator{
  margin-top:var(--kac-media-align-offset,0px)!important;
}
.kac-preview.is-in-product-image{
  max-width:100%;
}
.kac-preview.is-in-product-image .kac-preview-stage{
  box-sizing:border-box;
}
@media(min-width:992px){
  .kac-box{margin-top:0!important;}
  .kac-result-panel{min-width:0;}
}
@media(max-width:1199.98px){
  .kac-main-grid{grid-template-columns:1fr;}
  .kac-total-price strong{font-size:var(--kac-price-font-size, clamp(1.45rem,5vw,2.05rem));}
}
@media(max-width:767.98px){
  .kac-result-list{grid-template-columns:1fr 1fr;}
  .kac-total-price-main{grid-template-columns:1fr!important;align-items:start;}
  .kac-total-price strong{text-align:left;}
}
@media(max-width:575.98px){
  .kac-result-list{grid-template-columns:1fr;}
  .kac-box .input-group{grid-template-columns:minmax(0,1fr) 3.25rem;}
  .kac-box .input-group>.input-group-text{min-width:3.25rem;}
  .kac-measurement-fields .form-control,
  .kac-diameter-field .form-control,
  .kac-radius-field .form-control,
  .kac-tab-fields .form-control,
  #kac-piece-qty{min-height:46px;font-size:1rem;}
  .kac-total-price{padding:.9rem;}
}


/* KCS 8.0.51: zentrale Shape-Feldsteuerung. Verhindert, dass Komponenten-CSS ausgeblendete Formgruppen (z. B. Rechteckfelder bei Kreis) wieder sichtbar macht. */
.kac-box [data-shape-group][data-kac-active="0"]{display:none!important;}
.kac-box [data-quadrilateral-mode-group][data-quadrilateral-mode-active="0"]{display:none!important;}
.kac-box .kac-measurement-fields[data-kac-active="1"]{display:grid!important;}
.kac-box .kac-diameter-field[data-kac-active="1"],
.kac-box .kac-radius-field[data-kac-active="1"],
.kac-box .kac-tab-fields[data-kac-active="1"]{display:block!important;}

/* 8.0.54: Eigene Zeichnung / 2D-CAD-Komponente
   Diese UI-Komponente ist bewusst isoliert. Sie beeinflusst keine vorhandenen
   Rechteck-/Kreis-/Dreieck-/Laschenfelder und schreibt nur kac_drawing_json. */
.kac-drawing-editor{border:1px solid #dfe5eb;border-radius:.65rem;background:#fff;overflow:hidden}
.kac-drawing-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .75rem;border-bottom:1px solid #e8edf2;background:#fbfcfd;color:#66727f;font-size:.86rem}
.kac-drawing-canvas{display:block;width:100%;height:320px;background:#f8fafc;cursor:crosshair;touch-action:manipulation}
.kac-drawing-bg{fill:#f8fafc}
.kac-drawing-canvas{background-image:linear-gradient(#e7edf3 1px,transparent 1px),linear-gradient(90deg,#e7edf3 1px,transparent 1px);background-size:25px 25px}
.kac-drawing-polyline{fill:none;stroke:#00645f;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}
.kac-drawing-polygon{fill:rgba(0,100,95,.18);stroke:#00645f;stroke-width:5;stroke-linejoin:round}
.kac-drawing-point{fill:#fff;stroke:#00645f;stroke-width:4}
.kac-drawing-meta{display:flex;justify-content:space-between;gap:1rem;padding:.6rem .75rem;border-top:1px solid #e8edf2;font-size:.86rem;color:#536170}
.kac-plate.is-drawing{border-radius:0;background:linear-gradient(135deg,#8d9296,#e2e4e5 45%,#6f7478)}
@media(max-width:575.98px){.kac-drawing-toolbar,.kac-drawing-meta{display:block}.kac-drawing-toolbar span{display:block;margin-top:.45rem}.kac-drawing-canvas{height:260px}}

/* 8.0.55: Erweiterter 2D-Zeicheneditor
   Isolierte UI-Komponente für die Shape-Art „Eigene Zeichnung". Die bestehende
   Preis-, Warenkorb-, Checkout- und DXF-Pipeline bleibt unverändert. */
.kac-drawing-editor{border:1px solid #d7e0e8;border-radius:.8rem;background:#fff;overflow:hidden;box-shadow:0 8px 20px rgba(16,24,40,.04)}
.kac-drawing-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;flex-wrap:wrap;padding:.7rem .8rem;border-bottom:1px solid #e8edf2;background:#fbfcfd;color:#66727f;font-size:.86rem}
.kac-drawing-toolbar-main,.kac-drawing-toolbar-view{display:flex;gap:.45rem;flex-wrap:wrap;align-items:center}
.kac-drawing-toolbar .btn{line-height:1.15;white-space:nowrap}
.kac-drawing-toolbar .btn.active{background:#00645f;color:#fff;border-color:#00645f}
.kac-drawing-options{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;padding:.55rem .8rem;border-bottom:1px solid #e8edf2;background:#fff;font-size:.84rem;color:#556170}
.kac-drawing-options label{display:inline-flex;align-items:center;gap:.35rem;margin:0;font-weight:600;color:#46515c}
.kac-drawing-options input[type="number"]{width:4.8rem;min-height:34px;border:1px solid #d8e0e8;border-radius:.45rem;padding:.25rem .45rem;text-align:right}
.kac-drawing-check input{margin:0}
.kac-drawing-canvas{display:block;width:100%;height:360px;background:#f8fafc;cursor:crosshair;touch-action:none;user-select:none;background-image:none}
.kac-drawing-canvas.is-pan-mode{cursor:grab}
.kac-drawing-canvas.is-pan-mode:active{cursor:grabbing}
.kac-drawing-bg{fill:#f8fafc}
.kac-drawing-grid-line{stroke:#e5ebf1;stroke-width:1;vector-effect:non-scaling-stroke}
.kac-drawing-grid-major{stroke:#ccd8e2;stroke-width:1.5;vector-effect:non-scaling-stroke}
.kac-drawing-polyline{fill:none;stroke:#00645f;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.kac-drawing-polygon{fill:rgba(0,100,95,.16);stroke:#00645f;stroke-width:5;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.kac-drawing-point{fill:#fff;stroke:#00645f;stroke-width:4;cursor:grab;vector-effect:non-scaling-stroke}
.kac-drawing-point:active{cursor:grabbing}
.kac-drawing-point.is-selected{fill:#f6b44b;stroke:#383f45;stroke-width:4.5}
.kac-drawing-measure{font-size:24px;fill:#40515f;paint-order:stroke;stroke:#fff;stroke-width:5;stroke-linejoin:round;text-anchor:middle;pointer-events:none;font-weight:700}
.kac-drawing-point-panel{display:grid;grid-template-columns:auto minmax(7rem,1fr) minmax(7rem,1fr);gap:.65rem;align-items:center;padding:.65rem .8rem;border-top:1px solid #e8edf2;background:#fbfcfd;font-size:.86rem;color:#4c5965}
.kac-drawing-point-panel label{display:flex;align-items:center;gap:.4rem;margin:0;font-weight:600}
.kac-drawing-point-panel input{width:100%;min-height:36px;border:1px solid #d8e0e8;border-radius:.45rem;padding:.3rem .5rem;text-align:right;background:#fff}
.kac-drawing-point-panel input:disabled{background:#f1f4f7;color:#98a2ad}
.kac-drawing-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;padding:.65rem .8rem;border-top:1px solid #e8edf2;font-size:.86rem;color:#536170;background:#fff}
.kac-drawing-meta span{min-width:0}
.kac-drawing-meta strong{display:block;color:#24313c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:767.98px){
  .kac-drawing-canvas{height:310px}
  .kac-drawing-toolbar{display:block}
  .kac-drawing-toolbar-view{margin-top:.55rem}
  .kac-drawing-options{display:grid;grid-template-columns:1fr;gap:.55rem}
  .kac-drawing-point-panel{grid-template-columns:1fr 1fr}
  .kac-drawing-point-panel strong{grid-column:1 / -1}
  .kac-drawing-meta{grid-template-columns:1fr}
}
@media(max-width:420px){
  .kac-drawing-toolbar-main,.kac-drawing-toolbar-view{display:grid;grid-template-columns:1fr 1fr;gap:.45rem}
  .kac-drawing-toolbar .btn{width:100%}
  .kac-drawing-canvas{height:280px}
}

/* 8.0.56: Großer 2D-Editor als eigene Arbeitsfläche.
   Der Editor bleibt Teil der Drawing-UI-Schicht und ändert keine Core-, Warenkorb-
   oder DXF-Logik. */
.kac-drawing-launch{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.75rem;align-items:center;padding:.85rem;border:1px solid #dfe7ef;border-radius:.85rem;background:#fbfcfd}
.kac-drawing-launch span{font-size:.9rem;color:#5d6975;line-height:1.35}
.kac-drawing-modal{position:fixed;inset:0;z-index:99999;display:none}
.kac-drawing-modal.is-open{display:block}
.kac-drawing-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.62)}
.kac-drawing-modal-dialog{position:absolute;inset:2.5vh 2.5vw;display:grid;grid-template-rows:auto minmax(0,1fr);background:#fff;border-radius:1rem;box-shadow:0 24px 70px rgba(15,23,42,.34);overflow:hidden}
.kac-drawing-modal-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.15rem;border-bottom:1px solid #e2e8f0;background:#f8fafc}
.kac-drawing-modal-head strong{display:block;font-size:1.08rem;color:#17212b}
.kac-drawing-modal-head span{display:block;margin-top:.15rem;font-size:.86rem;color:#667280}
.kac-drawing-modal .kac-drawing-editor{height:100%;display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto auto;border:0;border-radius:0;box-shadow:none}
.kac-drawing-modal .kac-drawing-canvas{height:100%;min-height:520px}
.kac-drawing-insert-panel{grid-template-columns:minmax(12rem,1fr) minmax(0,2fr) auto;align-items:end;gap:.75rem;padding:.75rem .85rem;border-bottom:1px solid #e8edf2;background:#f3faf8}
.kac-drawing-insert-title{font-weight:700;color:#123b38}
.kac-drawing-insert-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;align-items:end}
.kac-drawing-insert-grid label{display:flex;align-items:center;gap:.4rem;margin:0;font-weight:600;color:#33414d}
.kac-drawing-insert-grid input{min-height:38px;width:100%;border:1px solid #cbd5df;border-radius:.5rem;padding:.35rem .55rem;text-align:right;background:#fff}
.kac-drawing-insert-actions{display:flex;gap:.45rem;justify-content:flex-end;align-items:center}
html.kac-drawing-modal-open,body.kac-drawing-modal-open{overflow:hidden!important}
@media(max-width:991.98px){
  .kac-drawing-modal-dialog{inset:1vh 1vw;border-radius:.75rem}
  .kac-drawing-modal .kac-drawing-canvas{min-height:440px}
  .kac-drawing-insert-panel{grid-template-columns:1fr;align-items:stretch}
  .kac-drawing-insert-actions{justify-content:flex-start}
}
@media(max-width:575.98px){
  .kac-drawing-launch{grid-template-columns:1fr}
  .kac-drawing-modal-dialog{inset:0;border-radius:0}
  .kac-drawing-modal-head{padding:.8rem;align-items:flex-start}
  .kac-drawing-modal .kac-drawing-canvas{min-height:360px}
  .kac-drawing-insert-grid{grid-template-columns:1fr}
  .kac-drawing-insert-grid label{display:grid;grid-template-columns:1fr auto;gap:.35rem}
}

/* 8.0.57 Zeicheneditor: parametrische Objekte und Innenkonturen.
   Außenobjekte werden vollflächig, Bohrungen/Ausschnitte gestrichelt dargestellt.
   Die DXF-Ausgabe nutzt dieselben Objektinformationen als echte CIRCLE/LWPOLYLINE-Entitäten. */
.kac-drawing-object{vector-effect:non-scaling-stroke;pointer-events:none}
.kac-drawing-object.is-outer{fill:rgba(0,100,95,.14);stroke:#00645f;stroke-width:5}
.kac-drawing-object.is-cutout{fill:rgba(255,255,255,.92);stroke:#b42318;stroke-width:4;stroke-dasharray:12 8}
.kac-drawing-modal-actions{display:flex;gap:.5rem;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.kac-drawing-insert-grid[data-drawing-insert="hole"],
.kac-drawing-insert-grid[data-drawing-insert="cutout_rectangle"]{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:991.98px){
  .kac-drawing-insert-grid[data-drawing-insert="hole"],
  .kac-drawing-insert-grid[data-drawing-insert="cutout_rectangle"]{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:575.98px){
  .kac-drawing-insert-grid[data-drawing-insert="hole"],
  .kac-drawing-insert-grid[data-drawing-insert="cutout_rectangle"]{grid-template-columns:1fr}
  .kac-drawing-modal-actions{justify-content:flex-start}
}

/* v8.0.58: Der 2D-Editor arbeitet als eigener Konfiguratorbereich.
   Materialstärke, Menge und Ergebnis werden im Dialog gespiegelt, damit der
   Kunde die Zeichnung ohne Wechsel zum normalen Formular direkt bestellen kann. */
.kac-drawing-config-panel{display:grid;grid-template-columns:minmax(10rem,1fr) minmax(8rem,.8fr) minmax(13rem,1.2fr) minmax(9rem,1fr) minmax(9rem,1fr);gap:.7rem;padding:.75rem .85rem;border-bottom:1px solid #e8edf2;background:#fff}
.kac-drawing-config-card{display:grid;gap:.3rem;align-content:start;min-width:0}
.kac-drawing-config-card label,.kac-drawing-config-card span{font-size:.82rem;font-weight:700;color:#43515e;margin:0}
.kac-drawing-config-card .form-select,.kac-drawing-config-card .form-control{min-height:38px;border:1px solid #cbd5df;border-radius:.5rem;background:#fff}
.kac-drawing-result-card{border:1px solid #d9e5ef;border-radius:.65rem;padding:.55rem .65rem;background:#f8fafc}
.kac-drawing-result-card strong{display:block;color:#123b38;font-size:1.05rem;line-height:1.2;white-space:normal;overflow-wrap:anywhere}
.kac-drawing-object{pointer-events:auto;cursor:pointer;vector-effect:non-scaling-stroke}
.kac-drawing-object.is-candidate{fill:rgba(246,180,75,.18);stroke:#b7791f;stroke-width:4;stroke-dasharray:10 6}
.kac-drawing-object.is-selected{stroke:#0f172a!important;stroke-width:7!important;filter:drop-shadow(0 0 4px rgba(15,23,42,.2))}
#kac-drawing-set-outer,#kac-drawing-connect-cutout{font-weight:700}
@media(max-width:991.98px){.kac-drawing-config-panel{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575.98px){.kac-drawing-config-panel{grid-template-columns:1fr}.kac-drawing-result-card strong{font-size:1rem}}


/* Eigene Zeichnung als eigener Arbeitsbereich:
   Sobald der Zeichenmodus aktiv ist, werden die normalen Rechnerfelder und
   Ergebnisboxen ausgeblendet. Materialstärke, Anzahl, Ergebnis und Warenkorb
   befinden sich dann ausschließlich im 2D-Editor. */
#kemper-area-calculator.kac-drawing-workspace-active .kac-standard-config-only {
  display: none !important;
}
#kemper-area-calculator.kac-drawing-workspace-active .kac-input-panel {
  grid-column: 1 / -1;
}
#kemper-area-calculator.kac-drawing-workspace-active .kac-drawing-fields {
  display: block !important;
}
#kemper-area-calculator.kac-drawing-workspace-active .kac-drawing-launch {
  border: 1px solid rgba(17, 24, 39, .12);
  border-radius: 14px;
  padding: 16px;
  background: #f8fafc;
}
.kac-drawing-modal-actions #kac-drawing-cart {
  font-weight: 700;
}
.kac-drawing-toolbar-main #kac-drawing-connect-cutout {
  font-weight: 700;
}

/* v8.0.61: numerische Objektbearbeitung im 2D-Editor. */
.kac-drawing-object-panel{
  display:flex;
  gap:.55rem;
  align-items:center;
  flex-wrap:wrap;
  padding:.65rem .85rem;
  border-top:1px solid #e6edf3;
  background:#f8fafc;
}
.kac-drawing-object-panel strong{margin-right:.35rem;color:#24313d}
.kac-drawing-object-panel label{display:flex;align-items:center;gap:.3rem;margin:0;font-weight:700;color:#43515e}
.kac-drawing-object-panel input{width:6.2rem;min-height:34px;border:1px solid #cbd5df;border-radius:.45rem;padding:.3rem .5rem;text-align:right;background:#fff}
.kac-drawing-object-panel input:disabled{background:#eef2f6;color:#8a97a3}
@media(max-width:575.98px){.kac-drawing-object-panel{align-items:stretch}.kac-drawing-object-panel label{width:100%;justify-content:space-between}.kac-drawing-object-panel input{width:8rem}}

/* v8.0.62 Werkzeugpalette: Illustrator-ähnliche Tools für den 2D-Editor */
.kac-drawing-tool-palette,.kac-drawing-tool-actions{display:flex;gap:.45rem;flex-wrap:wrap;align-items:center}
.kac-drawing-tool-palette{padding:.35rem;border:1px solid #dbe4ec;border-radius:.65rem;background:#fff}
.kac-drawing-tool-palette .btn.active{background:#00645f;color:#fff;border-color:#00645f;box-shadow:0 0 0 .12rem rgba(0,100,95,.18)}
.kac-drawing-tool-status{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .55rem;border-radius:999px;background:#eef6f5;color:#43515e;font-size:.86rem}
.kac-drawing-canvas.is-select-mode{cursor:default}
.kac-drawing-canvas.is-pen-mode{cursor:crosshair}
@media(max-width:575.98px){.kac-drawing-tool-palette,.kac-drawing-tool-actions{display:grid;grid-template-columns:1fr 1fr}.kac-drawing-tool-status{margin-top:.45rem}}


/* v8.0.64: strukturierte CAD/CAM-Werkzeuggruppen */
.kac-drawing-tool-group{display:flex;gap:.35rem;flex-wrap:wrap;align-items:center;padding:.25rem;border-right:1px solid #e1e8ef}
.kac-drawing-tool-group:last-child{border-right:0}
.kac-drawing-tool-group [data-cad-object],.kac-drawing-tool-group [data-cad-action]{white-space:nowrap}
.kac-drawing-object[type="polygon"]{cursor:grab}
@media(max-width:767.98px){.kac-drawing-tool-group{border-right:0;border-bottom:1px solid #e1e8ef}.kac-drawing-tool-group:last-child{border-bottom:0}}

/* v8.0.68: Illustrator-ähnliches Werkzeugkonzept */
.kac-drawing-canvas.is-shape-mode{cursor:crosshair}
.kac-drawing-tool-group [data-drawing-tool]{white-space:nowrap}
.kac-drawing-tool-status{max-width:100%;line-height:1.35}


/* v8.0.68: Profi-Editor Bedienung */
.kac-drawing-workspace-card small{display:block;margin-top:.25rem;color:#6b7785;font-size:.78rem}
.kac-drawing-workspace-size{display:flex;align-items:center;gap:.35rem}
.kac-drawing-workspace-size input{max-width:5.8rem;text-align:right}
.kac-drawing-object-panel{position:relative;border-top:1px solid #e3e9ef;border-bottom:1px solid #e3e9ef;background:#fbfcfe}
.kac-drawing-object-panel strong::after{content:' – Maße direkt eingeben wie im Eigenschaftenfenster';font-weight:400;color:#6f7d89;margin-left:.35rem}
.kac-drawing-object-panel input:not(:disabled){box-shadow:inset 0 0 0 1px rgba(44,123,229,.08)}
.kac-drawing-bg{fill:#f8fafc;stroke:#c7d3df;stroke-width:1}


/* v8.0.69: kompakte Arbeitsflächen-Einstellung unter der Zeichenfläche */
.kac-drawing-workspace-card{display:none!important}
.kac-drawing-workspace-compact{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:.35rem;
  padding:.35rem .55rem;
  margin:.25rem 0 .45rem;
  color:#66727f;
  font-size:.78rem;
  line-height:1.2;
  background:#f8fafc;
  border:1px solid #e4ebf2;
  border-radius:.45rem;
}
.kac-drawing-workspace-compact input{
  width:4.9rem;
  min-height:26px;
  padding:.15rem .35rem;
  border:1px solid #cfd9e3;
  border-radius:.35rem;
  background:#fff;
  color:#24313d;
  text-align:right;
  font-size:.78rem;
}
.kac-drawing-workspace-compact span:first-child{font-weight:700;color:#43515e}
@media(max-width:575.98px){
  .kac-drawing-workspace-compact{justify-content:flex-start;flex-wrap:wrap}
}


/* v8.0.71: strukturierte, robuste Werkzeug-Eingabe */
.kac-drawing-insert-panel.is-open{display:grid!important;position:relative;z-index:5}
.kac-drawing-toolbar [data-drawing-tool],.kac-drawing-toolbar [data-cad-object],.kac-drawing-toolbar [data-cad-action]{pointer-events:auto}
.kac-drawing-insert-grid{align-items:end}
.kac-drawing-polyline.is-drawing-draft{stroke-dasharray:none;opacity:.9}

.kac-dxf-upload-input{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;}
.kac-dxf-upload-label,.kac-dxf-upload-button{margin:0;cursor:pointer;}
.kac-drawing-import-group{border-left:1px solid rgba(0,0,0,.12);padding-left:.5rem;}

.kac-drawing-object.is-imported{fill:none;stroke:#1d4ed8;stroke-width:4;stroke-dasharray:none}
.kac-drawing-object.is-imported.is-selected{stroke:#0f172a!important}

/* v8.0.79: DXF-Importe als saubere technische Kontur darstellen, ohne gestrichelte Hilfs-/Ausschnitt-Optik. */
.kac-drawing-object.is-dxf-import{fill:none!important;stroke:#00645f!important;stroke-width:3!important;stroke-dasharray:none!important;filter:none!important}
.kac-drawing-object.is-dxf-import.is-selected{stroke:#0f172a!important;stroke-width:5!important}


/* 8.0.80: DXF/Editor-Stabilisierung
   Der SVG-Arbeitsbereich darf nicht unter die Eingabe-/Eigenschaftenleisten laufen.
   Außerdem wird Textselektion im Editor verhindert, damit beim Anklicken/Draggen
   nicht Toolbar-Text blau markiert vor der Zeichnung liegt. */
.kac-drawing-modal, .kac-drawing-modal *{user-select:none}
.kac-drawing-modal input, .kac-drawing-modal textarea{user-select:text}
.kac-drawing-modal-dialog{overflow:auto}
.kac-drawing-modal .kac-drawing-editor{height:auto;min-height:100%;display:flex;flex-direction:column;overflow:visible}
.kac-drawing-modal .kac-drawing-canvas{height:520px;min-height:520px;flex:0 0 auto;position:relative;z-index:1;overflow:visible}
.kac-drawing-workspace-compact,.kac-drawing-point-panel,.kac-drawing-object-panel,.kac-drawing-meta{position:relative;z-index:2;background:#fff}
.kac-drawing-object.is-dxf-import{vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}


/* 8.0.81: Footer einklappbar, damit DXF und Arbeitsfeld nicht verdeckt werden. */
.kac-drawing-footer{position:relative;z-index:2;background:#fff;border-top:1px solid #dfe7ef;box-shadow:0 -1px 0 rgba(15,23,42,.04)}
.kac-drawing-footer-toggle{width:100%;display:flex;align-items:center;gap:.45rem;padding:.42rem .65rem;border:0;background:#f8fafc;color:#24313d;text-align:left;cursor:pointer;font-size:.86rem}
.kac-drawing-footer-toggle:hover{background:#eef6f5}
.kac-drawing-footer-toggle small{font-size:.78rem;color:#66727f;font-weight:400;margin-left:.25rem}
.kac-drawing-footer-arrow{display:inline-flex;width:1.1rem;justify-content:center;transition:transform .15s ease;color:#00645f;font-weight:800}
.kac-drawing-footer:not(.is-collapsed) .kac-drawing-footer-arrow{transform:rotate(90deg)}
.kac-drawing-footer-body{display:block;background:#fff}
.kac-drawing-footer.is-collapsed .kac-drawing-footer-body{display:none!important}
.kac-drawing-footer .kac-drawing-workspace-compact{margin:0;border-left:0;border-right:0;border-radius:0;background:#fbfcfe}
.kac-drawing-footer .kac-drawing-point-panel,.kac-drawing-footer .kac-drawing-object-panel,.kac-drawing-footer .kac-drawing-meta{margin:0;border-left:0;border-right:0}
.kac-drawing-modal .kac-drawing-canvas{display:block;width:100%;max-width:100%;margin:0 auto 0;overflow:visible;position:relative;z-index:1;background:#f8fafc}
.kac-drawing-modal .kac-drawing-editor{gap:0}


/* 8.0.82: Illustrator-aehnliche Ankerbearbeitung fuer importierte/ausgewaehlte Pfade. */
.kac-drawing-object-anchor{fill:#fff;stroke:#0f766e;stroke-width:3;cursor:move;vector-effect:non-scaling-stroke;pointer-events:all}
.kac-drawing-object-anchor:hover{fill:#ccfbf1;stroke-width:4}

/* 8.0.108 Profi-CAD Bedienung: aktive Illustrator-ähnliche Werkzeugzustände */
.kac-drawing-canvas.is-pen-mode{cursor:crosshair}
.kac-drawing-canvas.is-select-mode{cursor:default}
.kac-drawing-tool-palette [data-drawing-tool].active,
.kac-drawing-toolbar [data-drawing-tool].active{background:#00645f!important;color:#fff!important;border-color:#00645f!important;box-shadow:0 0 0 .14rem rgba(0,100,95,.18)}
.kac-drawing-object.is-selected{stroke-width:4;filter:drop-shadow(0 0 2px rgba(0,100,95,.35))}
.kac-drawing-object-anchor{r:7px}
.kac-drawing-polyline.is-drawing-draft{stroke-dasharray:0;opacity:.95}

/* 9.0.13: Live-Fertigungsmaße direkt an jeder Konturkante und Winkelgrad im Eck. */
.kac-plate-wrap{position:relative;overflow:visible}
.kac-preview-measure-overlay{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);overflow:visible;pointer-events:none;z-index:8;display:none}
.kac-preview-side-label,.kac-preview-angle-label{font-family:Arial,sans-serif;font-weight:700;paint-order:stroke;stroke:#fff;stroke-width:5px;stroke-linejoin:round}
.kac-preview-side-label{font-size:13px;fill:#075bad}
.kac-preview-side-guide-label{font-size:16px;fill:#075bad;stroke-width:6px}
.kac-preview-angle-label{font-size:12px;fill:#9b3d00}
@media(max-width:575.98px){.kac-preview-side-label{font-size:11px}.kac-preview-angle-label{font-size:10px}}

/* KCS 9.0.17: Advanced quadrilateral UX.
   The late selector intentionally wins over older generic display:grid rules. */
.kac-box [data-quadrilateral-mode-group="simple"][data-quadrilateral-mode-active="0"]{display:none!important;}
.kac-box [data-quadrilateral-mode-group="advanced"][data-quadrilateral-mode-active="0"]{display:none!important;}
.kac-quadrilateral-advanced .kac-quadrilateral-sides-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));
  gap:1rem;
}
.kac-quadrilateral-advanced .kac-quadrilateral-sides-grid .input-group{
  grid-template-columns:minmax(7.25rem,1fr) 3.75rem;
}
.kac-quadrilateral-advanced .kac-quadrilateral-sides-grid .form-control{
  min-width:7.25rem;
  min-height:48px;
  padding:.65rem .8rem;
  font-size:1.08rem;
  font-weight:600;
}
@media(max-width:575.98px){
  .kac-quadrilateral-advanced .kac-quadrilateral-sides-grid{grid-template-columns:1fr;}
}

/* KCS 9.0.19: technische Außenbemaßung + kompakter Eingabebereich. */
.kac-preview-measure-overlay{overflow:visible!important}
.kac-preview-dimension-line,
.kac-preview-dimension-extension,
.kac-preview-dimension-tick{
  stroke:#6d7b88;
  stroke-width:1;
  vector-effect:non-scaling-stroke;
  shape-rendering:geometricPrecision;
}
.kac-preview-dimension-extension{stroke:#9aa5af;stroke-dasharray:2 2}
.kac-preview-dimension-tick{stroke:#075bad;stroke-width:1.2}
.kac-preview-side-label{font-size:12.5px;letter-spacing:.01em}
.kac-preview-side-label-vertical{dominant-baseline:middle}
.kac-preview-height-line{stroke:#075bad;stroke-width:1.15;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}
.kac-preview-height-guide-line{stroke:#8ca6bf;stroke-dasharray:3 3}
.kac-preview-height-label{fill:#075bad;dominant-baseline:middle}
.kac-box input[type="number"].kac-replace-input-active{background:#fffef8;border-color:#6f9fd0;box-shadow:0 0 0 .14rem rgba(7,91,173,.12)}

.kac-input-panel .kac-panel-title{margin-bottom:.55rem}
.kac-config-top-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.55rem .7rem;
}
.kac-config-top-grid .kac-field{margin-bottom:.5rem}
.kac-input-panel>.kac-field,
.kac-input-panel>.kac-two-cols,
.kac-input-panel>.kac-quadrilateral-advanced{margin-bottom:.6rem}
.kac-input-panel .kac-field label{margin-bottom:.2rem}
.kac-input-panel .kac-field small{margin-top:.15rem;line-height:1.2}

.kac-quadrilateral-mode-field{margin-bottom:.55rem!important}
.kac-quadrilateral-mode-field small{font-size:.78rem;line-height:1.15}
.kac-quadrilateral-advanced .kac-quadrilateral-sides-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.45rem .65rem;
  margin-bottom:.5rem;
}
.kac-quadrilateral-advanced .kac-quadrilateral-sides-grid .kac-field{margin-bottom:0}
.kac-quadrilateral-advanced .kac-quadrilateral-sides-grid .form-control,
.kac-quadrilateral-advanced .kac-quadrilateral-sides-grid .input-group-text,
.kac-quadrilateral-advanced .kac-angle-ab-field .form-control,
.kac-quadrilateral-advanced .kac-angle-ab-field .input-group-text{
  min-height:42px;
  height:42px;
  padding-top:.42rem;
  padding-bottom:.42rem;
}
.kac-quadrilateral-advanced .kac-angle-ab-field{margin:.15rem 0 .45rem}
.kac-quadrilateral-advanced .kac-angle-ab-field small{font-size:.79rem}
.kac-input-panel .kac-radius-field{margin-bottom:.6rem}
.kac-input-panel .kac-radius-field .form-control,
.kac-input-panel .kac-radius-field .input-group-text{min-height:42px;height:42px}
.kac-input-panel .kac-radius-field small{font-size:.78rem}

@media(max-width:575.98px){
  .kac-config-top-grid{grid-template-columns:1fr;gap:.45rem}
  .kac-quadrilateral-advanced .kac-quadrilateral-sides-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}
  .kac-quadrilateral-advanced .kac-quadrilateral-sides-grid .input-group{grid-template-columns:minmax(0,1fr) 3.35rem}
  .kac-quadrilateral-advanced .kac-quadrilateral-sides-grid .form-control{font-size:1rem;padding-left:.5rem;padding-right:.5rem}
}
@media(max-width:390px){
  .kac-quadrilateral-advanced .kac-quadrilateral-sides-grid{grid-template-columns:1fr}
}

/* KCS 9.0.20: kollisionsfreie Staerkenanzeige + kompakte A/B/C/D-Zeilen. */
.kac-preview-head{
  gap:.75rem;
}
.kac-preview-head-meta{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:.7rem;
  min-width:0;
}
.kac-preview-head .kac-thickness-preview{
  position:static!important;
  right:auto!important;
  top:auto!important;
  transform:none!important;
  z-index:20;
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:.42rem;
  margin:0!important;
  padding:.28rem .55rem;
  border:1px solid #cbd5df;
  border-radius:.45rem;
  background:#fff;
  color:#263646;
  font-size:.82rem;
  line-height:1;
  box-shadow:0 1px 3px rgba(0,0,0,.05);
  white-space:nowrap;
}
.kac-preview-head .kac-thickness-preview span{
  color:#263646;
  font-size:.82rem;
}
.kac-preview-head .kac-thickness-preview strong{
  color:#0b5fc1;
  font-variant-numeric:tabular-nums;
}
.kac-preview-head .kac-thickness-bar{
  width:7px;
  min-width:7px;
  max-height:24px;
  height:12px;
}

.kac-quadrilateral-advanced .kac-quadrilateral-sides-list{
  display:flex;
  flex-direction:column;
  gap:.34rem;
  margin:0 0 .5rem;
  padding:.5rem .55rem;
  border:1px solid #e0e6ec;
  border-radius:.55rem;
  background:#fbfcfd;
}
.kac-quadrilateral-advanced .kac-quadrilateral-side-row{
  display:grid;
  grid-template-columns:4.6rem minmax(0,1fr);
  align-items:center;
  gap:.55rem;
  min-width:0;
}
.kac-quadrilateral-advanced .kac-quadrilateral-side-row label{
  margin:0!important;
  font-weight:600;
  white-space:nowrap;
}
.kac-quadrilateral-advanced .kac-quadrilateral-side-row .input-group{
  display:flex;
  width:100%;
  min-width:0;
}
.kac-quadrilateral-advanced .kac-quadrilateral-side-row .form-control,
.kac-quadrilateral-advanced .kac-quadrilateral-side-row .input-group-text{
  min-height:38px;
  height:38px;
  padding-top:.32rem;
  padding-bottom:.32rem;
}
.kac-quadrilateral-advanced .kac-quadrilateral-side-row .form-control{
  min-width:7.5rem;
  font-size:1rem;
  font-weight:600;
  font-variant-numeric:tabular-nums;
}
.kac-quadrilateral-advanced .kac-quadrilateral-side-row .input-group-text{
  flex:0 0 3.35rem;
  justify-content:center;
}

@media(max-width:575.98px){
  .kac-preview-head{
    align-items:flex-start;
  }
  .kac-preview-head-meta{
    flex-direction:column;
    align-items:flex-end;
    gap:.3rem;
  }
  .kac-preview-head .kac-thickness-preview{
    padding:.24rem .45rem;
  }
  .kac-quadrilateral-advanced .kac-quadrilateral-sides-list{
    padding:.42rem;
  }
  .kac-quadrilateral-advanced .kac-quadrilateral-side-row{
    grid-template-columns:4.15rem minmax(0,1fr);
    gap:.4rem;
  }
  .kac-quadrilateral-advanced .kac-quadrilateral-side-row .form-control{
    min-width:0;
  }
}

/* KCS 9.0.21: kompakte A-D Eingabe mit Einheit im Feld + getrennte Winkel A/B. */
.kac-quadrilateral-advanced .kac-quadrilateral-side-row{
  grid-template-columns:4.6rem minmax(8.25rem,10.75rem);
  justify-content:start;
}
.kac-quadrilateral-advanced .kac-compact-unit-input{
  position:relative;
  width:100%;
  max-width:10.75rem;
  min-width:0;
}
.kac-quadrilateral-advanced .kac-compact-unit-input::after{
  content:attr(data-unit);
  position:absolute;
  right:.72rem;
  top:50%;
  transform:translateY(-50%);
  color:#66717c;
  font-size:.82rem;
  font-weight:600;
  line-height:1;
  pointer-events:none;
  z-index:3;
}
.kac-quadrilateral-advanced .kac-compact-unit-input .form-control{
  width:100%;
  min-width:0;
  min-height:38px;
  height:38px;
  padding:.32rem 2.45rem .32rem .62rem;
  font-size:1rem;
  font-weight:600;
  font-variant-numeric:tabular-nums;
}
.kac-quadrilateral-advanced .kac-quadrilateral-angle-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.55rem;
  width:min(100%,22rem);
  margin:.05rem 0 .42rem;
}
.kac-quadrilateral-advanced .kac-quadrilateral-angle-item{
  display:grid;
  grid-template-columns:auto minmax(6.75rem,8rem);
  align-items:center;
  gap:.4rem;
  min-width:0;
}
.kac-quadrilateral-advanced .kac-quadrilateral-angle-item label{
  margin:0!important;
  font-weight:600;
  white-space:nowrap;
}
.kac-quadrilateral-advanced .kac-quadrilateral-angle-item .kac-compact-unit-input{
  max-width:8rem;
}
@media(max-width:575.98px){
  .kac-quadrilateral-advanced .kac-quadrilateral-side-row{
    grid-template-columns:4.15rem minmax(7.75rem,10.25rem);
  }
  .kac-quadrilateral-advanced .kac-quadrilateral-angle-grid{
    width:100%;
    gap:.4rem;
  }
  .kac-quadrilateral-advanced .kac-quadrilateral-angle-item{
    grid-template-columns:auto minmax(5.8rem,1fr);
    gap:.3rem;
  }
}

/* 9.0.21 fine-tuning: both angle controls fit in one compact row. */
.kac-quadrilateral-advanced .kac-quadrilateral-angle-item{
  grid-template-columns:auto minmax(4.9rem,5.75rem);
}
.kac-quadrilateral-advanced .kac-quadrilateral-angle-item .kac-compact-unit-input{
  max-width:5.75rem;
}
@media(max-width:575.98px){
  .kac-quadrilateral-advanced .kac-quadrilateral-angle-item{
    grid-template-columns:auto minmax(4.7rem,5.4rem);
  }
  .kac-quadrilateral-advanced .kac-quadrilateral-angle-item .kac-compact-unit-input{
    max-width:5.4rem;
  }
}

/* KCS 9.0.22: Winkel A/B wieder als ein gemeinsamer Geometrie-Parameter. */
.kac-quadrilateral-advanced .kac-angle-ab-field{
  display:grid;
  grid-template-columns:4.6rem minmax(6.2rem,8rem);
  align-items:center;
  justify-content:start;
  gap:.4rem;
  margin:.08rem 0 .42rem;
}
.kac-quadrilateral-advanced .kac-angle-ab-field > label{
  margin:0!important;
  font-weight:600;
  white-space:nowrap;
}
.kac-quadrilateral-advanced .kac-angle-ab-field .kac-compact-unit-input{
  max-width:8rem;
}
.kac-quadrilateral-advanced .kac-angle-ab-field > small{
  grid-column:2;
  margin-top:-.1rem;
  font-size:.78rem;
  line-height:1.15;
}
@media(max-width:575.98px){
  .kac-quadrilateral-advanced .kac-angle-ab-field{
    grid-template-columns:4.15rem minmax(6rem,7.5rem);
  }
  .kac-quadrilateral-advanced .kac-angle-ab-field > small{grid-column:1 / -1;margin-left:4.55rem;}
}

/* KCS 9.0.27: kompakte, gut lesbare Winkel-Eingaben. */
.kac-angle-fields .kac-angle-unit-input{
  position:relative;
  width:100%;
  min-width:0;
}
.kac-angle-fields .kac-angle-unit-input::after{
  content:attr(data-unit);
  position:absolute;
  top:50%;
  right:2rem;
  transform:translateY(-50%);
  color:#536170;
  font-size:.95rem;
  font-weight:700;
  line-height:1;
  pointer-events:none;
}
.kac-angle-fields .kac-angle-unit-input .form-control{
  width:100%;
  min-width:0;
  min-height:46px;
  padding:.58rem 3.15rem .58rem .75rem;
  color:#17212b;
  font-size:1.12rem;
  font-weight:700;
  font-variant-numeric:tabular-nums;
}
.kac-quadrilateral-advanced .kac-angle-ab-field{
  grid-template-columns:5.75rem minmax(5.25rem,5.9rem) minmax(0,1fr);
  gap:.35rem;
}
.kac-quadrilateral-advanced .kac-angle-ab-field .kac-compact-unit-input{
  max-width:5.9rem;
}
.kac-quadrilateral-advanced .kac-angle-ab-field .kac-compact-unit-input .form-control{
  padding-left:.5rem;
  padding-right:1.8rem;
  font-size:1.02rem;
}
.kac-quadrilateral-advanced .kac-angle-ab-field .kac-compact-unit-input::after{
  right:.55rem;
}
.kac-quadrilateral-advanced .kac-angle-ab-field > small{
  grid-column:2 / 4;
}
@media(max-width:575.98px){
  .kac-angle-fields .kac-angle-unit-input .form-control{
    min-height:44px;
    font-size:1.05rem;
  }
  .kac-quadrilateral-advanced .kac-angle-ab-field{
    grid-template-columns:5.65rem minmax(5.1rem,5.75rem) minmax(0,1fr);
  }
  .kac-quadrilateral-advanced .kac-angle-ab-field > small{
    grid-column:1 / -1;
    margin-left:0;
  }
}

/* KCS 9.0.33: Trapezfelder wie „4 Seiten + Winkel A/B“. */
.kac-trapezoid-fields.kac-quadrilateral-advanced{
  margin-top:.1rem;
}
.kac-trapezoid-fields>.kac-field{
  margin-bottom:.55rem;
}
.kac-trapezoid-fields .kac-trapezoid-axis-help{
  margin-top:.3rem;
  font-size:.79rem;
}
.kac-trapezoid-fields .kac-trapezoid-values-list{
  margin-bottom:.35rem;
}
.kac-trapezoid-fields .kac-quadrilateral-side-row label{
  overflow:visible;
}
.kac-trapezoid-offset-compact .form-control{
  padding-right:4.35rem!important;
  -moz-appearance:textfield;
}
.kac-trapezoid-offset-compact input[type="number"]::-webkit-inner-spin-button,
.kac-trapezoid-offset-compact input[type="number"]::-webkit-outer-spin-button{
  margin:0;
  -webkit-appearance:none;
}
.kac-trapezoid-offset-stepper{
  position:absolute;
  z-index:4;
  top:2px;
  right:2.05rem;
  bottom:2px;
  width:1.48rem;
  display:grid;
  grid-template-rows:1fr 1fr;
  min-width:0;
}
.kac-trapezoid-offset-stepper button{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  min-height:0;
  padding:0;
  border:1px solid #cfd8e3;
  border-radius:0;
  background:#f3f6f8;
  color:#17212b;
  font-size:.68rem;
  line-height:1;
  cursor:pointer;
  touch-action:none;
  user-select:none;
}
.kac-trapezoid-offset-stepper button+button{
  border-top:0;
}
.kac-trapezoid-offset-stepper button:hover,
.kac-trapezoid-offset-stepper button:focus-visible,
.kac-trapezoid-offset-stepper button.is-stepping{
  background:#e7f3f1;
  color:#00645f;
  outline:0;
}
.kac-trapezoid-fields #kac-trapezoid-offset-help{
  display:block;
  margin:.1rem 0 .25rem 5.15rem;
  line-height:1.35;
  color:#66727f;
}
@media(max-width:575.98px){
  .kac-trapezoid-fields #kac-trapezoid-offset-help{
    margin-left:0;
  }
}

/* KCS 9.0.37-9.0.39: mobile Live-Skizze, fest am sichtbaren Browserrand. */
.kac-mobile-preview-drawer{
  --kac-mobile-preview-top:0px;
  position:fixed!important;
  top:0!important;
  top:env(safe-area-inset-top,0px)!important;
  left:50%!important;
  z-index:99998!important;
  width:calc(100% - 1rem);
  max-width:32rem;
  width:min(calc(100% - 1rem),32rem);
  transform:translateX(-50%);
  pointer-events:none;
  color:#18232f;
  filter:drop-shadow(0 .3rem .7rem rgba(15,23,42,.16));
}
.kac-mobile-preview-drawer[hidden]{display:none!important}
.kac-mobile-preview-drawer.is-available{
  pointer-events:auto;
  visibility:visible!important;
  opacity:1;
  animation:kac-mobile-preview-enter .12s ease-out both;
}
@keyframes kac-mobile-preview-enter{
  from{opacity:0;transform:translate(-50%,0)}
  to{opacity:1;transform:translate(-50%,0)}
}
.kac-mobile-preview-toggle{
  display:grid;
  grid-template-columns:2.35rem minmax(0,1fr) 2.35rem;
  align-items:center;
  width:100%;
  min-height:42px;
  margin:0;
  padding:.42rem .5rem;
  border:1px solid #c9d1d9;
  border-radius:0 0 .65rem .65rem;
  background:rgba(238,241,243,.97);
  color:#26313d;
  box-shadow:0 1px 0 rgba(255,255,255,.75) inset;
  font:inherit;
  font-size:.9rem;
  font-weight:700;
  line-height:1.15;
  text-align:center;
  cursor:pointer;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
.kac-mobile-preview-toggle:focus-visible{
  outline:3px solid rgba(0,100,95,.25);
  outline-offset:2px;
}
.kac-mobile-preview-handle{
  display:block;
  width:1.45rem;
  height:.24rem;
  margin:auto;
  border-radius:999px;
  background:#a8b0b7;
}
.kac-mobile-preview-label{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kac-mobile-preview-chevron{
  display:block;
  width:.65rem;
  height:.65rem;
  margin:auto;
  border-right:2px solid #56616b;
  border-bottom:2px solid #56616b;
  transform:rotate(45deg) translate(-1px,-1px);
  transition:transform .2s ease;
}
.kac-mobile-preview-drawer.is-open .kac-mobile-preview-chevron{
  transform:rotate(225deg) translate(-1px,-1px);
}
.kac-mobile-preview-panel{
  max-height:0;
  overflow:hidden;
  visibility:hidden;
  opacity:0;
  transform:translateY(-.45rem);
  border:0 solid #c9d1d9;
  border-top:0;
  background:#fff;
  transition:max-height .26s ease,opacity .18s ease,transform .24s ease,visibility 0s linear .26s;
}
.kac-mobile-preview-drawer.is-open .kac-mobile-preview-toggle{
  border-radius:0;
  background:rgba(232,236,239,.99);
}
.kac-mobile-preview-drawer.is-open .kac-mobile-preview-panel{
  max-height:calc(100vh - var(--kac-mobile-preview-top) - 50px);
  max-height:calc(100dvh - var(--kac-mobile-preview-top) - 50px);
  max-height:var(--kac-mobile-preview-panel-height,calc(100dvh - var(--kac-mobile-preview-top) - 50px));
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  visibility:visible;
  opacity:1;
  transform:translateY(0);
  border-width:0 1px 1px;
  border-radius:0 0 .75rem .75rem;
  transition:max-height .26s ease,opacity .2s ease,transform .24s ease,visibility 0s;
  -webkit-overflow-scrolling:touch;
}
.kac-preview.is-in-mobile-drawer{
  width:100%!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.kac-preview.is-in-mobile-drawer .kac-preview-head{
  align-items:center;
  padding:.55rem .7rem!important;
  gap:.45rem;
  background:#fff;
}
.kac-preview.is-in-mobile-drawer .kac-preview-head>strong{font-size:.92rem}
.kac-preview.is-in-mobile-drawer .kac-preview-head-meta{
  flex-direction:row;
  align-items:center;
  gap:.35rem;
}
.kac-preview.is-in-mobile-drawer .kac-preview-head .kac-thickness-preview{
  padding:.22rem .38rem;
  font-size:.76rem;
}
.kac-preview.is-in-mobile-drawer .kac-preview-stage{
  box-sizing:border-box;
  min-height:calc(var(--kac-mobile-preview-side,280px) + 3.25rem)!important;
  padding:1.65rem .75rem 1rem!important;
  overflow:visible;
}
.kac-preview.is-in-mobile-drawer .kac-plate-wrap{
  width:min(100%,var(--kac-mobile-preview-side,280px))!important;
  height:var(--kac-mobile-preview-side,280px)!important;
  margin:0!important;
}
.kac-preview.is-in-mobile-drawer .kac-dimension-width{
  top:1.25rem!important;
  width:240px!important;
  max-width:82%!important;
}
.kac-preview.is-in-mobile-drawer .kac-dimension-height{display:none!important}
.kac-preview.is-in-mobile-drawer .kac-preview-status{
  margin:0!important;
  padding:.55rem .7rem!important;
  border-width:1px 0 0!important;
  border-radius:0!important;
  font-size:.82rem;
  line-height:1.3;
}
@media(max-width:390px){
  .kac-mobile-preview-drawer{width:calc(100% - .5rem)}
  .kac-mobile-preview-toggle{min-height:40px;font-size:.86rem}
  .kac-preview.is-in-mobile-drawer .kac-preview-head-meta>span:first-child{display:none}
  .kac-preview.is-in-mobile-drawer .kac-preview-stage{padding-left:.35rem!important;padding-right:.35rem!important}
}
@media(min-width:992px){
  .kac-mobile-preview-drawer{display:none!important}
}
@media(prefers-reduced-motion:reduce){
  .kac-mobile-preview-drawer.is-available{animation:none}
  .kac-mobile-preview-panel,.kac-mobile-preview-chevron{transition:none!important}
}

/* KCS 9.0.45: einfacher Standardkauf, optionale Profi-Funktionen. */
.kac-advanced-toggle-wrap{
  margin:-.05rem 0 .75rem;
}
.kac-advanced-toggle{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:.35rem .75rem;
  width:100%;
  min-height:48px;
  padding:.65rem .8rem;
  border:1px solid #d7e0e8;
  border-radius:.65rem;
  background:#fff;
  color:#26313d;
  text-align:left;
  cursor:pointer;
}
.kac-advanced-toggle::after{
  content:"";
  width:.62rem;
  height:.62rem;
  border-right:2px solid #65717c;
  border-bottom:2px solid #65717c;
  transform:rotate(45deg) translate(-2px,-2px);
  transition:transform .18s ease;
}
.kac-advanced-options-open .kac-advanced-toggle::after{
  transform:rotate(225deg) translate(-1px,-1px);
}
.kac-advanced-toggle:hover,
.kac-advanced-toggle:focus-visible{
  border-color:#00645f;
  background:#f7fcfb;
  outline:0;
  box-shadow:0 0 0 .18rem rgba(0,100,95,.1);
}
.kac-advanced-toggle-title{
  display:block;
  font-weight:800;
  line-height:1.2;
}
.kac-advanced-toggle-summary{
  display:block;
  grid-column:1;
  color:#66727f;
  font-size:.8rem;
  line-height:1.25;
}
.kac-box.kac-rectangle-basic:not(.kac-advanced-options-open) .kac-quadrilateral-mode-field[data-kac-active="1"],
.kac-box.kac-rectangle-basic:not(.kac-advanced-options-open) .kac-angle-fields[data-kac-active="1"],
.kac-box.kac-rectangle-basic:not(.kac-advanced-options-open) .kac-quadrilateral-advanced[data-shape-group="rectangle"][data-kac-active="1"],
.kac-box.kac-rectangle-basic:not(.kac-advanced-options-open) .kac-radius-field[data-kac-active="1"]{
  display:none!important;
}

/* Preis und Kaufaktion bleiben sichtbar; technische Details sind einklappbar. */
.kac-result-details{
  margin-top:.85rem;
  border-top:1px solid #e1e7ed;
  padding-top:.75rem;
}
.kac-result-details>summary{
  display:list-item;
  color:#00645f;
  font-weight:750;
  cursor:pointer;
  user-select:none;
}
.kac-result-details>summary:focus-visible{
  outline:3px solid rgba(0,100,95,.18);
  outline-offset:3px;
  border-radius:.2rem;
}
.kac-result-details .kac-result-list{
  margin-top:.75rem;
}

/* KCS 9.0.46: eindeutiger mobiler Zugang zur vorhandenen Live-Skizze. */
.kac-mobile-preview-action{
  display:none;
  align-items:center;
  justify-content:center;
  gap:.65rem;
  width:100%;
  min-height:48px;
  margin-top:.75rem;
  padding:.65rem .8rem;
  border:1px solid #00645f;
  border-radius:.62rem;
  background:#f3fbfa;
  color:#005954;
  font:inherit;
  font-weight:800;
  line-height:1.2;
  cursor:pointer;
}
.kac-mobile-preview-action[hidden]{display:none!important}
.kac-mobile-preview-action:hover,
.kac-mobile-preview-action:focus-visible{
  border-color:#004f4b;
  background:#e8f7f5;
  outline:3px solid rgba(0,100,95,.16);
  outline-offset:1px;
}
.kac-mobile-preview-action:disabled{
  border-color:#cbd5de;
  background:#f4f6f8;
  color:#75808a;
  cursor:not-allowed;
  opacity:1;
}
.kac-mobile-preview-action-icon{
  position:relative;
  display:block;
  width:1.65rem;
  height:1.15rem;
  flex:0 0 auto;
  border:2px solid currentColor;
  border-radius:.18rem;
}
.kac-mobile-preview-action-icon::after{
  content:"";
  position:absolute;
  right:.2rem;
  bottom:.18rem;
  left:.2rem;
  height:.38rem;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:skewX(-28deg);
}
.kac-mobile-preview-action.is-open .kac-mobile-preview-action-icon::after{
  right:.32rem;
  left:.32rem;
  height:.2rem;
  border-right:0;
  transform:none;
}

/* Mobile Kaufleiste: nur Spiegel der vorhandenen Preis-/Submit-Komponenten. */
.kac-mobile-purchase-bar{
  position:fixed;
  right:.5rem;
  bottom:max(.5rem,env(safe-area-inset-bottom,0px));
  left:.5rem;
  z-index:99997;
  display:grid;
  grid-template-columns:minmax(7.5rem,.72fr) minmax(10rem,1.28fr);
  align-items:center;
  gap:.65rem;
  max-width:32rem;
  margin:0 auto;
  padding:.55rem;
  border:1px solid #cbd5de;
  border-radius:.8rem;
  background:rgba(255,255,255,.98);
  box-shadow:0 -.2rem 1.1rem rgba(15,23,42,.18);
  color:#18232f;
  backdrop-filter:blur(8px);
}
.kac-mobile-purchase-bar[hidden]{display:none!important}
.kac-mobile-purchase-price{
  min-width:0;
  padding-left:.2rem;
}
.kac-mobile-purchase-price span{
  display:block;
  color:#66727f;
  font-size:.72rem;
  line-height:1.1;
}
.kac-mobile-purchase-price strong{
  display:block;
  overflow:hidden;
  color:#00645f;
  font-size:1.18rem;
  font-weight:850;
  line-height:1.2;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.kac-mobile-purchase-button{
  min-height:46px;
  padding:.65rem .75rem;
  border:1px solid #00645f;
  border-radius:.62rem;
  background:#00645f;
  color:#fff;
  font:inherit;
  font-weight:800;
  line-height:1.15;
  cursor:pointer;
}
.kac-mobile-purchase-button:hover,
.kac-mobile-purchase-button:focus-visible{
  background:#004f4b;
  border-color:#004f4b;
  outline:3px solid rgba(0,100,95,.2);
  outline-offset:1px;
}
@media(max-width:991.98px){
  .kac-box.kac-mobile-purchase-visible{padding-bottom:5.25rem}
  .kac-mobile-preview-action:not([hidden]){display:flex}
  .kac-result-details .kac-result-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:992px){
  .kac-mobile-preview-action{display:none!important}
  .kac-mobile-purchase-bar{display:none!important}
}
@media(max-width:359.98px){
  .kac-mobile-purchase-bar{grid-template-columns:minmax(6.5rem,.65fr) minmax(8.7rem,1.35fr);gap:.4rem;padding:.45rem}
  .kac-mobile-purchase-price strong{font-size:1.02rem}
  .kac-mobile-purchase-button{padding:.55rem .45rem;font-size:.88rem}
  .kac-result-details .kac-result-list{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .kac-advanced-toggle::after{transition:none}
}
