/* Kontaktseite. Allgemeine Styles in custom.css / index.css. */

.kontakt-kopf { max-width: 45rem; margin-bottom: 3rem; }
.kontakt-kicker {
  display: block;
  font-size: .8rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--color-accent);
  margin-bottom: .4rem;
}
.kontakt-kopf h1 {
  font-size: clamp(1.8rem, 3.5vw, 2.6rem);
  line-height: 1.15em;
}

.kontakt-grid {
  display: grid;
  gap: 3rem;
  grid-template-columns: 1fr;
}
.kontakt-daten h2,
.kontakt-formular h2 {
  font-size: 1.25rem;
  font-weight: 600;
  margin-bottom: 1.25rem;
}
.kontakt-daten p { margin-bottom: 1.25rem; line-height: 1.6em; }
.kontakt-daten a { color: var(--color-accent); }
.kontakt-wunsch {
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--color-headings);
  margin: 2rem 0 .5rem;
}
.kontakt-hinweis { color: var(--color-text-grey); }

/* Formular */
.kontakt-formular label {
  display: block;
  margin-bottom: 1rem;
  font-weight: 600;
  font-size: .95rem;
}
.kontakt-formular input,
.kontakt-formular textarea {
  display: block;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;   /* Rahmen + Polster in die Breite einrechnen → kein Überlauf */
  margin-top: .4rem;
  padding: .7rem .9rem;
  font: inherit;
  font-weight: 400;
  color: var(--color-text);
  background: #fff;
  border: 2px solid var(--color-light);
  border-radius: var(--radius);
}
.kontakt-formular textarea { resize: vertical; }
/* Grid-Zellen dürfen schmaler werden als ihr Inhalt (verhindert seitlichen Überlauf) */
.kontakt-grid > * { min-width: 0; }
.kontakt-formular input:focus,
.kontakt-formular textarea:focus {
  outline: none;
  border-color: #9a958c; /* neutrales Grau statt Akzentrot */
}
.btn-kontakt {
  background: #4a4a4a; /* neutrales Grau, im Formularkontext ohne Warn-Wirkung */
  color: #fff;
  font-weight: 600;
  padding: .8rem 1.8rem;
  border-radius: 999px;
  border: 0;
  cursor: pointer;
  transition: transform .15s, background .15s;
}
.btn-kontakt:hover { transform: translateY(-2px); background: #2e2e2e; }

/* Honeypot ausblenden */
.hp { position: absolute; left: -9999px; height: 0; overflow: hidden; }

.form-success {
  background: #e7f4ec;
  border: 1px solid #b7dcc6;
  color: #1e7d4f;
  padding: 1rem 1.25rem;
  border-radius: var(--radius);
  line-height: 1.5em;
}
.form-error {
  background: #fbe9e9;
  border: 1px solid #f0c2c2;
  color: #a3201f;
  padding: .75rem 1.25rem;
  border-radius: var(--radius);
  margin-bottom: 1.25rem;
}
.form-error p { margin: .25rem 0; }

@media screen and (min-width: 50rem) {
  .kontakt-grid { grid-template-columns: 1fr 1.2fr; }
}
