/* Kontaktformular – Gestaltung nach CI Gerold Jensen (Akzent #df694d) */

.gjs-form { max-width: 100%; }

.gjs-form .gjs-field { margin: 0 0 18px; }

.gjs-form label {
  display: block;
  margin: 0 0 6px;
  font-weight: 600;
  color: #212934;
  font-size: 15px;
}

.gjs-form .gjs-required { color: #df694d; }

.gjs-form input[type="text"],
.gjs-form input[type="email"],
.gjs-form input[type="tel"],
.gjs-form textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 12px 14px;
  border: 1px solid #d9d8d6;
  border-radius: 4px;
  background: #fff;
  color: #4a4e57;
  font-family: inherit;
  font-size: 15px;
  line-height: 1.5;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.gjs-form textarea { min-height: 160px; resize: vertical; }

.gjs-form input:focus,
.gjs-form textarea:focus {
  outline: 0;
  border-color: #df694d;
  box-shadow: 0 0 0 3px rgba(223, 105, 77, .15);
}

.gjs-form input[aria-invalid="true"],
.gjs-form textarea[aria-invalid="true"] { border-color: #c0392b; }

/* Einwilligung */
.gjs-consent { display: flex; align-items: flex-start; gap: 10px; margin: 0 0 20px; }
.gjs-consent input[type="checkbox"] {
  width: 18px; height: 18px; margin: 2px 0 0; flex: 0 0 auto; accent-color: #df694d;
}
.gjs-consent label { font-weight: 400; font-size: 14px; line-height: 1.5; color: #4a4e57; margin: 0; }
.gjs-consent a { color: #df694d; text-decoration: underline; }

/* Honigtopf gegen einfache Bots – für Menschen unsichtbar */
.gjs-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.gjs-form button[type="submit"] {
  display: inline-block;
  border: 0;
  border-radius: 4px;
  background: #df694d;
  color: #fff;
  padding: 13px 30px;
  font-family: inherit;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: background .2s ease;
}

.gjs-form button[type="submit"]:hover:not([disabled]) { background: #dd5c3b; }
.gjs-form button[type="submit"][disabled] { opacity: .6; cursor: default; }

/* Rückmeldungen */
.gjs-note { margin: 16px 0 0; padding: 12px 16px; border-radius: 4px; font-size: 15px; }
.gjs-note-ok { background: #eef7f0; border: 1px solid #bcdcc6; color: #26603a; }
.gjs-note-err { background: #fdf0ee; border: 1px solid #f0c4bb; color: #9a3222; }
.gjs-field-error { display: block; margin-top: 5px; color: #c0392b; font-size: 13.5px; }

/* Bild in der zweiten Spalte auf volle Spaltenbreite */
.gjs-contact-image { margin: 0; }
.gjs-contact-image img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 4px;
}

@media (max-width: 800px) {
  .gjs-contact-image { margin-top: 30px; }

  /* Auf schmalen Viewports sind die übrigen Zeilen der Seite deutlich
     enger (20px). Der Kontaktbereich zieht hier nach, damit der Abstand
     nicht aus der Reihe fällt. */
  .gjs-contact-row {
    padding-top: 20px !important;
    padding-bottom: 40px !important;   /* unten mehr Luft zum Folgeblock */
  }
}
