/* kontakt.css */

.kontakt-inner{display:grid;grid-template-columns:1fr 1.6fr;gap:var(--space-16);align-items:start;}
.kontakt-adresse h2,.kontakt-form h2{font-size:clamp(1.5rem,2.5vw,var(--fs-xl));margin-bottom:var(--space-8);line-height:1.15;}
.adresse-block{margin-bottom:var(--space-8);}
.adresse-label{font-family:var(--font-heading);font-size:var(--fs-xs);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--color-text-muted);display:block;margin-bottom:var(--space-2);}
.adresse-block address{font-style:normal;color:var(--color-text-muted);line-height:var(--lh-body);}
.adresse-block a{color:var(--color-ink);}
.adresse-block a:hover{color:var(--color-ink-deep);}

.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin-bottom:var(--space-6);}
.form-group{margin-bottom:var(--space-6);}
.form-label{font-family:var(--font-heading);font-size:var(--fs-xs);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--color-text-muted);display:block;margin-bottom:var(--space-2);}
.form-label span{text-transform:none;letter-spacing:0;opacity:.7;}
.form-control{width:100%;font-family:var(--font-body);font-size:var(--fs-base);color:var(--color-ink);background:var(--color-white);border:1px solid var(--color-border);border-radius:0;padding:var(--space-3) var(--space-4);box-sizing:border-box;transition:border-color .2s;-webkit-appearance:none;appearance:none;}
.form-control:focus{outline:none;border-color:var(--color-ink);}
textarea.form-control{min-height:9rem;resize:vertical;}
.form-hp{display:none;}

.form-message{margin-bottom:var(--space-8);padding:var(--space-4) var(--space-6);border-left:3px solid var(--color-ink);background:rgba(22,38,31,.05);font-size:var(--fs-sm);}
.form-message__ok{color:var(--color-ink);display:none;}
.form-message__err{color:#b03a3a;display:none;}
.form-message__err a{color:#b03a3a;}

.form-check{display:flex;gap:var(--space-3);align-items:flex-start;margin-bottom:var(--space-8);}
.form-check input[type=checkbox]{width:1rem;height:1rem;margin-top:.25rem;flex-shrink:0;cursor:pointer;accent-color:var(--color-ink);}
.form-check-label{font-family:var(--font-body);font-size:var(--fs-sm);color:var(--color-text-muted);}
.form-check-label a{color:var(--color-ink);}

@media(max-width:900px){
  .kontakt-inner{grid-template-columns:1fr;}
  .form-row{grid-template-columns:1fr;}
}

/* ---- Datei-Upload (Bewerbung) ---- */
.form-upload{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);min-height:8rem;padding:var(--space-6) var(--space-4);border:1px dashed var(--color-border);background:var(--color-off-white);text-align:center;cursor:pointer;transition:border-color .2s,background-color .2s;}
.form-upload:hover,.form-upload.is-dragover,.form-upload:focus-within{border-color:var(--color-ink);background:var(--color-white);}
.form-upload input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;}
.form-upload__icon{color:var(--color-accent);line-height:0;}
.form-upload__text{font-size:var(--fs-base);color:var(--color-ink);}
.form-upload__hint{font-family:var(--font-heading);font-size:var(--fs-xs);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--color-text-muted);}
.form-upload__file{font-family:var(--font-heading);font-size:var(--fs-sm);color:var(--color-ink);padding:var(--space-1) var(--space-3);border:1px solid var(--color-ink);margin-top:var(--space-2);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.form-upload.has-file{border-style:solid;border-color:var(--color-ink);}
.form-help{font-size:var(--fs-sm);color:var(--color-text-muted);margin-top:var(--space-2);}
