.ft-tec{--red:#c8202f;--dark:#25282a;--muted:#6b6f73;--line:#dedede;--soft:#f6f6f6;max-width:1050px;margin:30px auto;color:var(--dark);font-family:inherit}.ft-tec *{box-sizing:border-box}.ft-tec__brand{margin-bottom:28px}.ft-tec__kicker{display:block;color:var(--red);font-size:.82rem;font-weight:800;letter-spacing:.08em;margin-bottom:10px}.ft-tec h2{font-size:clamp(2.2rem,5vw,4.4rem);line-height:1.04;margin:0 0 18px;font-weight:500}.ft-tec h3{font-size:clamp(1.5rem,3vw,2.2rem);margin:0 0 16px}.ft-tec__brand p{font-size:1.15rem;line-height:1.75;color:var(--muted);max-width:900px}.ft-tec__steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0}.ft-tec__steps div{display:flex;align-items:center;gap:10px;padding:12px;border-top:3px solid var(--line);color:#8a8d90}.ft-tec__steps div.is-active{border-color:var(--red);color:var(--dark)}.ft-tec__steps span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--soft);font-weight:800}.ft-tec__panel{border:1px solid var(--line);border-radius:18px;padding:28px;background:#fff;box-shadow:0 12px 30px rgba(0,0,0,.05)}.ft-tec label{display:block;font-weight:800;margin:0 0 9px}.ft-tec textarea,.ft-tec select,.ft-tec input[type=text],.ft-tec input[type=email],.ft-tec input[type=file]{width:100%!important;border:1px solid var(--line)!important;border-radius:8px!important;padding:14px 15px!important;font:inherit!important;background:#fff!important;color:var(--dark)!important}.ft-tec textarea{font-size:1.05rem!important;line-height:1.6}.ft-tec__hint,.ft-tec__upload p{color:var(--muted);line-height:1.6}.ft-tec__examples{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 22px}.ft-tec__examples span,.ft-tec__secondary{border:1px solid var(--line)!important;background:#fff!important;color:var(--dark)!important;padding:11px 14px!important;border-radius:0!important;font:inherit!important;font-weight:700!important;cursor:pointer!important;text-decoration:none!important}.ft-tec .ft-tec__cta{display:inline-flex!important;align-items:stretch!important;justify-content:space-between!important;gap:20px!important;min-height:54px!important;border:0!important;border-radius:0!important;background:#c8202f!important;background-color:#c8202f!important;background-image:none!important;color:#fff!important;padding:0!important;text-decoration:none!important;font:inherit!important;font-weight:800!important;cursor:pointer!important;overflow:hidden!important;box-shadow:none!important}.ft-tec .ft-tec__cta span{display:flex!important;align-items:center!important;padding:0 20px!important;color:#fff!important;background:transparent!important}.ft-tec .ft-tec__cta b{display:grid!important;place-items:center!important;min-width:54px!important;background:rgba(0,0,0,.14)!important;color:#fff!important;font-size:1.35rem!important}.ft-tec .ft-tec__cta:hover,.ft-tec .ft-tec__cta:focus{background:#a91824!important;color:#fff!important}.ft-tec__message{min-height:22px;color:var(--red);font-weight:700;margin-top:10px}.ft-tec__grid,.ft-tec__cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.ft-tec__grid{grid-template-columns:repeat(2,1fr);margin:20px 0}.ft-tec__actions{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:24px}.ft-tec__status{padding:16px 18px;border-left:4px solid var(--red);background:#fff6f7;margin:20px 0;font-weight:800}.ft-tec__cards article{background:var(--soft);border:1px solid var(--line);padding:20px}.ft-tec__cards h4{margin:0 0 12px}.ft-tec__knowledge-card{grid-column:1 / -1}.ft-tec__cards ul{margin:0;padding-left:20px}.ft-tec__cards li+li{margin-top:8px}.ft-tec__material{background:#fff;border-left:4px solid var(--red);padding:12px;margin-bottom:10px}.ft-tec__material strong{display:block;margin-bottom:4px}.ft-tec__notice,.ft-tec__success{margin-top:18px;padding:16px 18px;background:#f7f7f7;border-left:4px solid var(--dark)}.ft-tec__success{border-left-color:#2f7a43;background:#f1f8f3}.ft-tec__ft12,.ft-tec__ft15{margin-top:20px;padding:22px;border:2px solid var(--red);background:#fff}.ft-tec__ft12 h4,.ft-tec__ft15 h4{font-size:1.35rem;margin:0 0 10px}.ft-tec__ft12 a,.ft-tec__ft15 a{color:var(--red);font-weight:800}.ft-tec__upload{margin:24px 0;padding:18px;background:var(--soft);border:1px solid var(--line)}.ft-tec__contact-title{margin-top:26px}.ft-tec__consent{display:flex!important;align-items:flex-start;gap:10px;font-weight:400!important;line-height:1.5}.ft-tec__consent input{width:auto!important;margin-top:4px}.ft-tec__consent a{color:var(--red)}
@media(max-width:760px){.ft-tec{margin:18px 0}.ft-tec__panel{padding:20px 16px}.ft-tec__steps{grid-template-columns:1fr}.ft-tec__grid,.ft-tec__cards{grid-template-columns:1fr}.ft-tec .ft-tec__cta,.ft-tec__secondary{width:100%!important}.ft-tec__actions{flex-direction:column-reverse}}


/* Version 0.5.0 – dialogbasierte technische Rückfragen */
.ft-tec__dialog-head {
  margin-bottom: 28px;
}
.ft-tec__question-count {
  display: block;
  margin-bottom: 10px;
  color: var(--muted);
  font-weight: 800;
}
.ft-tec__question-progress {
  height: 6px;
  overflow: hidden;
  background: #e8e8e8;
}
.ft-tec__question-progress span {
  display: block;
  height: 100%;
  width: 16.66%;
  background: var(--red);
  transition: width .25s ease;
}
.ft-tec__question-help {
  max-width: 760px;
  margin: -4px 0 22px;
  color: var(--muted);
  line-height: 1.6;
}
.ft-tec__answer-options {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 12px;
}
.ft-tec__answer {
  display: flex;
  align-items: center;
  gap: 13px;
  min-height: 64px;
  padding: 15px 17px;
  border: 1px solid var(--line);
  background: #fff;
  cursor: pointer;
  transition: border-color .15s ease, background .15s ease, transform .15s ease;
}
.ft-tec__answer:hover,
.ft-tec__answer:focus {
  border-color: var(--red);
  outline: none;
  transform: translateY(-1px);
}
.ft-tec__answer.is-selected {
  border-color: var(--red);
  background: #fff5f6;
  box-shadow: inset 4px 0 0 var(--red);
}
.ft-tec__answer-dot {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  border: 2px solid #a8aaac;
  border-radius: 50%;
  background: #fff;
}
.ft-tec__answer.is-selected .ft-tec__answer-dot {
  border: 5px solid var(--red);
}
.ft-tec__dialog-nav {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 28px;
}
.ft-tec__contact-step h3 {
  margin-bottom: 8px;
}
.ft-tec__contact-step .ft-tec__upload {
  margin: 22px 0;
}
@media(max-width:760px){
  .ft-tec__answer-options { grid-template-columns: 1fr; }
  .ft-tec__dialog-nav { flex-direction: column-reverse; }
  .ft-tec__dialog-nav .ft-tec__cta,
  .ft-tec__dialog-nav .ft-tec__secondary { width: 100%; }
}


/* Version 0.5.1 – Footer-Abstand und Übergänge */
.ft-tec {
  transition: margin-bottom .25s ease;
}

.ft-tec.is-result-open {
  margin-bottom: 320px;
}

.ft-tec__start,
.ft-tec__questions,
.ft-tec__result,
.ft-tec__dialog-stage,
.ft-tec__contact-step {
  animation: ftTecFadeIn .24s ease;
}

@keyframes ftTecFadeIn {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 760px) {
  .ft-tec.is-result-open {
    margin-bottom: 220px;
  }
}


.ft-tec__knowledge-card { grid-column: 1 / -1; }
.ft-tec__knowledge-links { display:grid; gap:12px; }
.ft-tec__knowledge-link { display:grid; gap:4px; padding:15px 16px; border:1px solid #e2e2e2; background:#fafafa; text-decoration:none !important; color:inherit !important; transition:transform .18s ease,border-color .18s ease; }
.ft-tec__knowledge-link:hover { transform:translateY(-2px); border-color:#b9b9b9; }
.ft-tec__knowledge-link strong { font-size:16px; }
.ft-tec__knowledge-link span { font-size:14px; line-height:1.45; color:#555; }
.ft-tec__knowledge-link b { margin-top:4px; color:#c8202f; font-size:13px; }


/* Version 0.8.5.3 – Typografie an Form-&-Technik-Seite angeglichen */
.ft-tec__kicker { font-size: 1rem !important; line-height: 1.35; }
.ft-tec h2 { font-size: clamp(2.15rem, 3.7vw, 3.45rem) !important; line-height: 1.08; }
.ft-tec__steps div { font-size: 1rem; line-height: 1.35; }
@media (max-width:760px) {
  .ft-tec__kicker { font-size: .95rem !important; }
  .ft-tec h2 { font-size: clamp(2rem, 9vw, 2.75rem) !important; }
  .ft-tec__steps div { font-size: 1rem; }
}

/* v0.9.2.3 – normalize contact form fields across theme/browser styles */
.ft-tec__contact-step .ft-tec__grid input[name="name"],
.ft-tec__contact-step .ft-tec__grid input[name="company"],
.ft-tec__contact-step .ft-tec__grid input[type="email"],
.ft-tec__contact-step .ft-tec__grid input[name="phone"]{
  width:100%!important;
  height:48px!important;
  min-height:48px!important;
  max-height:48px!important;
  padding:10px 14px!important;
  margin:0!important;
  border:1px solid var(--line)!important;
  border-radius:8px!important;
  background:#fff!important;
  color:var(--dark)!important;
  font:inherit!important;
  line-height:26px!important;
  box-shadow:none!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}
