/* ==========================================================================
   Timeless Motors · Contact Form Polish
   Shared layer for all public contact forms.
   ========================================================================== */

.kontakt-form{
  gap:clamp(18px,2vw,26px) !important;
}

.kontakt-form h3{
  margin:0;
}

.kontakt-form .form-section{
  border:0;
  margin:0;
  padding:0;
  min-width:0;
  display:grid;
  gap:16px;
}

.kontakt-form .form-section + .form-section{
  padding-top:20px;
  border-top:1px solid rgba(26,24,16,.12);
}

.kontakt-form .form-section-title{
  width:100%;
  padding:0 0 2px;
  margin:0;
  font-family:'JetBrains Mono','Consolas',monospace;
  font-size:10px;
  line-height:1.2;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--werkstatt-rot,var(--red,#C0392B));
}

.kontakt-form .input-row{
  align-items:start;
}

.kontakt-form .input-wrap{
  position:relative;
  min-width:0;
}

.kontakt-form .input-field,
.kontakt-form .input-select,
.kontakt-form .input-area{
  min-height:52px;
}

.kontakt-form input[type="file"].input-field{
  padding-top:14px;
  cursor:pointer;
}

.kontakt-form .input-area{
  min-height:128px;
}

.kontakt-form .input-field.is-invalid,
.kontakt-form .input-select.is-invalid,
.kontakt-form .input-area.is-invalid{
  border-color:var(--werkstatt-rot-tief,#8E2A1F) !important;
  box-shadow:0 0 0 2px rgba(142,42,31,.18) !important;
}

.kontakt-form .input-error{
  display:none;
  margin-top:7px;
  font-family:'Inter',sans-serif;
  font-size:13px;
  line-height:1.45;
  color:var(--werkstatt-rot-tief,#8E2A1F);
}

.kontakt-form .input-error[data-visible="true"]{
  display:block;
}

.kontakt-form .upload-preview{
  display:grid;
  gap:6px;
  margin-top:10px;
}

.kontakt-form .upload-preview[data-empty="true"]{
  display:none;
}

.kontakt-form .upload-preview span{
  display:block;
  padding:8px 10px;
  background:rgba(26,24,16,.06);
  border:1px solid rgba(26,24,16,.1);
  color:rgba(26,24,16,.72);
  font-family:'JetBrains Mono','Consolas',monospace;
  font-size:10px;
  letter-spacing:.08em;
  text-transform:uppercase;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.kontakt-form .input-hint{
  max-width:62ch;
}

.kontakt-form .input-hint a{
  color:var(--tinten-schwarz,var(--ink,#1A1810));
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}

.kontakt-form .form-status{
  margin:0;
  padding:12px 14px;
  border-radius:2px;
  font-family:'Inter',sans-serif;
  font-size:14px;
  line-height:1.55;
}

.kontakt-form .form-status strong{
  font-weight:700;
}

.kontakt-form .form-status[data-kind="ok"]{
  color:#1A1810;
  background:rgba(34,197,94,.13);
  border:1px solid rgba(34,197,94,.32);
}

.kontakt-form .form-status[data-kind="err"]{
  color:var(--werkstatt-rot-tief,#8E2A1F);
  background:rgba(192,57,43,.12);
  border:1px solid rgba(192,57,43,.26);
}

.kontakt-form .form-status[data-kind="info"]{
  color:rgba(26,24,16,.72);
  background:rgba(26,24,16,.06);
  border:1px solid rgba(26,24,16,.14);
}

.kontakt-form .form-submit[disabled]{
  opacity:.62;
  pointer-events:none;
}

.kontakt-form .tm-hp{
  position:absolute !important;
  left:-100vw !important;
  top:auto !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

@media (max-width:760px){
  .kontakt-form{
    gap:16px !important;
  }

  .kontakt-form .form-section{
    gap:12px;
  }

  .kontakt-form .form-section + .form-section{
    padding-top:16px;
  }

  .kontakt-form .form-section-title{
    font-size:9px;
    letter-spacing:.18em;
  }

  .kontakt-form .input-field,
  .kontakt-form .input-select{
    min-height:48px;
  }

  .kontakt-form .input-area{
    min-height:104px !important;
  }

  .kontakt-form .form-status{
    font-size:13px;
  }
}
